La Python-pakaĵo fadenflua, malkovrita sur PyPI, estis identigita kiel malica, enhavanta konvencian informŝtelistan malican programaron. Tamen, ĝia difina karakterizaĵo estas la uzo de progresintaj kodmalklarigaj teknikoj, kiuj obskuras ĝian utilan ŝarĝon, igante analizon aparte malfacila. Ĉi tiu malica programaro uzas tri tavolojn de malklarigo ripete tra sia atakĉeno, kreante signifajn obstaklojn por mana malkonstruado.
Nia teamo pri Frua Averto pri Malica Programaro raportis la pakaĵon al la sekureca teamo de PyPI, kiu rapide forigis ĝin. En ĉi tiu artikolo, ni klarigas la etapojn de fadenfluaLa atako kaj la metodoj, kiujn ĝi uzas por kaŝi sian celon, fokusiĝante pri kiel informŝtelista malica programaro kaj kodmalklarigado funkcias kune.
Trompfolio: Informŝtelista Malica Programaro kaj Kodmalklarigado
Kio estas Infostealer-malica programaro?
La malica programaro "Informostealer" agas kiel ruza ŝtelisto en via cifereca mondo. Ĝi kviete kaptas sentemajn informojn, kiel viajn pasvortojn, kreditkartnumerojn aŭ personajn detalojn, sen ke vi rimarku. Ĉi tiuj programoj registras tion, kion vi tajpas (klavoregistrado), ŝtelas vian retumilon aŭ skanas dosierojn en via aparato por kolekti valorajn datumojn. La plej timiga parto? Ili elstaras je resti nerimarkitaj.
Kio estas Koda Malklarigado?
Kodmalklarigado estas esence la arto kaŝi aferojn videble, ofte uzata de retpiratoj por malfaciligi la trovon aŭ komprenon de ilia malica kodo. Imagu iun, kiu skribas kodon intence konfuze, ĉifrante partojn de ĝi, aŭ miksante ĝian aspekton por malstabiligi antivirusajn ilojn aŭ esploristojn. Ĝi estas lerta sed frustranta taktiko, kiu helpas malican programaron resti aktiva pli longe kaj eviti detekton.
Malklarigado de Tavoloj de ThreadFluent Infostealer-Malica Programaro
1. Triopa Ĉifrado
La malklariga procezo komenciĝas per forte ĉifrita utila ŝarĝo enigita en la flua.py dosiero. La komenca ĉifrado kaj malĉifrado procezo povas esti resumita jene:
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)) ) Ĉi tiu malklariga procezo implikas:
- kunpremoUzante gzip kaj bzip.
- Simetria ĉifradoĈenita ĉifrado per ChaCha20, Blowfish, kaj AES.
- Malsimetria ĉifradoRSA uzata por ĉifri la simetriajn ŝlosilojn.
La rezulto estas ĉifrita en Base64 kaj enigita kiel ĉifritaj_datumojĈiu ripeto baziĝas sur la antaŭa, kreante nestitan ĉifradan strukturon, kiu malfaciligas escepte malkovri la faktan utilan ŝarĝon sen inversa inĝenierado.
2. Gzip-Malkunpremo
En multaj interaj paŝoj, la malica programaro uzas simplan sed efikan malklarigadon: Gzip-kunpremon kombinitan kun Base64-kodigado.
import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) Ĉi tiu tekniko certigas, ke la malklarigita utila ŝarĝo restas kaŝita tra la etapoj.
3. Koda Kunligo kaj Dinamika Kompilo
La fina tavolo implikas dividi la malklarigitan utilan ŝarĝon trans plurajn variablojn, kiuj estas dinamike kunmetitaj kaj deĉifritaj dum ekzekuto:
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')) Ĉi tiun etapon estas aparte maloportuna por mane retroinĝenieri, ĉar ĉiu variablo devas esti deĉifrita kaj rekombinita por riveli la sekvan utilan ŝarĝon.
Kombinante ĉi tiujn malklarigteknikojn, la infostealer malware in fadenflua evitas detekton, montrante la kritikan rolon de Kodo Malklariĝo en modernaj ciberatakoj.
La Plurŝtupa Atakĉeno de ThreadFluent
la fadenflua infostealer malware konsistas el kvar apartaj stadioj, ĉiu enkondukante pliajn tavolojn de Kodo MalklariĝoĈi tiuj etapoj servas ne nur por liveri la utilan ŝarĝon sed ankaŭ protekti ĝin kontraŭ detekto kaj analizo.

Etapo 0: Komenca Kodekzekuto
La enirejo estas la __init__.py dosiero, kiu komencas plenumon de la malklarigita utila ŝarĝo en flua.pyĈi tiu dosiero uzas plurtavolan malklarigon (kiel priskribite en paŝoj 1–3) por produkti la gutigilon de Ŝtupo 1:
import os,threading def main(): if os.name == 'nt': from . import fluent fluent.main() thread = threading.Thread(target=main , daemon=True) thread.start() Etapo 1: Komenca Gutigilo
La unua gutigilo, post kiam ĝi estas malobskuita, elŝutas kaj enigas plian malican kodon, metas.py, el GitHub-deponejo Ruĝharaj-kruroj-1337/respondantoj (averto: ebla malica kodo ĉi tie).
La gutigilo enkorpiĝas metas.py en la lokan instalaĵon de la populara petoj biblioteko, modifante ĝian __init__.py dosiero por lanĉi malobskuradon kaj efektivigi la sekvan etapon. Ĉi tiu malobskurado konsistas el inversigo de multaj aplikoj de la malobskuradaj tavoloj 1 … 3.
Ŝtupo 2: Dua Gutigilo
La dua ŝutilo, post kiam malobskuiĝos laŭ la sama procezo, elŝutos ankoraŭ plian utilan ŝarĝon, ssl.py el la GitHub-deponejo, renomas ĝin kiel udp.py, kaj generas ŝlosdosieron por certigi, ke la malica programaro ne reinstaliĝos plurfoje. Poste ĝi estas ruligita por malobskuri ĝin, rezultante en la plenumo de la fina infostealer-ŝarĝo.
Ŝtupo 3: Fina Informŝtelisto
La fina etapo estas plene funkcia informŝtelisto kiu uzas progresintajn evitadteknikojn:
- Kontraŭanalizaj funkcioj:
- Detektas kontraŭmalicajn ilojn kaj ĉesas la programon se oni detektis iujn ajn nigralistigitajn procezojn, IP-adresojn, gastignomojn aŭ virtualajn mediojn.
- Eksfiltrado de datumoj:
- Kaptas detalajn informojn. Inter ili, IP-adreso, Mac-adreso, VPN-datumoj, retumilaj kuketoj/historio, kreditkartaj datumoj kaj kriptomonujaj akreditaĵoj, interalie, inkluzive de ekranfoto.
- Sendas ŝtelitajn datumojn (ĉifritajn) per Telegram-kanalo, uzante la ŝablonon montritan ĉi tie:

Strategio de Malobskuado
Por analizi similajn pakaĵojn, esploristoj devas sisteme inversigi ĝiajn malklarigtavolojn:
- Imiti Malklarigadon Paŝoj: Skribu skriptojn por simuli la transformojn (ekz., malĉifradon, malkunpremon) sen plenumi la utilan ŝarĝon.
- Inversaj Ĉifradaj Tavoloj: Eltiru kaj malĉifru la utilan ŝarĝon uzante la enigitajn ŝlosilojn kaj algoritmojn.
- Iteracia Analizo: Prilaboru ĉiun mezan etapon ripete por rekonstrui la finan utilan ŝarĝon.
Aŭtomataj iloj kaj sablokestaj medioj estas esencaj por fluliniigi ĉi tiun analizon.
Ĉu vi volas lerni pli pri kiel antaŭi minacojn en reala tempo?
Elŝutu nian blankan libron, 'Frua Averto: Realtempa Minaco-Detekto kaj Priorizado', kaj malkovru kiel protekti vian programaran provizoĉenon.
La Minaca Aktoro
Ŝajne la pakaĵo estis publikigita de du PyPI-kontoj, ABIRHOSSAIN10 kaj anomilano785, nuntempe forigita.
Ekzistas (nuntempe aktiva) GitHub-konto nomita ABIRHOSSAIN10, kiu povus esti rilata al la kampanjo. La Ruĝharaj-kruroj-1337 Uzanto de GitHub, kiu posedas la deponejon uzatan por elŝuti ŝarĝojn de ŝtupo 2 kaj 3, ankaŭ estas analizata.
Kvankam atribuado ĉiam estas komplika kaj membreco en ruĝa teamo estas ebleco, la speco kaj kvanto de elfiltritaj informoj sugestas malican aktoron.
Konkludo: La Rolo de Koda Malklarigado en la Evoluo de Malica Programaro
la fadenflua La pakaĵo ekzempligas modernan malklarigadon de malica programaro per sia plurŝtupa liverado. Kune kun la uzitaj evitaj teknikoj, ĉi tiu pakaĵo montras klaran klopodon eviti detekton kaj rezisti analizon.
Ĉi tiu analizo emfazas la gravecon de kunlaboraj klopodoj kaj aŭtomataj iloj en la kontraŭbatalado de tiaj minacoj. Per analizo kaj kompreno de ĉi tiuj metodoj, sekurecaj profesiuloj povas disvolvi pli bonajn defendojn kontraŭ similaj malica programaroj en la estonteco.
Kiel la MEW-sistemo de Xygeni malhelpis la malicajn threadfluent-pakaĵojn atingi produktadon
Ksgenio Frua Averto pri Malica Programaro (MEW) sistemo estis instrumenta en haltigo de la fadenflua Python-pakaĵo, malica dependeco enhavanta progresintajn malklarigado de kodo kaj plurŝtupa infostealer malware, antaŭ ol ĝi povus kompromiti produktadajn mediojn. Jen kiel:
- Detekto per statika analizo
MEW ekvidita fadenfluala kaŝitan kodon de , trovante suspektindajn signojn kiel tavoligitan ĉifradon kaj nekutiman dependecan agadon. - Takso de Atingebleco de Rultempo
La sistemo trovis, ke la kodo de la pakaĵo povus funkcii dum uzo, markante ĝin kiel gravan minacon sen efektive funkciigi ĝin. - CI/CD Pipeline protekto
MEW blokita fadenflua en reala tempo, malhelpis ĝian inkludon en konstruojn, kaj malhelpis ĝin atingi produktadon. Ĝi sendis al programistoj ageblajn alarmojn, ŝparante valoran tempon. - Kundivido de Minaco-Inteligenteco
Xygeni rapide raportis la pakaĵon al PyPI kaj dividis ĝiajn trovojn kun sia tutmonda sekureca reto, malhelpante ĝian pluan disvastiĝon.
Per kaptado fadenflua frue, la MEW-sistemo de Xygeni certigis, ke la malica kodo ne damaĝis la provizoĉenojn de programaro aŭ CI/CD fluoj de laboro.
Protektu Vian CI/CD Pipelines senpage
Malhelpi minacojn kiel fadenflua per la sistemo de frua averto pri malbonprogramaro de Xygeni. Komencu vian Senpaga provo hodiaŭ kaj sekurigu vian provizoĉenon de programaro.
Ludoviko Rodriguez
Luis Rodriguez estas fizikistocist + matematikisto kaj CISSP. Nuntempe kunfondinto kaj ĉefteknika direktoro ĉe Xygeni Security. Li havas pli ol 20 jarojn da sperto pri programara sekureco kaj partoprenis en projektoj kiel SAST kaj SCALi nuntempe koncentriĝas pri software supply chain security.
Danielo Marteno
Daniel Martín estas cibersekureca fakulo kaj membro de la esplora sekureca teamo Xygeni, specialiĝante pri SDLC sekureco kaj malpliigo de vundeblecoj de aplikoj.






