infostealer-ļaunprogrammatūra-threadfluent-koda-apslēpšana

Daudzpakāpju informācijas zagļu ļaunprogrammatūras pakotnes analīze

Python pakotne pavedienu plūstamība, kas atklāts PyPI, ir identificēts kā ļaunprātīgs, kas satur tradicionālu informācijas zagšanas ļaunprogrammatūru. Tomēr tās raksturīgā iezīme ir uzlabotu koda slēpšanas metožu izmantošana, kas slēpj tās lietderīgo slodzi, padarot analīzi īpaši sarežģītu. Šī ļaunprogrammatūra iteratīvi izmanto trīs koda slēpšanas slāņus visā uzbrukuma ķēdē, radot ievērojamus šķēršļus manuālai dekonstrukcijai.

Mūsu ļaunprogrammatūras agrīnās brīdināšanas komanda ziņoja par pakotni PyPI drošības komandai, kas to ātri noņēma. Šajā rakstā mēs izskaidrojam procesa posmus. pavedienu plūstamībauzbrukumu un metodes, ko tas izmanto, lai slēptu savu mērķi, koncentrējoties uz to, kā informācijas zagšanas ļaunprogrammatūra un koda slēpšana darbojas kopā.

Špikerlapa: Informācijas zagšanas ļaunprogrammatūra un koda obfuskācija

Kas ir Infostealer ļaunprogrammatūra?

Informācijas zagļu ļaunprogrammatūra darbojas kā viltīgs zaglis jūsu digitālajā pasaulē. Tā nemanāmi, jums nepamanot, notver sensitīvu informāciju, piemēram, jūsu paroles, kredītkaršu numurus vai personas datus. Šīs programmas reģistrē jūsu rakstīto informāciju (taustiņu nospiešanas reģistrācija), nolaupa jūsu pārlūkprogrammu vai skenē failus jūsu ierīcē, lai apkopotu vērtīgus datus. Visbiedējošākā daļa? Tās izceļas ar to, ka paliek nepamanītas.

Aptumšošanas slāņi ThreadFluent Infostealer ļaunprogrammatūra

1. Trīskārša šifrēšana

Aptumšošanas process sākas ar stipri šifrētu vērtumu, kas iegults fluent.py fails. Sākotnējo kodēšanas un atšifrēšanas procesu var apkopot šādi:

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

Šis aptumšošanas process ietver:

  • SaspiešanaIzmantojot gzip un bzip.
  • Simetriskā šifrēšanaĶēdes šifrēšana ar ChaCha20, Blowfish un AES.
  • Asimetriskā šifrēšanaRSA, ko izmanto simetrisko atslēgu šifrēšanai.

Rezultāts tiek kodēts Base64 formātā un ievietots kā kodētie_datiKatra iterācija balstās uz iepriekšējo, izveidojot ligzdotu šifrēšanas struktūru, kas ārkārtīgi apgrūtina faktiskās vērtuma atklāšanu bez reversās inženierijas.

 

2. Gzip dekompresija

Daudzos starpposmos ļaunprogrammatūra izmanto vienkāršu, bet efektīvu slēpšanas metodi: Gzip saspiešanu apvienojumā ar Base64 kodēšanu. 

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

Šī metode nodrošina, ka apmulsinātā lietderīgā slodze visos posmos paliek paslēpta.

3. Koda konkatenācija un dinamiska kompilācija

Pēdējais slānis ietver apmulsinātās lietderīgās slodzes sadalīšanu vairākos mainīgajos, kas izpildes laikā tiek dinamiski apvienoti un dekodēti:

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

Šo posmu ir īpaši apgrūtinoši manuāli reversēt, jo katrs mainīgais ir jāatšifrē un jāpārkombinē, lai atklātu nākamo lietderīgo slodzi.

Apvienojot šīs slēpšanas metodes, infostealer ļaunprogrammatūra in pavedienu plūstamība izvairās no atklāšanas, demonstrējot kritisko lomu Koda apmulsināšana mūsdienu kiberuzbrukumos.

ThreadFluent daudzpakāpju uzbrukuma ķēde

The pavedienu plūstamība infostealer ļaunprogrammatūra ietver četrus atšķirīgus posmus, katrs no tiem ievieš papildu slāņus Koda apmulsināšanaŠie posmi kalpo ne tikai derīgās kravas piegādei, bet arī tās aizsardzībai pret atklāšanu un analīzi.

infostealer-ļaunprogrammatūras-koda-apslēpšana-threadfluent

0. posms: Sākotnējā koda izpilde

Ieejas punkts ir __init__.py fails, kas uzsāk apmulsinātās lietderīgās slodzes izpildi fluent.pyŠajā failā tiek izmantota daudzslāņu obfuskācija (kā aprakstīts 1.–3. darbībā), lai izveidotu 1. posma pilinātāju:

import os,threading def main():     if os.name == 'nt':         from . import fluent         fluent.main()          thread = threading.Thread(target=main , daemon=True) thread.start() 

1. posms: Sākotnējais pilinātājs

Pirmais droppers, tiklīdz tas ir atmaskots, lejupielādē un iegulst papildu ļaunprātīgu kodu, puts.py, no GitHub repozitorija Red-haired-shanks-1337/repuests (brīdinājums: šeit var būt ļaunprātīgs kods). 

Pilinātāja iegulšana puts.py populārās mūzikas vietējā instalācijā pieprasījumi bibliotēka, modificējot to __init__.py failu, lai palaistu deobfuskāciju un izpildītu nākamo posmu. Šī deobfuskācija ietver daudzu obfusācijas slāņu 1… 3 lietojumprogrammu apvēršanu.

2. posms: Otrais pilinātājs

Otrais pilinātājs, pēc tā paša procesa atšifrēšanas, lejupielādē vēl vienu vērtumu, ssl.py no GitHub repozitorija pārdēvē to par udp.pyun ģenerē bloķēšanas failu, lai nodrošinātu, ka ļaunprogrammatūra netiek atkārtoti instalēta. Pēc tam tas tiek palaists, lai to deobfusētu, kā rezultātā tiek izpildīta galīgā infostealer vērtuma slodze.

3. posms: pēdējais informācijas zaglis

Pēdējais posms ir pilnībā funkcionējošs informācijas zaglis, kas izmanto uzlabotas izvairīšanās metodes:

  • Antianalīzes funkcijas:
    • Atklāj ļaunprogrammatūras apkarošanas rīkus un pārtrauc darbību, ja tiek atklāti melnajā sarakstā iekļauti procesi, IP adreses, resursdatora nosaukumi vai virtuālās vides.
  • Datu eksfiltrācija:
    • Ietver izsmeļošu informāciju. Sākot ar IP adresi, Mac adresi, VPN datiem, pārlūkprogrammas sīkfailiem/vēsturi, kredītkaršu datiem un kriptovalūtas maka akreditācijas datiem, tostarp ekrānuzņēmumu.
    • Nosūta nozagtus datus (šifrētus), izmantojot Telegram kanālu, izmantojot šeit parādīto veidni: 
infostealer-ļaunprogrammatūras-koda-apslēpšana-threadfluent

Deobfuscācijas stratēģija

Lai analizētu līdzīgas pakotnes, pētniekiem sistemātiski jāmaina tās apmulsināšanas slāņi:

  • Emulēt obfuskācijas soļus: Rakstiet skriptus, lai simulētu transformācijas (piemēram, atšifrēšanu, dekompresiju), neizpildot lietderīgo slodzi.
  • Reversās šifrēšanas slāņi: Izvilkt un atšifrēt lietderīgo slodzi, izmantojot iegultās atslēgas un algoritmus.
  • Iteratīvā analīze: Apstrādājiet katru starpposmu iteratīvi, lai rekonstruētu galīgo lietderīgo slodzi.

Lai racionalizētu šo analīzi, ir svarīgi automatizēti rīki un smilškastes vides.

 

Vai vēlaties uzzināt vairāk par to, kā reāllaikā novērst draudus?

Lejupielādējiet mūsu informatīvo dokumentu “Agrīna brīdināšana: reāllaika apdraudējumu noteikšana un prioritāšu noteikšana” un uzziniet, kā aizsargāt savu programmatūras piegādes ķēdi.

Draudu aktieris

Acīmredzot pakotne tika publicēta no diviem PyPI kontiem, ABIRHOSSAINS10 un anomilano785, pašlaik noņemts. 

Pašlaik ir aktīvs GitHub konts ar nosaukumu ABIRHOSSAINS10, kas varētu būt saistīts ar kampaņu. Rudmatainie-stilbi-1337 Tiek analizēts arī GitHub lietotājs, kuram pieder repozitorijs, kas tiek izmantots 2. un 3. posma vērtumu lejupielādei.

Lai gan attiecināšana vienmēr ir sarežģīta un piederība sarkanajai komandai ir iespējama, izfiltrētās informācijas veids un apjoms norāda uz ļaunprātīgu personu.

Secinājums: koda slēpšanas loma ļaunprogrammatūras evolūcijā

The pavedienu plūstamība Šī pakotne ar savu daudzpakāpju piegādi iemieso mūsdienīgu ļaunprogrammatūras slēpšanu. Apvienojumā ar izmantotajām apiešanas metodēm šī pakotne demonstrē skaidrus centienus izvairīties no atklāšanas un pretoties analīzei.

Šī analīze uzsver sadarbības centienu un automatizētu rīku nozīmi šādu draudu apkarošanā. Analizējot un izprotot šīs metodes, drošības speciālisti nākotnē var izstrādāt labāku aizsardzību pret līdzīgu ļaunprogrammatūru.

Kā Xygeni MEW sistēma neļāva ļaunprātīgajai threadfluent pakotnei sasniegt ražošanas vidi

Ksigēni Ļaunprogrammatūras agrīnā brīdināšana (MEW) sistēmai bija liela nozīme, lai apturētu pavedienu plūstamība Python pakotne, ļaunprātīga atkarība, kas satur uzlabotu koda apmulsēšana un daudzpakāpju infostealer ļaunprogrammatūra, pirms tas varētu apdraudēt ražošanas vidi. Lūk, kā:

  • Noteikšana, izmantojot statisko analīzi
    MEW pamanīts pavedienu plūstamībaslēpto kodu, atrodot aizdomīgas pazīmes, piemēram, slāņveida šifrēšanu un neparastu atkarību aktivitāti.
  • Izpildes laika sasniedzamības novērtējums
     Sistēma konstatēja, ka pakotnes kods var darboties lietošanas laikā, atzīmējot to kā nopietnu apdraudējumu, to faktiski nepalaižot.
  • CI/CD Pipeline aizsardzība
    MEW bloķēts pavedienu plūstamība reāllaikā apturēja tā iekļaušanu versijās un neļāva tam nonākt ražošanas vidē. Tas nosūtīja izstrādātājiem rīcības brīdinājumus, ietaupot vērtīgu laiku.
  • Draudu informācijas apmaiņa
    Xygeni ātri ziņoja par pakotni PyPI un kopīgoja savus atklājumus ar savu globālo drošības tīklu, apturot tās tālāku izplatīšanos.

Noķerot pavedienu plūstamība sākumā Xygeni MEW sistēma nodrošināja, ka ļaunprātīgais kods nekaitē programmatūras piegādes ķēdēm vai CI/CD darbplūsmas.

Aizsargājiet savu CI/CD Pipelines par brīvu

Novērst tādus draudus kā pavedienu plūstamība ar Xygeni ļaunprogrammatūras agrīnās brīdināšanas sistēmu. Sāciet savu bezmaksas izmēģinājuma versija jau šodien un nodrošiniet savu programmatūras piegādes ķēdi.

Luisa Rodrigeza attēls

Luiss Rodrigess

Luiss Rodrigess ir fizioterapeits.cist + matemātiķis un CISSP. Pašlaik Xygeni Security līdzdibinātājs un tehnoloģiju direktors. Viņam ir vairāk nekā 20 gadu pieredze programmatūras drošības jomā, un viņš ir piedalījies tādos projektos kā SAST un SCAViņš pašlaik koncentrējas uz software supply chain security.

Daniela Martina attēls

Daniels Martins

Daniels Martins ir kiberdrošības eksperts un Xygeni pētniecības drošības komandas loceklis, kas specializējas SDLC drošības un lietojumprogrammu ievainojamību mazināšana.

sca-tools-software-composition-analysis-tools
Prioritizējiet, novērsiet un aizsargājiet savus programmatūras riskus
Iegūstiet savu bezmaksas kontu.
Nepieciešama kredītkarte.

Nodrošiniet programmatūras izstrādi un piegādi

ar Xygeni produktu komplektu