TL; DR
nolimit-agent je npm balík, ktorého publikované verzie — 1.0.299 cez 1.0.307, vydané počas štyroch dní od 26. júna 2026 do 29. júna 2026 – každý z nich nesie kompletný rámec pre phishing a hromadnú poštu vo vnútri skrytého, plne zahaleného adresára. V každej verzii sa hlavný záznam definuje ako .ad/x0.js, jeden z ~86 súborov v priečinku s názvom dotfile, ktorý obsahuje približne 4 200 blobov typu javascript-obfuscator typu string-array; rozloženie inštalačného hooku a položky je identické v celom riadku.
Za zahmlievaním sa skrýva Postup kódu zariadenia OAuth v službe Microsoft 365 (login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode), ktorý po schválení kódu prečíta doručenú poštu a odoslané položky v programe Outlook obete prostredníctvom rozhrania Microsoft Graph API; hromadný modul odosielania SMTP a SMS poháňaný zoznamami príjemcov poskytnutými operátorom; šablóny správ s vydávaním sa za značku; konštrukcia odkazov s otvoreným presmerovaním; a prieskum prostredníctvom vyhľadávania kódu DNS cez HTTPS, WHOIS a GitHub. Majáky prenosu za behu do infraštruktúry operátora na adrese api[.]nolimitent[.]xyz:4100.
Ovplyvnené: každý, kto nainštaluje akúkoľvek verziu balíka a akýkoľvek Poštová schránka v Microsoft 365 ktorého vlastník schvaľuje kód zariadenia prezentovaný prostredníctvom neho. Najnovšia verzia, 1.0.307, je aktuálna najnovšia značka a má rovnakú funkciu poštovej schránky kódu zariadenia – škodlivý kód nie je obmedzený na jednu spätnú verziu.
Závažnosť: kritickýOvplyvnený ekosystém: NPMJeden indikátor, ktorý treba hľadať ako prvý: hostiteľ api[.]nolimitent[.]xyz.
Útok: ako to funguje
Neškodná škrupina nad skrytým užitočným zaťažením
Balenie má bežný povrch. package.json vyhlasuje po inštalácii háčik –
text postinstall: node scripts/postinstall.js — a pri kontrole skripty/postinstall.js je neškodný: nainštaluje predradník príkazu systému Windows a ukončí sa. Háčik nie je miestom, kde sa správanie nachádza. hlavné a popolnice polia smerujú do .reklama/, adresár, ktorého úvodná bodka ho vylučuje z bežného ls výstup a ktorého obsah je jednotne strojovo zahalený. Statický skener napočítal ~4 293 rozsahov kódovaného užitočného zaťaženia v rámci .reklama/ sada modulov; javascript-obfuscator je deklarovaná vývojová závislosť, ktorá zodpovedá tvaru rotácie reťazcov a poľa v balíku súborov.
Rozdelenie je prvým signálom, ktorý stojí za zmienku: inštalačný hook, ktorý by recenzent skúmal, je čistý, zatiaľ čo operačný kód sa nachádza o jeden adresár ďalej, skrytý a zahmlený, dosiahnuteľný iba vtedy, keď sa spustí exportovaný vstupný bod balíka.
Prístup k poštovej schránke v Microsoft 365 s kódom zariadenia
Modul .ad/x12.js nesie najdôležitejšiu funkciu frameworku. Riadi autorizáciu zariadenia Microsoft 365 OAuth 2.0:
text POST login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode Udelenie kódu zariadenia je legitímny tok spoločnosti Microsoft určený pre zariadenia s obmedzeným vstupom: služba si vyžiada kód, používateľ tento kód zadá do microsoft.com/devicelogin` na druhom zariadení a schváli a požadujúca služba dostane tokeny. Keď požadujúca služba patrí niekomu inému ako vlastníkovi poštovej schránky, schválenie odovzdá tejto tretej strane token. Po získaní tokenu, Súbor .ad/x12.js` číta poštovú schránku priamo cez Microsoft Graph:
text GET graph[.]microsoft[.]com/v1.0/me/mailFolders/inbox/messages?$top=250&$select=from GET graph[.]microsoft[.]com/v1.0/me/mailFolders/sentitems/messages?$top=250&$select=toRecipients $select Projekcie získavajú adresy odosielateľov z doručenej pošty a adresy príjemcov z odoslaných položiek – čo je základný materiál na mapovanie korešpondentov obete. Ide o prístup typu „protivník v strede“ (AiTM) na základe súhlasu, a nie na základe zachytenia hesla: na phishing v klasickom zmysle slova nie sú potrebné žiadne poverenia, iba kód na schválenie.
Nástroj na hromadnú poštu a SMS so šablónami na vydávanie sa za imidž
Okolo prístupu k poštovej schránke sa nachádza odosielateľ. Balík odosiela dátové súbory, ktoré môže operátor upravovať – zoznamy odosielateľov (senders.txt, súbor smtps.txt) a súbor šablóny (functions.txt) — ktorých zástupné adresy sa čítajú ako hárok na odovzdanie inej osoby: security@apple.com, login-overovanie, služba OAuth, fakturácia a odosielatelia upozornení na účet voči yourdomain.com zástupca operátora nahrádza. SMS strana má telefónebook a konfiguráciu brány. Poštový program iteruje zoznamy príjemcov poskytnuté operátorom a odosiela cez nakonfigurované SMTP relé.
Aby sa zobrazovali odkazy, .ad/xu.js a .ad/xq.js vytvárajú URL adresy, ktoré zneužívajú nejednoznačnosť pri analýze URL adries a sledovaní kliknutí. Falošné vzory vkladajú dôveryhodne vyzerajúcu autoritu pred @ takže viditeľná predpona sa líši od skutočného hostiteľa:
text https://trusted[.]com@ https://trusted[.]com%40 https://trusted[.]com:80@ https://redirect[.]example[.]com/ https://track[.]example[.]com/click? Rámec tiež získava favicony od hlavných spotrebiteľov a enterprise poskytovatelia pošty – bežná technika na vykreslenie presvedčivého výzvy alebo vstupnej stránky s označením poskytovateľa.
Prieskum cieľov a infraštruktúry
Niekoľko modulov zhromažďuje kontext pred odoslaním. .ad/x0.js rozlišuje mená cez DNS cez HTTPS (dns[.]google/resolve), .ad/xa.js dotazy WHOIS (api[.]whois[.]vu), A .ad/x9.js spustí vyhľadávanie kódu na GitHub (api[.]github[.]com/search/code?q=) – vzor konzistentný s odhaľovaním odhalenej konfigurácie poštového servera a prihlasovacích údajov SMTP na poskytovanie zoznamu prenosov. .ad/xs.js dotazuje sa na index CDX Wayback Machine.
Velenie a riadenie
Cez zahmlenú scénu, .ad/x4.js odkazuje na koncový bod operátora:
text http://api[.]nolimitent[.]xyz:4100 Hostiteľ zdieľa svoje neobmedzený značka s vlastným názvom vydavateľa a : 4100 port je kanál frameworku pre volanie domov. Pre obrancov je to najodolnejší indikátor: balík, vývojárska pracovná stanica alebo agent zostavenia dosahujú api[.]bez obmedzenia[.]xyz spustil tento kód.
Indikátory kompromisu
Nižšie uvedené indikátory sú tie, na ktoré môže obranca reagovať – získanie uzamykateľného súboru pomocou príkazu grep, blokovanie hostiteľa alebo prehľadávanie protokolov proxy a DNS. Koncové body spoločnosti Microsoft sa zobrazujú, pretože ich framework zneužíva; samy o sebe nie sú škodlivé a nemali by sa blokovať.
| Indikátor | Typ | Kde | Akcia obrancu |
|---|---|---|---|
nolimit-agent (všetky verzie 1.0.299–1.0.307) | Balíček | NPM | Grep lockfiles / inštalačné protokoly |
api[.]nolimitent[.]xyz (:4100) | Hostiteľ C2 | .ad/x4.js | Blokovať; prehľadať protokoly DNS a proxy |
.ad/ skrytý adresár ako hlavný/bin cieľ | štruktúra | package.json | Statický signál v kontrole registra |
trusted[.]com@ / %40 / :80@ odkazové formuláre | Parodia URL adresy | .ad/xu.js, .ad/xq.js | Kontrola URL adresy pošty/proxy |
Udelenie kódu zariadenia + graf inbox/sentitems čítať | Správanie | .ad/x12.js | Prihlásenie do M365 + kontrola auditu Graph |
Haše súborov zachytené pri triedení:
- balík/.ad/x0.js — sha256 e4153bb614ee03ec456e6b5b41926385db6aae0e4f3e771d18e581571ad7ca2a
- balík/balík.json — sha256 8618064f1f6146b4a8f0459aff9154dca1847e3936aa44f4d4cd37e127075644
Signál nájomníka Microsoft 365, ktorý sa oplatí sledovať nezávisle od tohto balíka: úspešné prihlásenia pomocou kódu zariadenia, po ktorých nasledujú okamžité čítania grafu priečinky/doručená pošta a Priečinky/odoslané položky pošty, najmä z relácie, ktorú používateľ nepozná.
Pripisovanie a pozorované správanie
To, čo je pozorovateľné, zostáva oddelené od toho, kto za tým stojí.
Pozorovateľné fakty: balík je publikovaný pod úchytom nolimit-agent s neoverenou adresou Gmail a bez prepojeného zdrojového úložiska; package.json opisuje ho ako „pokročilý odosielateľ e-mailov“ a označuje ho značkou červený tím kľúčové slovo; behový kód je sústredený v skrytom, zahalenom .reklama/ adresár, ktorého nástrojová súprava (javascript-obfuscator) je deklarovaná závislosť; a hostiteľ call-home api[.]bez obmedzenia[.]xyz opätovne používa neobmedzený značka. Ide o jeden balík s jedným orientačným bodom infraštruktúry ovládaným operátorom – nie o klaster viacerých balíkov a nebolo zistené žiadne prekrývanie s predtým pomenovanou kampaňou.
červený tím Kľúčové slovo nemení klasifikáciu. Legitímne nástroje útočnej bezpečnosti, ktoré poskytujú dvojaké použitie, to robia transparentne: čitateľný zdroj, ciele dodané operátorom a žiadne skryté volania. Tento balík invertuje každú z týchto vlastností – jeho operačný kód je zahalený a skrytý a odkazuje na pevnú infraštruktúru operátora, a nie na cieľ dodaný používateľom. Verdikt, ktorý je škodlivý, určuje správanie, nie označenie.
Zámer sa tu neuvádza. Príspevok opisuje, čo kód robí – vyžiadanie kódu zariadenia, čítanie poštovej schránky cez Graph, odosielanie hromadnej pošty cez nakonfigurované relé, vysielanie signálu na pevne stanoveného hostiteľa – a motív nie je uvedený.
Vplyv, trendy a poradenstvo pre obrancov
Dôležité sú dva vplyvy na čas inštalácie. Po prvé, každý vývojár alebo agent CI, ktorý inštaluje nolimit-agent prenesie rámec na daného hostiteľa a nadviaže k nemu call-home api[.]bez obmedzenia[.]xyzPo druhé, schopnosť kódu zariadenia rozširuje dosah aj za hranice inštalačného hostiteľa: poštová schránka Microsoft 365, ktorej vlastník je vyzvaný na schválenie predloženého kódu, sa načíta priamo cez Graph bez toho, aby sa cez sieť prenieslo žiadne heslo.
Širším trendom je internalizácia. Phishing s využitím kódu zariadenia (AiTM) sa presunul zo samostatnej phishingovej infraštruktúry do balíka vo verejnom registri – distribúcia prostredníctvom npm install a nie prostredníctvom odkazu odoslaného e-mailom. Takto zabalená súprava vymieňa problém hostingu a doručovania odkazov phishingového operátora za dosah registra a skrýva operačný kód za hookom na čistú inštaláciu a zahaleným adresárom s názvom bodový súbor, ktorý bráni rýchlemu manuálnemu prehliadaniu.
Pre obrancov:
- Prehľad registra a závislostí. Zaobchádzajte s balíkom, ktorého hlavné/popolnice sa prevedie do skrytého adresára (s predponou bodky) s jednotne obfuskovaným kódom prvej strany ako vysoko rizikový len na základe štruktúry, nezávisle od toho, či inštalačný hook vyzerá čisto. Minimalizácia nie je obfuskácia – brána sa vzťahuje na podpis dekodéra poľa reťazcov, nie na dĺžku riadku.
- Spevnenie ochrany Microsoft 365. Obmedzte tok autorizácie kódu zariadenia pomocou podmieneného prístupu tam, kde to nie je prevádzkovo potrebné; granty na kód zariadenia sú známym vektorom AiTM a interaktívni používatelia ich zriedka potrebujú. Audit prihlásení pomocou kódu zariadenia, po ktorom nasleduje okamžitá enumerácia poštových schránok v Graphe.
- Detekcia siete. Blokovanie a upozornenie zapnuté api[.]bez obmedzenia[.]xyzVyhľadajte protokoly odchádzajúcich DNS a proxy v rámci infraštruktúry pre vývojárov a zostavovačov.
- Detekcia poštovej cesty. používateľ@hostiteľ Formuláre s falošnými URL adresami (dôveryhodný[.]com@…) sú detekovateľné na poštovej bráne a proxy; označte odkazy, ktorých komponent autority predchádza @.
Balík bol v čase analýzy aktívny na npm. Pretože skrytý framework pokrýva celú publikovanú verziu a aktuálnu posledný Ak značka (1.0.307) obsahuje funkciu kódu zariadenia, odstránenie z registra by malo zahŕňať každú verziu, nielen jednu spätnú verziu.




