TL; DR
nolimit-agent yn becyn npm y mae ei fersiynau cyhoeddedig — 1.0.299 drwy 1.0.307, wedi'u rhyddhau dros bedwar diwrnod o 2026-06-26 i 2026-06-29 — mae pob un yn cario fframwaith gwe-rwydo a negeseuon swmp cyflawn y tu mewn i gyfeiriadur cudd, wedi'i guddio'n llwyr. Ym mhob fersiwn mae'r prif gofnod yn datrys i .ad/x0.js, un o ~86 ffeil mewn ffolder o'r enw dotfile sy'n dal tua 4,200 o blobiau llinyn-array javascript-obfuscator; mae'r bachyn gosod a'r cynllun cofnod yn union yr un fath ar draws y llinell.
Y tu ôl i'r dryswch mae Llif cod dyfais Microsoft 365 OAuth (login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode) sydd, unwaith y bydd cod wedi'i gymeradwyo, yn darllen mewnflwch Outlook y dioddefwr ac eitemau a anfonwyd trwy'r Microsoft Graph API; peiriant anfon SMTP a SMS swmp wedi'i yrru gan restrau derbynwyr a gyflenwir gan weithredwr; templedi negeseuon dynwared brand; adeiladu dolenni ailgyfeirio agored; a chwiliadau cod DNS-dros-HTTPS, WHOIS, a GitHub. Goleuadau traffig amser rhedeg i seilwaith gweithredwr yn api[.]nolimitent[.]xyz:4100.
Yr effeithir arnynt: unrhyw un sy'n gosod unrhyw fersiwn o'r pecyn, ac unrhyw Blwch post Microsoft 365 y mae ei berchennog yn cymeradwyo cod dyfais a gyflwynir drwyddo. Y fersiwn ddiweddaraf, 1.0.307, yw'r tag diweddaraf cyfredol ac mae'n cario'r un gallu blwch post cod dyfais — nid yw'r cod maleisus wedi'i gyfyngu i un fersiwn ôl.
Difrifoldeb: feirniadolEcosystem yr effeithiwyd arni: npmYr un dangosydd i chwilio amdano yn gyntaf: y gwesteiwr api[.]nolimitent[.]xyz.
Yr ymosodiad: sut mae'n gweithio
Cragen ddiniwed dros lwyth tâl cudd
Mae'r pecyn yn cyflwyno arwyneb cyffredin. pecyn.json yn datgan a ôl-osod bachyn –
text postinstall: node scripts/postinstall.js — ac ar ôl archwiliad sgriptiau/postinstall.js yn ddiniwed: mae'n gosod shim gorchymyn Windows ac yn ymadael. Nid y bachyn yw lle mae'r ymddygiad yn byw. Y prif ac bin meysydd ill dau yn pwyntio i mewn .ad/, cyfeiriadur y mae ei ddot blaenllaw yn ei gadw allan o sefyllfa achlysurol ls allbwn, ac y mae ei gynnwys wedi'i gymysgu'n gyson gan beiriannau. Cyfrifodd y sganiwr statig ~4,293 o rychwantau llwyth tâl wedi'u hamgodio ar draws y .ad/ set modiwlau; javascript-obfuscator yn ddibyniaeth datblygu ddatganedig, sy'n cyfateb i siâp cylchdroi llinyn-arae y ffeiliau bwndelu.
Y rhaniad yw'r arwydd cyntaf sy'n werth ei enwi: mae'r bachyn gosod y byddai adolygydd yn ei graffu yn lân, tra bod y cod gweithredol un cyfeiriadur i ffwrdd, wedi'i guddio a'i gymysgu, dim ond pan fydd pwynt mynediad allforio'r pecyn yn rhedeg y gellir ei gyrraedd.
Mynediad i flwch post cod dyfais Microsoft 365
Y modiwl .ad/x12.js yn cario gallu mwyaf arwyddocaol y fframwaith. Mae'n gyrru grant awdurdodi dyfeisiau Microsoft 365 OAuth 2.0:
text POST login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode Mae'r grant cod dyfais yn llif Microsoft cyfreithlon sydd wedi'i gynllunio ar gyfer dyfeisiau sydd â chyfyngiadau mewnbwn: mae gwasanaeth yn gofyn am god, mae'r defnyddiwr yn teipio'r cod hwnnw i mewn microsoft.com/dyfaislogin` ar ail ddyfais ac yn cymeradwyo, ac mae'r gwasanaeth sy'n gofyn am y cais yn derbyn tocynnau. Pan fydd y gwasanaeth sy'n gofyn am y cais yn eiddo i rywun heblaw perchennog y blwch post, mae cymeradwyaeth yn rhoi tocyn i'r trydydd parti hwnnw. Unwaith y ceir tocyn, Mae .ad/x12.js` yn darllen y blwch post yn uniongyrchol drwy 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 The $dewis Mae rhagamcanion yn tynnu cyfeiriadau anfonwyr o'r mewnflwch a chyfeiriadau derbynwyr o eitemau a anfonwyd — y deunydd crai ar gyfer mapio gohebwyr dioddefwr. Dyma fynediad gwrthwynebydd-yn-y-canol (AiTM) trwy gydsyniad yn hytrach na thrwy gipio cyfrinair: nid oes unrhyw gymhwyster i bysgod yn yr ystyr glasurol, dim ond cod i gael cymeradwyaeth.
Peiriant post swmp ac SMS gyda thempledi dynwared
O amgylch mynediad y blwch post mae anfonwr. Mae'r pecyn yn anfon ffeiliau data y gellir eu golygu gan y gweithredwr — rhestrau anfonwyr (anfonwyr.txt, smtps.txt) a ffeil dempled (swyddogaethau.txt) — y mae ei gyfeiriadau lle yn darllen fel taflen gastio ar gyfer dynwared: diogelwch@apple.com, login-gwirio, gwasanaeth OAuth, bilio, ac anfonwyr hysbysiadau cyfrif yn erbyn a eichdomain.com mae'r gweithredwr yn cymryd ei le. Mae'r ochr SMS yn cario ffônebook a ffurfweddiad y porth. Mae'r anfonwr yn ailadrodd rhestrau derbynwyr a gyflenwir gan y gweithredwr ac yn anfon trwy gyfnewidfeydd SMTP wedi'u ffurfweddu.
I wneud i gysylltiadau lanio, .ad/xu.js ac .ad/xq.js adeiladu URLau sy'n manteisio ar amwysedd dadansoddi URLau ac olrhain cliciau. Mae'r patrymau ffug yn ymgorffori awdurdod sy'n edrych yn ddibynadwy cyn @ felly mae'r rhagddodiad gweladwy yn wahanol i'r gwesteiwr go iawn:
text https://trusted[.]com@ https://trusted[.]com%40 https://trusted[.]com:80@ https://redirect[.]example[.]com/ https://track[.]example[.]com/click? Mae'r fframwaith hefyd yn cipio eiconau hoff gan ddefnyddwyr mawr a enterprise darparwyr post — techneg arferol ar gyfer rendro prompt neu dudalen lanio argyhoeddiadol â brand darparwr.
Rhagchwilio targedau a seilwaith
Mae sawl modiwl yn casglu cyd-destun cyn anfon. .ad/x0.js yn datrys enwau dros DNS-dros-HTTPS (dns[.]google/datrys), .ad/xa.js ymholiadau WHOIS (api[.]whois[.]vu), A .ad/x9.js yn rhedeg chwiliad cod GitHub (api[.]github[.]com/search/code?q=) — patrwm sy'n gyson â darganfod ffurfweddiad gweinydd post a chymwysterau SMTP sydd wedi'u datgelu i fwydo'r rhestr gyfnewid. .ad/xs.js yn holi mynegai CDX y Wayback Machine.
Gorchymyn a rheolaeth
Ar draws y set gymylus, .ad/x4.js yn cyfeirio at derfynbwynt y gweithredwr:
text http://api[.]nolimitent[.]xyz:4100 Mae'r gwesteiwr yn rhannu ei diderfyn brand gydag enw'r cyhoeddwr ei hun, a'r : 4100 porthladd yw sianel galw-adref y fframwaith. Dyma'r dangosydd unigol mwyaf gwydn ar gyfer amddiffynwyr: pecyn, gweithfan datblygwr, neu asiant adeiladu sy'n cyrraedd api[.]dim terfyn[.]xyz wedi rhedeg y cod hwn.
Dangosyddion cyfaddawd
Y dangosyddion isod yw'r rhai y gall amddiffynwr weithredu arnynt — grep ffeil gloi, blocio gwesteiwr, neu chwilio am logiau dirprwy a DNS. Mae pwyntiau terfyn Microsoft yn ymddangos oherwydd bod y fframwaith yn eu camddefnyddio; nid ydynt yn faleisus eu hunain ac ni ddylid eu blocio.
| Dangosydd | math | Lle | Gweithred yr amddiffynwr |
|---|---|---|---|
nolimit-agent (pob fersiwn 1.0.299–1.0.307) | pecyn | npm | Ffeiliau cloi grep / logiau gosod |
api[.]nolimitent[.]xyz (:4100) | Gwesteiwr C2 | .ad/x4.js | Blocio; chwilio logiau DNS + dirprwy |
.ad/ cyfeiriadur cudd fel prif darged/bin | strwythur | package.json | Signal statig yn yr adolygiad cofrestrfa |
trusted[.]com@ / %40 / :80@ ffurflenni cyswllt | Ffug URL | .ad/xu.js, .ad/xq.js | Archwiliad URL post/dirprwy |
Grant cod dyfais + Graff inbox/sentitems darllen | Ymddygiad | .ad/x12.js | Mewngofnodi M365 + adolygiad archwilio Graff |
Hashiau ffeil a gipiwyd wrth ddosbarthu:
- pecyn/.ad/x0.js — sha256 e4153bb614ee03ec456e6b5b41926385db6aae0e4f3e771d18e581571ad7ca2a
- pecyn/pecyn.json — sha256 8618064f1f6146b4a8f0459aff9154dca1847e3936aa44f4d4cd37e127075644
Signal tenant Microsoft 365 sy'n werth ei hela ar wahân i'r pecyn hwn: mewngofnodiadau cod dyfais llwyddiannus ac yna darlleniadau Graff o Ffolderi post/blwch derbyn ac Ffolderi post/eitemau anfonedig, yn enwedig o sesiwn nad yw'r defnyddiwr yn ei hadnabod.
Priodoliad ac ymddygiad a welwyd
Mae'r hyn sy'n arsylladwy yn aros ar wahân i bwy sydd y tu ôl iddo.
Ffeithiau gweladwy: mae'r pecyn wedi'i gyhoeddi o dan yr handlen asiant-nolimit gyda chyfeiriad Gmail heb ei wirio a dim storfa ffynhonnell gysylltiedig; ei pecyn.json yn ei ddisgrifio fel “anfonwr e-bost uwch” ac yn ei dagio gyda’r tîm coch allweddair; mae'r cod amser rhedeg wedi'i ganoli mewn cudd, wedi'i gymysgu .ad/ cyfeiriadur y mae ei gadwyn offer (javascript-obfuscator) yn ddibyniaeth ddatganedig; a'r gwesteiwr galwad-gartref api[.]dim terfyn[.]xyz ailddefnyddio'r diderfyn brand. Mae hwn yn becyn sengl gydag un dirnod seilwaith a reolir gan weithredwr — nid clwstwr aml-becyn, ac ni nodwyd unrhyw orgyffwrdd ag ymgyrch a enwyd yn flaenorol.
The tîm coch Nid yw'r allweddair yn newid y dosbarthiad. Mae offer diogelwch sarhaus cyfreithlon sy'n cludo gallu deuol-ddefnydd yn gwneud hynny'n dryloyw: ffynhonnell ddarllenadwy, targedau a gyflenwir gan weithredwr, a dim galwad gartref gudd. Mae'r pecyn hwn yn gwrthdroi pob un o'r priodweddau hynny - mae ei god gweithredol wedi'i guddio a'i gymysgu, ac mae'n cyfeirio at seilwaith gweithredwr sefydlog yn hytrach na tharged y mae'r defnyddiwr yn ei gyflenwi. Yr ymddygiad, nid y label, sy'n llywodraethu'r dyfarniad, sy'n faleisus.
Ni chaiff bwriad ei honni yma. Mae'r post yn disgrifio beth mae'r cod yn ei wneud — gofyn am god dyfais, darllen blwch post dros Graph, anfon post swmp trwy gyfnewidyddion wedi'u ffurfweddu, signalu i westeiwr sefydlog — ac yn gadael cymhelliad heb ei ddatgan.
Effaith, tueddiadau a chanllawiau amddiffynwyr
Mae dau effaith amser gosod yn bwysig. Yn gyntaf, unrhyw ddatblygwr neu asiant CI sy'n gosod asiant-nolimit yn dod â'r fframwaith i'r gwesteiwr hwnnw ac yn sefydlu'r alwad gartref i api[.]dim terfyn[.]xyzYn ail, mae'r gallu i ddefnyddio cod dyfais yn ymestyn y tu hwnt i'r gwesteiwr sy'n ei osod: mae blwch post Microsoft 365 y mae ei berchennog yn cael ei annog i gymeradwyo cod a gyflwynir yn cael ei ddarllen yn uniongyrchol trwy Graph, heb i unrhyw gyfrinair groesi'r wifren byth.
Y duedd ehangach yw'r un i fewnoli. Mae gwe-rwydo cod dyfais (AiTM) wedi symud o seilwaith gwe-rwydo annibynnol i becyn ar gofrestrfa gyhoeddus — dosbarthiad gan npm gosod yn hytrach na thrwy ddolen a anfonir drwy e-bost. Mae pecynnu'r pecyn fel hyn yn cyfnewid problem cynnal a chyflwyno dolenni'r gweithredwr gwe-rwydo am gyrraedd cofrestrfa, ac yn cuddio'r cod gweithredol y tu ôl i fachyn gosod glân a chyfeiriadur wedi'i gymhlethu o'r enw dotfile sy'n trechu sgimio â llaw cyflym.
Ar gyfer amddiffynwyr:
- Adolygiad o'r gofrestrfa a dibyniaethau. Trin pecyn y mae ei prif/bin yn datrys i gyfeiriadur cudd (gyda rhagddodiad dot) o god parti cyntaf wedi'i gymysgu'n unffurf fel risg uchel ar strwythur yn unig, waeth a yw'r bachyn gosod yn edrych yn lân ai peidio. Nid yw lleihau yn gymysgu — giât ar lofnod y dadgodwr llinyn-arae, nid ar hyd y llinell.
- Caledu Microsoft 365. Cyfyngwch y llif awdurdodi cod dyfais gyda Mynediad Amodol lle nad oes ei angen yn weithredol; mae grantiau cod dyfais yn fector AiTM adnabyddus ac anaml y mae eu hangen ar ddefnyddwyr rhyngweithiol. Archwiliwch ar gyfer mewngofnodi cod dyfais ac yna rhestru blwch post Graph ar unwaith.
- Canfod rhwydwaith. Blocio a rhybuddio ymlaen api[.]dim terfyn[.]xyz. Chwiliwch am logiau DNS a dirprwy sy'n mynd allan ar draws seilwaith y datblygwr a'r adeiladwr.
- Canfod llwybr post. The defnyddiwr@gwesteiwr Ffurflenni URL-ffug (ymddiried[.]com@…) yn ganfyddadwy wrth borth y post a'r dirprwy; nodi cysylltiadau y mae eu cydran awdurdod yn rhagflaenu @.
Roedd y pecyn yn fyw ar npm ar adeg y dadansoddiad. Oherwydd bod y fframwaith cudd yn cwmpasu'r llinell fersiwn gyhoeddedig gyfan a'r fersiwn gyfredol diweddaraf Mae tag (1.0.307) yn cario'r gallu cod dyfais, dylai tynnu'r gofrestrfa i lawr gwmpasu pob fersiwn, nid dim ond un fersiwn ôl-weithredol.




