Python багц урсгалт чөлөөтэй, PyPI дээр илэрсэн бөгөөд дараах байдлаар тодорхойлогдсон байна хортой, уламжлалт мэдээлэл хулгайлагч хортой програм хангамж агуулсан. Гэсэн хэдий ч түүний гол онцлог нь түүний ачааллыг далдлах дэвшилтэт кодыг будлиантуулах техникийг ашиглах явдал бөгөөд энэ нь шинжилгээг онцгой хүндрэлтэй болгодог. Энэхүү хортой програм нь халдлагын гинжин хэлхээний туршид гурван давхаргыг давтан ашигладаг бөгөөд энэ нь гараар задлахад ихээхэн саад учруулдаг.
Манай хортой програм хангамжийн эрт сэрэмжлүүлгийн баг уг багцыг PyPI аюулгүй байдлын багт мэдэгдсэн бөгөөд тэд үүнийг хурдан устгасан. Энэ нийтлэлд бид дараах үе шатуудыг тайлбарлах болно урсгалт чөлөөтэй-ийн халдлага болон түүний зорилгыг нуухын тулд ашигладаг аргууд, мэдээлэл хулгайлагчийн хортой програм хангамж болон кодын будлиан хэрхэн хамтдаа ажилладагт анхаарлаа хандуулдаг.
Хуурамч хуудас: Infostealer-ийн хортой програм хангамж болон кодын будлиан
Infostealer хортой програм гэж юу вэ?
Infostealer хортой програм нь таны дижитал ертөнцөд зальтай хулгайч шиг ажилладаг. Энэ нь таны нууц үг, кредит картын дугаар эсвэл хувийн мэдээлэл гэх мэт мэдрэмтгий мэдээллийг танд анзааралгүйгээр чимээгүйхэн авдаг. Эдгээр програмууд нь таны бичсэн зүйлийг (түлхүүр тэмдэглэл) бүртгэж, хөтөчийг тань хулгайлж эсвэл төхөөрөмж дээрх файлуудыг сканнердаж үнэ цэнэтэй мэдээлэл цуглуулдаг. Хамгийн аймшигтай нь? Тэд анхаарал сарниулахгүй байхдаа гарамгай.
Кодын төөрөгдөл гэж юу вэ?
Код будлиантай болгох нь үндсэндээ зүйлсийг ил харагдахуйц газар нуух урлаг бөгөөд хакерууд хортой кодоо илрүүлэх, ойлгоход хэцүү болгохын тулд ихэвчлэн ашигладаг. Хэн нэгэн санаатайгаар төөрөгдүүлэх, зарим хэсгийг нь шифрлэх эсвэл вирусны эсрэг хэрэгсэл эсвэл судлаачдыг үгүйсгэхийн тулд харагдах байдлыг нь будлиантай байдлаар код бичиж байна гэж төсөөлөөд үз дээ. Энэ бол хортой програм хангамжийг удаан хугацаанд идэвхтэй байлгаж, илрүүлэхээс зайлсхийхэд тусалдаг ухаалаг боловч бухимдал төрүүлэм тактик юм.
ThreadFluent Infostealer хортой програмын давхаргын бөглөрөл
1. Гурвалсан шифрлэлт
Офускацийн процесс нь дотор нь суулгагдсан өндөр шифрлэгдсэн ашигтай ачааллаас эхэлдэг. чөлөөтэй.py файл. Анхны кодчилол болон тайлах үйл явцыг дараах байдлаар нэгтгэн дүгнэж болно:
encoded_data = base64_module.b64decode("... BASE-6 with encrypted payload, IV and RSA-encrypted keys…”); # … Sequential decryption: ChaCha20, Blowfish and AES … encrypted_payload = AES_Cipher.new(aes_key, AES_Cipher.MODE_CBC, iv=aes_iv).decrypt(encrypted_payload[16:]) final_payload = unpad_function(encrypted_payload, AES_Cipher.block_size) exec( zlib_module.decompress(bz2_module.decompress(final_payload)) ) Энэхүү төөрөгдүүлэх үйл явц нь дараахь зүйлийг агуулна.
- Шахалтынgzip болон bzip ашиглаж байна.
- Тэгш хэмт шифрлэлтChaCha20, Blowfish, болон AES ашиглан гинжин хэлхээтэй шифрлэлт.
- Тэгш бус шифрлэлтRSA нь тэгш хэмтэй түлхүүрүүдийг шифрлэхэд ашиглагддаг.
Үр дүнг Base64 дээр кодлож, дараах байдлаар оруулсан болно кодлогдсон_өгөгдөлДавталт бүр өмнөх хувилбар дээр тулгуурлан, урвуу инженерчлэлгүйгээр бодит ачааллыг илрүүлэхэд маш хэцүү болгодог үүрлэсэн шифрлэлтийн бүтцийг бий болгодог.
2. Gzip задлах
Олон завсрын алхамуудад хортой програм хангамж нь энгийн боловч үр дүнтэй будлианжуулалтын аргыг ашигладаг: Gzip шахалтыг Base64 кодчилолтой хослуулсан.
import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) Энэ техник нь үе шатуудын туршид бүрхэгдсэн ачаа далд хэвээр үлдэхийг баталгаажуулдаг.
3. Код нэгтгэх болон динамик хөрвүүлэлт
Эцсийн давхарга нь гүйцэтгэлийн явцад динамикаар нэгтгэгдэж, декодлогддог олон хувьсагчдад ойлгомжгүй ачааллыг хуваахыг хамардаг:
import base64, zlib FEQXCBDOZKHVIhT = '...' # ....(111 other variables with base-64 encoded values) ... zZytWuvuEdBXSrO = eval(<FEQXCBDOZKHVIhT' encoded with '\x>) + eval(<next variable, encoded>) + eval( ' zlib.decompress(base64.b64decode(<VAR>)).decode('utf-8') ') + ... eval(compile(base64.b64decode(eval(zZytWuvuEdBXSrO)).decode('utf-8'), ‘<app>', 'exec')) Энэ үе шат нь гараар урвуу инженерчлэл хийхэд онцгой төвөгтэй байдаг, учир нь хувьсагч бүрийг декодлож, дараагийн ашигтай ачааллыг харуулахын тулд дахин нэгтгэх шаардлагатай байдаг.
Эдгээр бүдгэрүүлэх аргуудыг хослуулснаар, мэдээлэл хулгайлагч хортой програм in урсгалт чөлөөтэй илрүүлэлтээс зайлсхийж, чухал үүргийг харуулдаг Код төөрөгдүүлэх орчин үеийн кибер халдлагад.
ThreadFluent-ийн олон үе шаттай довтолгооны гинж
The урсгалт чөлөөтэй мэдээлэл хулгайлагч хортой програм дөрвөн өөр үе шатаас бүрдэх бөгөөд тус бүр нь нэмэлт давхаргыг нэвтрүүлдэг Код төөрөгдүүлэхЭдгээр үе шатууд нь зөвхөн ачааг хүргэхээс гадна илрүүлэх, шинжлэхээс хамгаалах үүрэгтэй.

0-р үе шат: Анхны кодын гүйцэтгэл
Орох цэг нь __init__.py файл нь ойлгомжгүй ачааллын гүйцэтгэлийг эхлүүлдэг чөлөөтэй.pyЭнэ файл нь 1-р шатны дусаагуурыг үйлдвэрлэхийн тулд олон давхаргат бүдгэрүүлэлтийг (1-3-р алхамуудад тайлбарласны дагуу) ашигладаг:
import os,threading def main(): if os.name == 'nt': from . import fluent fluent.main() thread = threading.Thread(target=main , daemon=True) thread.start() 1-р үе шат: Анхны дусаагуур
Эхний дроппер нь обфускацийг арилгасны дараа нэмэлт хортой кодыг татаж аваад суулгадаг. puts.py, GitHub репозитороос Улаан үстэй шагай-1337/repuests (анхааруулга: хортой код энд байж болзошгүй).
Дусаагуур суулгадаг puts.py алдартай орон нутгийн суурилуулалт руу Хүсэлт номын сан, түүнийг өөрчлөх __init__.py deobfuscation-г ажиллуулж, дараагийн шатыг гүйцэтгэх файл. Энэхүү deobfuscation нь obfuscation давхаргын 1 … 3-ын олон програмыг буцаахаас бүрдэнэ.
2-р үе шат: Хоёр дахь дусаагуур
Хоёр дахь дусаагуур нь мөн адил процессын дараа деобфускация хийсний дараа дахин нэг ашигтай ачааллыг татаж авдаг. ssl.py GitHub репозитороос үүнийг дараах байдлаар нэрлэнэ udp.py, мөн хортой програм хангамжийг дахин дахин суулгахгүй байхын тулд цоожны файл үүсгэдэг. Дараа нь үүнийг задлахын тулд ажиллуулж, эцсийн мэдээлэл хулгайлагчийн ачааллыг гүйцэтгэдэг.
3-р үе шат: Эцсийн мэдээлэл хулгайлагч
Эцсийн шат бол дэвшилтэт зайлсхийх аргуудыг ашигладаг бүрэн ажиллагаатай мэдээлэл хулгайлагч юм.
- Шинжилгээний эсрэг шинж чанарууд:
- Хортой програм хангамжийн эсрэг хэрэгслүүдийг илрүүлж, хар жагсаалтад орсон процессууд, IP хаягууд, хостын нэрс эсвэл виртуал орчин илэрсэн тохиолдолд ажиллагааг зогсооно.
- Өгөгдлийн шүүрэлт:
- Дэлгэцийн агшин зэрэг IP хаяг, Mac хаяг, VPN өгөгдөл, хөтчийн күүки/түүх, кредит картын өгөгдөл болон крипто түрийвчний мэдээлэл гэх мэт дэлгэрэнгүй мэдээллийг цуглуулдаг.
- Энд үзүүлсэн загварыг ашиглан Telegram сувгаар хулгайлагдсан өгөгдлийг (шифрлэгдсэн) илгээдэг:

Деобфускацийн стратеги
Үүнтэй төстэй багцуудыг шинжлэхийн тулд судлаачид түүний бүдгэрүүлэх давхаргыг системтэйгээр эргүүлэх ёстой:
- Бүдгэрүүлэх алхмуудыг эмуляцлах: Ачааллыг гүйцэтгэхгүйгээр хувиргалтыг (жишээ нь, декодчилох, задлах) дуурайлган хийх скрипт бичих.
- Урвуу шифрлэлтийн давхаргууд: Суулгагдсан түлхүүрүүд болон алгоритмуудыг ашиглан ашигтай ачааллыг гаргаж авах болон тайлах.
- Давталтын шинжилгээ: Эцсийн ачааллыг дахин бүтээхийн тулд завсрын үе шат бүрийг давталттайгаар боловсруулна.
Энэхүү шинжилгээг оновчтой болгохын тулд автоматжуулсан хэрэгслүүд болон хамгаалагдсан орчин чухал юм.
Бодит цаг хугацаанд аюул заналхийллээс урьдчилан сэргийлэх талаар илүү ихийг мэдэхийг хүсч байна уу?
Манай "Эрт сэрэмжлүүлэг: Бодит цагийн аюул заналхийллийг илрүүлэх, эрэмбэлэх нь" цагаан цаасыг татаж аваад програм хангамжийн хангамжийн сүлжээгээ хэрхэн хамгаалах талаар олж мэдээрэй.
Аюул заналхийллийн жүжигчин
Илгээмжийг хоёр PyPI данснаас нийтэлсэн бололтой, АБИРХОССАЙН10 болон anomilano785, одоогоор хасагдсан.
нэртэй (одоогоор идэвхтэй) GitHub бүртгэл байна. АБИРХОССАЙН10, энэ нь кампанит ажилтай холбоотой байж болох юм. Улаан үстэй шагай-1337 2 болон 3-р шатны ачааллыг татаж авахад ашигладаг репозиторийг эзэмшдэг GitHub хэрэглэгчийг мөн шинжилж байна.
Хэдийгээр хамаарал нь үргэлж төвөгтэй бөгөөд улаан багт харьяалагдах боломжтой байдаг ч шүүрч авсан мэдээллийн төрөл, хэмжээ нь хорлонтой этгээдийг илтгэж байна.
Дүгнэлт: Хортой програм хангамжийн хувьсалд кодын будлиантын үүрэг
The урсгалт чөлөөтэй Энэхүү багц нь олон үе шаттай хүргэлтээрээ орчин үеийн хортой програм хангамжийн төөрөгдөлд автсан байдлыг харуулж байна. Ашигласан зайлсхийх аргуудтай хослуулан энэхүү багц нь илрүүлэлтээс зайлсхийх, дүн шинжилгээнд тэсвэртэй байх тодорхой хүчин чармайлтыг харуулж байна.
Энэхүү дүн шинжилгээ нь ийм аюул заналхийлэлтэй тэмцэхэд хамтын хүчин чармайлт болон автоматжуулсан хэрэгслүүдийн ач холбогдлыг онцолж байна. Эдгээр аргуудыг задлан шинжилж, ойлгосноор аюулгүй байдлын мэргэжилтнүүд ирээдүйд ижил төстэй хортой програм хангамжийн эсрэг илүү сайн хамгаалалтыг бий болгож чадна.
Xygeni-ийн MEW систем нь хортой урсгалт багцыг үйлдвэрлэлд хүрэхээс хэрхэн сэргийлсэн бэ
Xygeni's Хортой програм хангамжийн эрт сэрэмжлүүлэг (MEW) систем нь зогсооход чухал үүрэг гүйцэтгэсэн урсгалт чөлөөтэй Python багц нь дэвшилтэт файлуудыг агуулсан хортой хамаарал юм. кодын төөрөгдөл болон олон үе шаттай мэдээлэл хулгайлагч хортой програм, үйлдвэрлэлийн орчинд аюул учруулахаас өмнө. Хэрхэн хийх вэ гэвэл:
- Статик шинжилгээгээр илрүүлэх
MEW ажиглагдсан урсгалт чөлөөтэй-ийн нууц кодыг ашиглан давхарласан шифрлэлт болон ер бусын хамаарлын үйл ажиллагаа зэрэг сэжигтэй шинж тэмдгүүдийг олдог. - Ажиллах хугацааны хүртээмжийн үнэлгээ
Систем нь багцын кодыг ашиглалтын явцад ажиллуулж болохыг олж мэдсэн бөгөөд үүнийг бодитоор ажиллуулахгүйгээр ноцтой аюул заналхийлэл гэж тэмдэглэсэн. - CI/CD Pipeline Нөхөн сэргээх үйлчилгээ
MEW хаагдсан урсгалт чөлөөтэй бодит цаг хугацаанд нь үүнийг бүтээлтэд оруулахаас сэргийлж, үйлдвэрлэлд хүрэхээс сэргийлсэн. Энэ нь хөгжүүлэгчдэд үйлдэл хийх боломжтой сэрэмжлүүлэг илгээж, үнэ цэнэтэй цагийг хэмнэсэн. - Аюултай байдлын мэдээлэл хуваалцах
Xygeni нь илгээмжийг PyPI-д хурдан мэдээлж, олж мэдсэн зүйлээ дэлхийн аюулгүй байдлын сүлжээтэйгээ хуваалцсанаар цаашид тархахаас сэргийлсэн.
Барих замаар урсгалт чөлөөтэй эрт үед Xygeni-ийн MEW систем нь хортой код нь програм хангамжийн хангамжийн сүлжээнд хор хөнөөл учруулахгүй байхыг баталгаажуулсан. CI/CD Ажлын урсгал.
Өөрийгөө хамгаалаарай CI/CD Pipelines үнэгүй
гэх мэт аюул заналхийллээс урьдчилан сэргийлэх урсгалт чөлөөтэй Xygeni-ийн хортой програм хангамжийн эрт сэрэмжлүүлгийн системтэй хамт эхлүүлээрэй. үнэгүй туршилт өнөөдөр програм хангамжийн хангамжийн сүлжээгээ аюулгүй болго.
Луис Родригес
Луис Родригес бол физикч юмcist + математикч ба CISSP. Одоогоор Xygeni Security компанийн хамтран үүсгэн байгуулагч, техникийн захирал юм. Тэрээр програм хангамжийн аюулгүй байдлын чиглэлээр 20 гаруй жилийн туршлагатай бөгөөд дараах төслүүдэд оролцсон. SAST болон SCAТэрээр одоогоор анхаарлаа төвлөрүүлж байна software supply chain security.
Даниел Мартин
Даниел Мартин бол кибер аюулгүй байдлын мэргэжилтэн бөгөөд Xygeni судалгааны аюулгүй байдлын багийн гишүүн бөгөөд мэргэшсэн ... SDLC аюулгүй байдал болон програмын эмзэг байдлыг бууруулах.






