Campania nord-coreeană ascunde codul malware OTTERCOOKIE în imaginile cu steag SVG

Atacatorii legați de Coreea de Nord ascund programe malware aliniate la OTTERCOOKIE în fișierele SVG cu flag de țară distribuite prin teste de codare false ale dezvoltatorilor. Codul rău intenționat se execută atunci când o țintă începe proiectul de comerț electronic furnizat, nu atunci când cineva doar vizualizează o imagine.

Campania, urmărită ca REF9403, folosește ingineria socială mai degrabă decât o vulnerabilitate software. Atacatorii se prezintă ca recrutori sau proprietari de proiecte, abordează dezvoltatorii cu oportunități de angajare și îi convinge să descarce și să execute o evaluare funcțională a codării.

Elastic Security Labs a descoperit REF9403după ce un atacator a postat o oportunitate de dezvoltator în spațiul de lucru Slack al comunității companiei. Elastic leagă operațiunea de Contagious Interview, o campanie de lungă durată atribuită actorilor aliniați cu Coreea de Nord.

Cum ajunge testul de codare falsă la dezvoltatori

Pe 26 mai 2026, un utilizator Slack pe nume „Maxwell” a postat pe un canal de locuri de muncă și a susținut că are nevoie de ajutor pentru modernizarea unei platforme de comerț electronic. Dezvoltatorii interesați au fost mutați în mesaje private și li s-a cerut să finalizeze o evaluare de codare.

Proiectul furnizat părea legitim. A folosit tehnologii familiare de dezvoltare web și a rămas funcțional după instalare, ajutând depozitul să arate ca un test tehnic autentic.

Această abordare exploatează încrederea pe care dezvoltatorii o acordă fluxurilor de lucru de recrutare. Un candidat se așteaptă să cloneze depozite, să instaleze dependențe, să inspecteze codul și să pornească servere locale în timpul unei evaluări, oferind atacatorilor un motiv plauzibil pentru a solicita acțiuni potențial periculoase.

Proiectul conținea imagini SVG care arată steagurile țării. Fișiere precumAE.svgşiAF.svgredate în mod normal, dar sursa lor conținea blocuri de comentarii în stil HTML care conțineau fragmente de malware codificate în Base64.

SVG este un format de imagine bazat pe XML care poate conține text, metadate și comentarii. În acest caz, atacatorii nu au ascuns codul prin modificări ale pixelilor imaginii. Au plasat text codificat direct în comentarii pe care un vizualizator de imagini le-ar ignora.

Un fișier JavaScript numitserverValidation.jsa colectat fișierele SVG, le-a sortat alfabetic, a extras comentariile și a alăturat fragmentele. Apoi a decodat și a executat sarcina utilă JavaScript reconstruită.

Etapa de atacActivitate observată
Naluca de recrutareOportunitate de dezvoltator fals publicată prin Slack
Contact privatȚintele interesate au fost mutate în mesaje directe
Livrarea proiectuluiEvaluarea funcțională a codificării comerțului electronic este furnizată
Stocarea încărcăturii utileFragmente Base64 plasate în comentarii în interiorul fișierelor steag SVG
ReconstrucţieserverValidation.jscitește și unește fragmentele
ExecuţieJavaScript recuperat rulează ori de câte ori pornește serverul de proiect
Furtul de dateAcreditări, portofele, fișiere și date din clipboard colectate
Acces de la distanțăCanalul Socket.IO permite executarea comenzilor interactive

Sarcina utilă rulează la pornirea serverului

ale proiectuluiserver/index.jsfișierul apelează rutina de validare rău intenționată după configurarea middleware-ului său inițial. ambelenpm run devşinpm startlansați acest fișier server.

Ca rezultat, malware-ul rulează de fiecare dată când serverul de dezvoltare locală pornește. Este posibil ca controalele managerului de pachete care se concentrează doar pe scripturile de instalare să nu oprească această cale de execuție.

Aceasta înseamnă, de asemenea, că o previzualizare SVG singură nu infectează sistemul. Atacul observat necesită ca ținta să ruleze proiectul și să activeze JavaScript pe partea de server care reconstruiește sarcina utilă ascunsă.

De ce cercetătorii o numesc OTTERCOOKIE-Aligned

Elastic a găsit asemănări între JavaScript recuperat și OTTERCOOKIE, inclusiv șiruri de caractere potrivite, structura codului, comportamentul și punctele finale API. Cu toate acestea, eșantionul a inclus modificări și capabilități combinate împărțite anterior în familiile de malware asociate.

TheAnaliza Microsoft Contagious Interviewdescrie OTTERCOOKIE ca pe o ușă din spate JavaScript modulară care poate executa comenzi, poate căuta chei de criptomonede, poate încărca module suplimentare și poate extrage date.

Elastic a spus că granițele dintre OTTERCOOKIE și BEAVERTAIL au devenit mai puțin clare. Sarcina utilă REF9403 funcționează ca un set de instrumente all-in-one, fără stadiul Python văzut în unele infecții anterioare cu interviuri contagioase.

Patru module malware rulează pe dispozitiv

JavaScript reconstruit lansează patru componente principale. Împreună, oferă furt de acreditări, colectare de fișiere, monitorizare clipboard și acces de la distanță.

Prima componentă vizează acreditările browserului, bazele de date de completare automată și extensiile de portofel cu criptomonede pe Windows, macOS și Linux. Își schimbă titlul procesului înnpm-cachesă apară ca un proces obișnuit Node.js.

Celelalte componente caută sistemul de fișiere, creează un canal de comandă Socket.IO și colectează conținutul clipboard-ului. Pe Windows, malware-ul poate încerca, de asemenea, să descarce fișiere executabile suplimentare din infrastructura controlată de atacator.

ModulCapacitatea principalăPlatforme acceptate
Fură de browser și portofelColectează datele salvate ale browserului și bazele de date cu extensii de portofel cu criptomonedeWindows, macOS și Linux
Furător de fișiereCaută documente, cod sursă, acreditări și fișiere de configurareWindows, macOS și Linux
Priză.IO RATOferă înregistrarea sistemului și execuția interactivă a comenzilor shellWindows, macOS și Linux
Furător de clipboardMonitorizează și încarcă modificarea conținutului clipboard-uluiWindows și macOS
Dropper de sarcină utilăÎncercarea de a descărca și executa fișiere suplimentareWindows

Acreditările browserului și portofelele cu criptomonede vizate

Modulul de acreditări caută profiluri aparținând browserelor precum Chrome, Edge, Brave, Opera și LT Browser. Căile exacte ale browserului variază în funcție de sistemul de operare.

Acesta vizează baze de date care pot conține date de conectare salvate, informații de completare automată și date de extensie. Mostrele conțin, de asemenea, o listă codificată de 25 de extensii de browser pentru portofel de criptomonede, inclusiv MetaMask, Phantom, Rabby, Trust Wallet, TronLink, OKX Wallet și alternative legate de Coinbase.

Pe macOS, modulul încearcă, de asemenea, să colecteze baza de date a brelocului de autentificare a utilizatorului. Sesiunile de browser furate sau datele de extensie a portofelului pot rămâne utile chiar și după ce o victimă schimbă parola unui cont.

File Stealer caută directoare pentru dezvoltatori

Componenta de furt de fișiere caută fișiere de mediu, chei private, istorice shell, documente, cod sursă, fișiere de configurare și imagini. Pe Windows, enumerează unitățile montate înainte de a le scana.

Pe macOS și Linux, căutarea se concentrează pe directorul principal al utilizatorului. Căi care conţin.aws,.azure,.config,.ssh,.bash_historysau.zsh_historyprimesc o atenție deosebită.

Această direcționare creează un risc organizațional serios. Mașinile pentru dezvoltatori conțin adesea acreditări cloud, jetoane de depozit, chei SSH și acces la sisteme CI/CD care ar putea suporta un compromis mai larg.

  • Fișiere de mediu care conțin secrete ale aplicației
  • Acreditări AWS și Azure
  • Chei private SSH și configurație
  • Istoricul comenzilor Shell
  • Fișiere cu cod sursă și documente de proiect
  • Baze de date de conectare la browser
  • Date despre extensia portofelului criptomonede
  • Datele brelocului de conectare macOS

Backdoorul Socket.IO oferă atacatorilor un Shell interactiv

Modulul de acces la distanță se conectează lacontroller.rightwidth[.]devprin Socket.IO prin HTTPS. Înregistrează sistemul infectat și trimite controlorului informații de identificare ale gazdei.

Un operator poate trimite o comandă shell prin canal. Programul malware îl rulează cu Node.jschild_process.exec()și returnează rezultatul, oferind acces interactiv la mașina compromisă.

Modulul verifică semnele de VMware, VirtualBox, QEMU și alte medii virtualizate. Un rezultat pozitiv adaugă o etichetă de mașină virtuală la informațiile de înregistrare, dar malware-ul continuă să ruleze.

Monitorizarea clipboard rulează la fiecare jumătate de secundă

Pe Windows și macOS, componenta clipboard verifică conținut nou la fiecare 500 de milisecunde. Orice modificare poate fi trimisă infrastructurii atacatorului.

Sistemele Windows rulează comenzi PowerShell ascunse repetate folosindGet-Clipboard. Pe macOS, malware-ul foloseștepbpastecomanda. Implementarea Linux din eșantionul analizat nu a colectat conținut clipboard.

Această caracteristică ar putea expune parole, jetoane API, adrese de portofel, fraze de recuperare sau mesaje private pe care un dezvoltator le copiază în timpul lucrului obișnuit.

Componenta Windows încearcă descărcări suplimentare

Dropper-ul numai pentru Windows încearcă să descarce trei fișiere deghizate.txtextensii. Le redenumește cahostService.exe,printSvc.exeşidhcpSvc.exeînainte de executare.

Elastic nu a putut prelua aceste fișiere deoarece serverul nu a fost disponibil în timpul analizei. Prin urmare, funcționalitatea lor exactă rămâne neconfirmată și nu ar trebui să fie dedusă din numele fișierelor lor.

Recuperarea eșuată nu face un sistem infectat sigur. Furtul de acreditări, colectarea fișierelor, monitorizarea clipboard-ului și modulele de acces la distanță pot deja expune informații sensibile fără aceste încărcături suplimentare.

Interviul contagios i-a vizat pe dezvoltatori de ani de zile

Contagious Interview funcționează cel puțin din decembrie 2022. Atacatorii se uzurpă de obicei pe recrutori de la companii de criptomonede, tehnologie sau inteligență artificială și ghidează victimele printr-un proces de angajare convingător.

Cercetarea interviului contagios din Unitatea 42au documentat anterior recrutori falși legați de Coreea de Nord, care furnizează malware BEAVERTAIL și InvisibleFerret persoanelor în căutarea unui loc de muncă în tehnologie.

Campania REF9403 schimbă ambalajul, dar obiectivul de inginerie socială rămâne consistent. Atacatorul are nevoie ca ținta să aibă încredere în atribuire și să execute cod într-un mediu care conține acreditări valoroase.

Indicatori asociați cu REF9403

Echipele de securitate ar trebui să combine indicatorii de fișiere, de rețea și de comportament. Numele de arhivă pot fi schimbate cu ușurință, în timp ce proiectele legitime pot folosi întâmplător nume generice, cum ar fiecommerce-main.zip.

TipIndicatorScopul raportat
FişierserverValidation.jsReconstituie sarcina utilă din comentariile SVG
FişierAE.svgşiAF.svgExemple de fișiere flag care conțin fragmente codificate
Titlul procesuluinpm-cacheDeghizarea procesului malware
Domeniurightwidth[.]devClipboard și infrastructură de comandă
Domeniuldb.rightwidth[.]devColectarea datelor din browser și portofel
Domeniuupload.rightwidth[.]devÎncărcări de fișiere furate
Domeniucontroller.rightwidth[.]devControler de acces la distanță Socket.IO
Domeniufile.rightwidth[.]devDescărcări utile Windows
IPv4195.26.248[.]212Infrastructura de comandă raportată
IPv4188.40.64[.]61Infrastructura de comandă raportată

Cum pot dezvoltatorii să verifice evaluările de codificare

Dezvoltatorii ar trebui să trateze fiecare test de codare nesolicitat ca un cod nede încredere. O interfață îmbunătățită, dependențe valide și funcții de lucru nu stabilesc că depozitul este sigur.

Înainte de execuție, evaluatorii ar trebui să inspectezepackage.json, fișiere de pornire a serverului, configurații de sarcini și scripturi care citesc directoare de active. Comentariile lungi codificate în interiorul fișierelor SVG, HTML sau alte fișiere statice merită, de asemenea, investigații.

TheGhid de atenuare Microsoftrecomandă utilizarea mașinilor virtuale izolate, nepersistente pentru testele de codare și evitarea stațiilor de lucru primare care au acces la sisteme de producție, depozite sau conturi cloud.

  • Verificați recrutorul și compania printr-un canal independent.
  • Verificați vechimea și istoricul depozitului și al contului de expeditor.
  • Examinați toate fișierele de pornire și de configurare a sarcinilor.
  • Cautăeval(), construcție dinamică a funcției și execuție shell.
  • Inspectați comentariile din SVG, HTML și alte elemente statice.
  • Utilizați o mașină virtuală de unică folosință fără acreditări personale sau corporative.
  • Restricționați accesul la rețea de ieșire în timp ce testați proiecte necunoscute.
  • Nu dezactivați instrumentele de securitate la cererea unui recrutor.

Ce să faceți după rularea unui depozit suspect

Oricine a condus un proiect potrivit ar trebui să deconecteze dispozitivul de la rețea și să contacteze echipa de securitate relevantă. Depozitul, istoricul terminalului, informațiile despre proces și jurnalele de rețea trebuie păstrate înainte de curățare.

Acreditările ar trebui să fie rotite de pe un dispozitiv separat de încredere. Echipele ar trebui să revoce sesiunile de browser, jetoanele de depozit, acreditările npm, cheile cloud și alte secrete care erau disponibile pentru contul afectat.

Indicatorii REF9403 de la Elasticpoate sprijini vânătoarea, dar respondenții ar trebui să investigheze și dovezi comportamentale, cum ar fi enumerarea amplă a fișierelor, accesul repetat la clipboard, procesele Node.js suspecte și conexiunile Socket.IO neașteptate.

  1. Izolați dispozitivul de dezvoltator suspectat.
  2. Păstrați depozitul și înregistrați-i sursa și comite informații.
  3. Colectați procesele care rulează, istoricul terminalului și jurnalele de rețea.
  4. Căutați numele de fișiere, domeniile, adresele IP și hashurile de arhivă cunoscute.
  5. Revocați sesiunile active de pe un dispozitiv curat.
  6. Rotiți acreditările GitHub, GitLab, npm, SSH, cloud și CI/CD.
  7. Examinați portofelele criptomonede și mutați fonduri dacă este posibilă expunerea.
  8. Verificați jurnalele de control al sursei și de audit în cloud pentru acces neautorizat.
  9. Investigați alte sisteme accesibile prin intermediul acreditărilor stocate pe dispozitiv.
  10. Reconstruiți punctul final atunci când respondenții nu pot stabili domeniul complet.

Punctele finale ale dezvoltatorilor au nevoie de o izolare mai puternică

Dezvoltatorii au nevoie de instrumente care pot executa cod, instala pachete și pot ajunge la servicii externe. Aceste capabilități fac sistemele lor ținte valoroase și pot slăbi controalele concepute pentru dispozitivele obișnuite de birou.

Mai devremeConcluziile unității 42 privind direcționarea către dezvoltatoria arătat cum interviurile false ar putea plasa programe malware pe mai multe platforme pe sistemele Windows și macOS. REF9403 extinde acest model la activele pe care dezvoltatorii le pot presupune că sunt inofensive.

Organizațiile ar trebui să ofere medii dedicate pentru evaluările candidaților, testarea open-source și arhivele nefamiliare. Acreditările de scurtă durată, seifurile secrete și limitele stricte de acces pot reduce impactul dacă un dezvoltator rulează cod rău intenționat.

FAQ

Ce este campania REF9403?

REF9403 este un nume de urmărire Elastic Security Labs pentru o campanie de interviu contagioasă legată de Coreea de Nord, care distribuie evaluări de codare rău intenționată dezvoltatorilor de software.

Vizualizarea unei imagini SVG infectate poate rula malware OTTERCOOKIE?

Infecția REF9403 observată nu începe atunci când cineva pur și simplu vede o imagine de steag. Malware-ul rulează atunci când victima pornește proiectul furnizat și JavaScript-ul său de pe server reconstruiește și execută fragmente Base64 stocate în comentariile SVG.

Ce informații poate fura malware-ul?

Programul malware poate colecta acreditări ale browserului, date de completare automată, baze de date cu extensii de portofel cu criptomonede, acreditări cloud, fișiere SSH, fișiere de mediu, documente, cod sursă, istoricul shell și conținutul clipboard-ului.

Ce sisteme de operare sunt afectate?

Principalele module de acreditări, de furt de fișiere și de acces la distanță acceptă Windows, macOS și Linux. Colecția Clipboard funcționează pe Windows și macOS în eșantionul analizat, în timp ce descărcările executabile suplimentare vizează Windows.

Ce ar trebui să facă un dezvoltator după ce rulează un test de codare suspect?

Dezvoltatorul ar trebui să izoleze dispozitivul, să păstreze dovezile și să notifice echipa de securitate. De pe un dispozitiv curat separat, sesiunile și acreditările expuse ar trebui revocate sau rotite, inclusiv jetoanele de control sursă, cheile cloud, cheile SSH și secretele portofelului pentru criptomonede.