TL; DR
nolimit-agent on npm-pakett, mille avaldatud versioonid — 1.0.299 läbi 1.0.307, mis vabastati nelja päeva jooksul 26.06.2026 kuni 29.06.2026 – igaühel neist on täielik andmepüügi ja massposti raamistik peidetud, täielikult hägustatud kataloogis. Igas versioonis on peakirje asendatud kujul .ad/x0.js, üks ~86 failist dotfile-nimelises kaustas, mis sisaldab umbes 4,200 javascript-obfuscator string-array objekti; installikonks ja kirje paigutus on kogu real identsed.
Hämamise taga peitub Microsoft 365 OAuthi seadmekoodi voog (login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode), mis pärast koodi kinnitamist loeb ohvri Outlooki postkasti ja saadetud üksusi Microsoft Graph API kaudu; operaatori edastatud saajate nimekirjade abil töötav SMTP ja SMS-ide massiline saatmismootor; brändi jäljendamise sõnumimallid; avatud ümbersuunamislinkide loomine; ja luure DNS-üle HTTPS-i, WHOIS-i ja GitHubi koodiotsingu kaudu. Käitusaja liiklusmajakad operaatori infrastruktuurile aadressil api[.]nolimitent[.]xyz:4100.
Mõjutatud: igaüks, kes installib paketi mis tahes versiooni ja kõik Microsoft 365 postkast mille omanik kiidab heaks selle kaudu esitatud seadmekoodi. Uusim versioon 1.0.307, on uusim silt ja sellel on sama seadmekoodi postkasti funktsioon – pahatahtlik kood ei piirdu ühe varasema versiooniga.
Raskus: kriitilineMõjutatud ökosüsteem: npmEsimene indikaator, mida esimesena otsida: host api[.]nolimitent[.]xyz.
Rünnak: kuidas see toimib
Healoomuline kest varjatud kasuliku koorma kohal
Pakendil on tavaline pind. pakett.json kuulutab a pärast installimist konks –
text postinstall: node scripts/postinstall.js — ja kontrollimisel skriptid/postinstall.js on kahjutu: see installib Windowsi käskude shim'i ja väljub. Konks ei ole see, kus see käitumine peitub. põhiline ja konteiner mõlemad väljad osutavad .reklaam/, kataloog, mille alguspunkt hoiab selle juhuslikust kasutamisest eemal ls väljund ja mille sisu on ühtlaselt masinhägustatud. Staatiline skanner loendas ~4,293 kodeeritud kasuliku koormuse ulatust kogu .reklaam/ moodulite komplekt; javascript-obfuscator on deklareeritud arendussõltuvus, mis vastab komplekteeritud failide string-array-rotation kujule.
See jaotus on esimene nimetamist väärt signaal: installikonks, mida arvustaja uuriks, on puhas, samas kui toimiv kood asub ühe kataloogi kaugusel, peidetud ja hägustatud ning sinna jõuab ainult siis, kui paketi eksporditud sisenemispunkt töötab.
Microsoft 365 seadmekoodi postkasti juurdepääs
Moodul .ad/x12.js sisaldab raamistiku kõige olulisemat funktsiooni. See juhib Microsoft 365 OAuth 2.0 seadme autoriseerimist:
text POST login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode Seadme koodi andmine on õigustatud Microsofti voog, mis on loodud sisendpiiranguga seadmetele: teenus taotleb koodi, kasutaja tipib selle koodi sisse/välja. microsoft.com/devicelogin`teises seadmes ja kiidab selle heaks ning taotlev teenus saab tokenid. Kui taotlev teenus kuulub kellelegi teisele peale postkasti omaniku, annab heakskiit sellele kolmandale osapoolele tokeni. Kui token on saadud, .ad/x12.js` loeb postkasti otse Microsoft Graphi kaudu:
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 . $vali Projektsioonid ammutavad saatja aadressid postkastist ja saaja aadressid saadetud kirjadest – see on ohvri korrespondentide kaardistamise tooraine. See on vastase-keskel (AiTM) juurdepääs nõusoleku, mitte parooli hankimise teel: klassikalises mõttes pole andmepüügiks volitusi, vaid ainult kinnituskood.
Massposti ja SMS-ide mootor koos isikupärastamise mallidega
Postkasti ligipääsu ümber asub saatja. Pakett saadab operaatori poolt muudetavaid andmefaile – saatjate loendeid (saatjad.txt, smtps.txt) ja mallifail (funktsioonid.txt) — mille kohatäiteaadressid loetakse isikupärastamise valimisleheks: security@apple.com, login-verifitseerimine, OAuth-teenus, arveldus ja kontoteavituste saatjad a-i vastu yourdomain.com operaatori asendaja. SMS-poolel on telefonebook ja lüüsi konfiguratsioon. Postiprogramm kordab operaatori esitatud saajate loendeid ja saadab need konfigureeritud SMTP-releede kaudu.
Et lingid maanduksid, .ad/xu.js ja .ad/xq.js luua URL-e, mis kasutavad ära URL-i parsimise ebaselgust ja klikkide jälgimist. Võltsimismustrid manustavad usaldusväärse välimusega autoriteedi enne @ seega nähtav eesliide erineb tegelikust hostist:
text https://trusted[.]com@ https://trusted[.]com%40 https://trusted[.]com:80@ https://redirect[.]example[.]com/ https://track[.]example[.]com/click? Raamistik haarab ka lemmikuid suurematelt tarbijatelt ja enterprise meiliteenuse pakkujad – tavapärane tehnika veenva pakkuja kaubamärgiga päringu või maandumislehe kuvamiseks.
Sihtmärgi ja infrastruktuuri luure
Mitmed moodulid koguvad enne saatmist konteksti. .ad/x0.js lahendab nimed DNS-üle-HTTPS-i kaudu (dns[.]google/lahendada), .ad/xa.js päringud WHOIS (api[.]whois[.]vu), Ja .ad/x9.js käivitab GitHubi koodiotsingu (api[.]github[.]com/search/code?q=) — muster, mis on kooskõlas edastusloendi toitmiseks vajalike paljastatud meiliserveri konfiguratsiooni ja SMTP-mandaatide avastamisega. .ad/xs.js pärib Wayback Machine'i CDX-indeksit.
Käsk ja kontroll
Üle hägustatud hulga .ad/x4.js viitab operaatori lõpp-punktile:
text http://api[.]nolimitent[.]xyz:4100 Võõrustaja jagab oma piiramatu bränd kirjastaja enda nimega ja : 4100 port on raamistiku kodukõne kanal. See on kaitsjate jaoks kõige vastupidavam indikaator: pakett, arendaja tööjaam või ehitusagent jõuab api[.]nolimitten[.]xyz on selle koodi käivitanud.
Kompromissi näitajad
Allolevate indikaatoritega saab kaitsja tegutseda – kasutada lukustusfaili grep-käsuga, blokeerida hosti või otsida puhverserveri ja DNS-i logidest. Microsofti lõpp-punktid ilmuvad seetõttu, et raamistik kuritarvitab neid; need ise ei ole pahatahtlikud ja neid ei tohiks blokeerida.
| Indikaator | KASUTUSALA | Kus | Kaitsja tegevus |
|---|---|---|---|
nolimit-agent (kõik versioonid 1.0.299–1.0.307) | Pakend | npm | Grepi lukustusfailid / installilogid |
api[.]nolimitent[.]xyz (:4100) | C2 peremeesorganism | .ad/x4.js | Blokeeri; otsi DNS-i ja puhverserveri logisid |
.ad/ peidetud kataloog peamise/bin-sihtmärgina | struktuur | package.json | Staatiline signaal registri ülevaates |
trusted[.]com@ / %40 / :80@ lingivormid | URL-i võltsimine | .ad/xu.js, .ad/xq.js | Meili/puhverserveri URL-i kontroll |
Seadmekoodi andmine + Graph inbox/sentitems lugenud | Käitumine | .ad/x12.js | M365 sisselogimine + Graafi auditi ülevaade |
Triaažil jäädvustatud failiräsi:
- pakett/.ad/x0.js — sha256 e4153bb614ee03ec456e6b5b41926385db6aae0e4f3e771d18e581571ad7ca2a
- pakett/pakett.json — sha256 8618064f1f6146b4a8f0459aff9154dca1847e3936aa44f4d4cd37e127075644
Sellest paketist sõltumatu Microsoft 365 üürniku signaal, mida tasub otsida: edukad seadmekoodi sisselogimised, millele järgnevad kohe Graafi näidud meilikaustad/postkast ja meilikaustad/senditemid, eriti seansi puhul, mida kasutaja ei tunne.
Omistamine ja täheldatud käitumine
See, mis on vaadeldav, jääb eraldi sellest, kes selle taga on.
Täheldatavad faktid: pakett avaldatakse käepideme all nolimit-agent kinnitamata Gmaili aadressiga ja lingitud allikahoidla puudumisel; selle pakett.json kirjeldab seda kui „täiustatud e-posti saatjat” ja märgistab selle punane meeskond märksõna; käitusaja kood on koondatud peidetud, segasesse kohta .reklaam/ kataloog, mille tööriistakett (javascript-obfuscator) on deklareeritud sõltuvus ja kodukõne host api[.]nolimitten[.]xyz taaskasutab piiramatu bränd. See on üks pakett ühe operaatori kontrollitava infrastruktuuri maamärgiga – mitte mitme paketi klaster ja kattumist varem nimetatud kampaaniaga ei tuvastatud.
. punane meeskond märksõna ei muuda klassifikatsiooni. Legitiimsed ründava turvalisuse tööriistad, mis pakuvad kaheotstarbelist võimalust, teevad seda läbipaistvalt: loetav lähtekood, operaatori antud sihtmärgid ja varjatud avakutse puudumine. See pakett pöörab kõik need omadused ümber – selle operatsioonikood on hägustatud ja peidetud ning see suunab fikseeritud operaatori infrastruktuuri, mitte kasutaja antud sihtmärgi juurde. Käitumine, mitte silt, määrab otsuse, mis on pahatahtlik.
Siin ei väideta kavatsust. Postituses kirjeldatakse koodi tegevust – seadme koodi taotlemine, postkasti lugemine Graphi kaudu, massiposti saatmine konfigureeritud releede kaudu, signaali edastamine fikseeritud hostile – ja motiivi ei avaldata.
Mõju, trendid ja kaitsjate juhised
Olulised on kaks installimise ajalist mõju. Esiteks, iga arendaja või CI agent, kes installib nolimit-agent toob raamistiku sellele hostile ja loob kodukõne api[.]nolimitten[.]xyzTeiseks laiendab seadmekoodi funktsioon ulatust installivast hostist kaugemale: Microsoft 365 postkast, mille omanikult nõutakse esitatud koodi kinnitamist, loetakse otse Graphi kaudu, ilma et parool kunagi kaablit läbiks.
Laiem trend on internaliseerimine. Seadmekoodi (AiTM) andmepüük on liikunud eraldiseisvast andmepüügi infrastruktuurist avaliku registri paketti – levitamine toimub npm installi Selle asemel, et kasutada e-posti teel saadetud linki. Komplekti selline pakendamine vahetab andmepüügioperaatori hostimise ja linkide edastamise probleemi registri käeulatusse ning peidab töökoodi puhta installi konksu ja dotfile-nimelise hägustatud kataloogi taha, mis välistab kiire käsitsi ülevaatamise.
Kaitsjatele:
- Registri ja sõltuvuste ülevaade. Töötle pakki, mille põhiline/konteiner lahendab end peidetud (punktidega eesliitega) kataloogiks, mis sisaldab ühtlaselt hägustatud esimese osapoole koodi ja on ainuüksi struktuuri põhjal kõrge riskiga, olenemata sellest, kas installikonks näeb puhas välja. Minimeerimine ei ole hägustamine – värav luuakse stringimassiivi dekoodri signatuuri, mitte rea pikkuse põhjal.
- Microsoft 365 turvalisuse tugevdamine. Piira seadmekoodi autoriseerimisvoogu tingimusjuurdepääsuga, kui see pole operatiivselt vajalik; seadmekoodi volitused on teadaolev AiTM-vektor ja interaktiivsed kasutajad vajavad neid harva. Auditeeri seadmekoodi sisselogimisi, millele järgneb kohene Graphi postkasti loendamine.
- Võrgu tuvastamine. Blokeeri ja teavita sees api[.]nolimitten[.]xyzOtsi väljaminevaid DNS-i ja puhverserveri logisid nii arendaja kui ka ehituse infrastruktuuri ulatuses.
- Postitee tuvastamine. . kasutaja@host URL-i võltsvormid (usaldusväärne[.]com@…) on tuvastatavad meiliväravas ja puhverserveris; märgistage lingid, mille autoriseerimiskomponent eelneb @.
Analüüsi ajal oli pakett npm-is aktiivne. Kuna peidetud raamistik hõlmab kogu avaldatud versioonirida ja praegust hiljemalt Silt (1.0.307) kannab seadmekoodi võimalust, registrist eemaldamine peaks hõlmama kõiki versioone, mitte ainult ühte varasemat versiooni.




