infostealer-malware-threadfluent-code-obfuscation

Að greina margstiga upplýsingaþjófs-spilliforritapakka

Python pakkinn þráðflæðandi, sem fannst á PyPI, hefur verið greint sem illgjarn, sem inniheldur hefðbundna upplýsingaþjófs-spilliforrit. Hins vegar er einkennandi fyrir það notkun háþróaðra aðferða til að rugla kóða sem hylja gagnamagn þess, sem gerir greiningu sérstaklega krefjandi. Þetta spilliforrit notar þrjú lög af ruglingi endurtekið í gegnum árásarkeðjuna sína, sem skapar verulegar hindranir fyrir handvirka afritun.

Viðvörunarteymi okkar um spilliforrit tilkynnti pakkann til öryggisteymisins PyPI, sem fjarlægði hann fljótt. Í þessari grein útskýrum við skrefin í þessu. þráðflæðandiárásina og aðferðirnar sem hún notar til að fela tilgang sinn, með áherslu á hvernig spilliforrit sem þjófa upplýsinga og kóðaþjófnaður vinna saman.

Svindlblað: Upplýsingastjófar og kóðaþjófar

Hvað er Infostealer spilliforrit?

Spilliforrit sem þjóta upplýsinga virkar eins og lævís þjófur í stafræna heiminum þínum. Þau ná í viðkvæmar upplýsingar, svo sem lykilorð, kreditkortanúmer eða persónuupplýsingar, án þess að þú takir eftir því. Þessi forrit skrá það sem þú skrifar (keylogging), ræna vafrann þinn eða skanna skrár á tækinu þínu til að safna verðmætum gögnum. Það sem er ógnvænlegast? Þau eru framúrskarandi í að halda sér undir ratsjánni.

Þokulög af ThreadFluent Infostealer spilliforritinu

1. Þrefaldur dulkóðun

Þykkingarferlið hefst með mjög dulkóðuðu gagnamagni sem er innbyggt í fluent.py skrá. Upphaflega kóðunar- og afkóðunarferlið má draga saman á eftirfarandi hátt:

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

Þetta dulritunarferli felur í sér:

  • þjöppunNotkun gzip og bzip.
  • Samhverf dulkóðunKeðjutengd dulkóðun með ChaCha20, Blowfish og AES.
  • Ósamhverfar dulkóðunRSA notað til að dulkóða samhverfa lykla.

Niðurstaðan er kóðuð í Base64 og sett inn sem kóðuð_gögnHver ítrun byggir á þeirri fyrri og býr til innfellda dulkóðunaruppbyggingu sem gerir það afar erfitt að afhjúpa raunverulegt gagn án öfugrar verkfræði.

 

2. Gzip þjöppunarafritun

Í mörgum millistigum notar spilliforritið einfalda en áhrifaríka aðferð til að rugla kóðun: Gzip-þjöppun ásamt Base64-kóðun. 

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

Þessi tækni tryggir að hulda farmurinn haldist falinn í gegnum öll stigin.

3. Samtenging kóða og kraftmikil samantekt

Síðasta lagið felur í sér að skipta duldu farminum yfir margar breytur, sem eru tengdar saman og afkóðaðar á kraftmikinn hátt meðan á keyrslu stendur:

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

Þetta stig er sérstaklega fyrirhafnarmikið að bakvirkja handvirkt, þar sem hverja breytu verður að afkóða og sameina aftur til að sýna næsta farm.

Með því að sameina þessar aðferðir við að rugla saman, spilliforrit fyrir upplýsingaþjófa in þráðflæðandi kemst hjá uppgötvun og sýnir fram á mikilvægt hlutverk Kóðaskýring í nútíma netárásum.

Fjölþrepa árásarkeðjan í ThreadFluent

The þráðflæðandi spilliforrit fyrir upplýsingaþjófa samanstendur af fjórum aðskildum stigum, þar sem hvert stig kynnir viðbótarlög af KóðaskýringÞessi stig þjóna ekki aðeins til að afhenda farminn heldur einnig til að vernda hann gegn uppgötvun og greiningu.

infostealer-malware-code-obfuscation- threadfluent

Stig 0: Upphafleg keyrsla kóða

Aðgangsstaðurinn er __init__.py skrá, sem hefst keyrslu á duldu farmnum í fluent.pyÞessi skrá notar marglaga óskýringu (eins og lýst er í skrefum 1–3) til að framleiða dropateljara fyrir 1. stig:

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

1. stig: Upphafleg dropateljari

Fyrsti dropatækið, þegar það hefur verið afþýtt, hleður niður og setur inn viðbótar skaðlegan kóða, setur.py, úr GitHub geymslu Rauðhærðir leggir-1337/viðurkenningar (viðvörun: hugsanlega skaðlegur kóði hér). 

Dropateljarinn fellur inn setur.py inn í staðbundna uppsetningu hins vinsæla beiðnir bókasafn, að breyta því __init__.py skrá til að keyra afþýgingarferlið og framkvæma næsta skref. Þessi afþýgingarferlið felst í því að snúa við mörgum forritum af þýgingarlögunum 1 … 3.

2. stig: Annar dropatæki

Seinni dropateljarinn, þegar hann hefur verið afþýddur með sama ferli, hleður niður enn einni farmi, ssl.py úr GitHub geymslunni, endurnefnir það sem udp.pyog býr til læsingarskrá til að tryggja að spilliforritið endursetjist ekki ítrekað. Síðan er það keyrt til að afþýða það, sem leiðir til keyrslu á lokaupplýsingastuldinum.

3. stig: Síðasti upplýsingaþjófurinn

Síðasta stigið er fullkomlega virk upplýsingaþjófur sem notar háþróaðar undankomuleiðir:

  • Eiginleikar gegn greiningu:
    • Greinir spilliforritatól og hættir hugbúnaði ef einhverjir svartlistaðir ferlar, IP-tölur, hýsingarnöfn eða sýndarumhverfi eru greind.
  • Gagnasíun:
    • Safnar ítarlegum upplýsingum. Allt frá IP-tölu, MAC-tölu, VPN-gögnum, vafrakökum/sögu vafrans, kreditkortagögnum og aðgangsupplýsingum fyrir dulritunarveski, þar á meðal skjámynd.
    • Sendir stolin gögn (dulkóðuð) í gegnum Telegram rás, með því að nota sniðmátið sem sýnt er hér: 
infostealer-malware-code-obfuscation- threadfluent

Aðferð til að afþýða dulargervi

Til að greina svipaða pakka verða vísindamenn kerfisbundið að snúa við dulúðunarlögum þeirra:

  • Herma eftir dulritunarskrefum: Skrifaðu forskriftir til að herma eftir umbreytingunum (t.d. afkóðun, afþjöppun) án þess að keyra gagnamagnið.
  • Öfug dulkóðunarlög: Draga út og afkóða farminn með því að nota innbyggða lykla og reiknirit.
  • Ítrekandi greining: Vinnið úr hverju millistigi ítrekandi til að endurskapa lokaafurðina.

Sjálfvirk verkfæri og sandkassaumhverfi eru nauðsynleg til að hagræða þessari greiningu.

 

Viltu læra meira um að vera á undan ógnum í rauntíma?

Sæktu hvítbókina okkar, „Snemmbúin viðvörun: Greining og forgangsröðun ógna í rauntíma“ og uppgötvaðu hvernig þú getur verndað hugbúnaðarframboðskeðjuna þína.

Ógnandi leikarinn

Greinilega var pakkinn birtur úr tveimur PyPI reikningum, ABIRHOSSAIN10 og anomilano785, fjarlægður núna. 

Það er til staðar (virkur) GitHub reikningur sem heitir ABIRHOSSAIN10, sem gæti tengst herferðinni. Rauðhærðir leggir-1337 GitHub notandi sem á geymsluna sem notuð er til að hlaða niður gagnamagn á stigi 2 og 3 er einnig til greiningar.

Þótt það sé alltaf flókið að rekja til árásaraðila og aðild að rauðu liði sé möguleiki, þá bendir tegund og magn upplýsinga sem hafa komist að vísbendingu um illgjarnan aðila.

Niðurstaða: Hlutverk kóðaþoku í þróun spilliforrita

The þráðflæðandi Pakkinn er dæmi um nútímalega flókna spilliforritavörn í fjölþrepa afhendingu sinni. Í tengslum við þær aðferðir sem notaðar eru til að komast hjá uppgötvun og standast greiningu sýnir þessi pakki greinilega fram á viðleitni til að komast hjá uppgötvun.

Þessi greining undirstrikar mikilvægi samvinnu og sjálfvirkra verkfæra í baráttunni gegn slíkum ógnum. Með því að greina og skilja þessar aðferðir geta öryggissérfræðingar þróað betri varnir gegn svipuðum spilliforritum í framtíðinni.

Hvernig MEW kerfið frá Xygeni kom í veg fyrir að illgjarn threadfluent pakkinn kæmist í framleiðslu

Xygeni's Viðvörun um spilliforrit (MEW) kerfið átti stóran þátt í að stöðva þráðflæðandi Python pakki, illgjarn ósjálfstæði sem inniheldur háþróaða kóðaþoka og fjölþrepa spilliforrit fyrir upplýsingaþjófa, áður en það gæti haft áhrif á framleiðsluumhverfi. Svona gerirðu það:

  • Greining með stöðugri greiningu
    MEW sást þráðflæðandifalinn kóði, finnur grunsamleg merki eins og lagskipta dulkóðun og óvenjulega ósjálfstæðisvirkni.
  • Mat á aðgengileika í keyrslutíma
     Kerfið komst að því að kóði pakkans gat keyrt meðan á notkun stóð, sem merkti hann sem alvarlega ógn án þess að keyra hann í raun.
  • CI/CD Pipeline Verndun
    MEW lokað þráðflæðandi í rauntíma, kom í veg fyrir að það væri innifalið í smíðum og kom í veg fyrir að það kæmist í framleiðslu. Það sendi forriturum aðgerðarhæfar viðvaranir og sparaði dýrmætan tíma.
  • Miðlun upplýsinga um ógnir
    Xygeni tilkynnti pakkann fljótt til PyPI og deildi niðurstöðum sínum með alþjóðlegu öryggisneti sínu og kom í veg fyrir frekari útbreiðslu hans.

Með því að veiða þráðflæðandi Í byrjun tryggði MEW kerfi Xygeni að skaðlegi kóðinn skaði ekki hugbúnaðarframboðskeðjur eða CI/CD vinnuflæði.

Verndaðu þinn CI/CD Pipelines ókeypis

Koma í veg fyrir ógnir eins og þráðflæðandi með viðvörunarkerfi Xygeni um spilliforrit. Byrjaðu þinn ókeypis prufa í dag og tryggðu hugbúnaðarframboðskeðjuna þína.

Mynd af Luis Rodríguez

Luis Rodriguez

Luis Rodriguez er sjúkraþjálfaricist + stærðfræðingur og CISSP. Núverandi meðstofnandi og yfirmaður tæknimála hjá Xygeni Security. Hann hefur yfir 20 ára reynslu í hugbúnaðaröryggi og hefur tekið þátt í verkefnum eins og SAST og SCAHann einbeitir sér nú að software supply chain security.

Mynd af Daniel Martín

Daníel Martín

Daniel Martín er sérfræðingur í netöryggi og meðlimur í rannsóknaröryggisteymi Xygeni, sem sérhæfir sig í... SDLC öryggis- og forritavarnir.

sca-tools-hugbúnaður-samsetningargreiningartól
Forgangsraðaðu, lagfærðu og tryggðu hugbúnaðaráhættu þína
Fáðu þér ókeypis aðgang.
Ekkert kreditkort krafist.

Tryggðu hugbúnaðarþróun og afhendingu þína

með Xygeni vörupakkanum