DeviceDoor npm Pob Khoom Xa Khoom rau Microsoft 365 Device-Code Phishing Framework

DeviceDoor: ib pob khoom npm rau pej xeem xa khoom Microsoft 365 device-code phishing thiab bulk-mail framework

TL; DR

nolimit-agent yog ib pob npm uas nws cov versions luam tawm - 1.0.299 txog 1.0.307, tso tawm tshaj plaub hnub txij li 2026-06-26 txog 2026-06-29 — txhua tus nqa ib ua tiav cov qauv phishing thiab bulk-mail nyob rau hauv ib daim nplaub tshev zais cia, uas tsis meej pem tag nrho. Hauv txhua version, cov ntawv nkag tseem ceeb daws teeb meem rau .ad/x0.js, ib qho ntawm ~ 86 cov ntaub ntawv hauv daim nplaub tshev dotfile uas muaj kwv yees li 4,200 javascript-obfuscator string-array blobs; qhov install hook thiab entry layout zoo ib yam thoob plaws kab.

Tom qab ntawm qhov kev tsis meej pem muaj ib qho Microsoft 365 OAuth cov lej ntaus ntawv (login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode) tias, thaum ib tus lej raug pom zoo, nyeem tus neeg raug tsim txom lub Outlook inbox thiab xa cov khoom los ntawm Microsoft Graph API; ib lub cav xa SMTP thiab SMS uas tsav los ntawm cov npe neeg tau txais los ntawm tus neeg teb xov tooj; cov qauv lus ua txuj ua li hom; kev tsim qhov txuas qhib-redirect; thiab kev tshuaj xyuas DNS-dhau-HTTPS, WHOIS, thiab GitHub code search. Runtime traffic beacons rau cov khoom siv ntawm tus neeg teb xov tooj ntawm api[.]nolimitent[.]xyz:4100.

Cuam tshuam: txhua tus neeg uas teeb tsa txhua version ntawm pob khoom, thiab txhua yam Microsoft 365 lub thawv xa ntawv uas tus tswv pom zoo rau tus lej khoom siv uas tau nthuav tawm los ntawm nws. Qhov version tshiab tshaj plaws, 1.0.307, yog daim ntawv cim tshiab tshaj plaws tam sim no thiab nqa tib lub peev xwm ntawm lub thawv xa ntawv-code - cov lej phem tsis txwv rau ib qho rov qab-version.

Mob hnyav: tseem ceeb heev. Lub ecosystem cuam tshuam: npm. Ib qho cim qhia uas yuav tsum tshawb nrhiav ua ntej: tus tswv tsev api[.]nolimitent[.]xyz.

Qhov kev tawm tsam: nws ua haujlwm li cas

Ib lub plhaub zoo tshaj qhov khoom thauj zais cia

Lub pob khoom nthuav tawm ib qho chaw zoo tib yam. pob.json tshaj tawm ib qho tom qab kev teeb tsa nuv - 

text postinstall: node scripts/postinstall.js 

- thiab thaum kuaj xyuas cov ntawv sau/postinstall.js tsis muaj teeb meem dab tsi: nws nruab ib lub Windows command shim thiab tawm mus. Lub hook tsis yog qhov chaw uas tus cwj pwm nyob. Lub ntsiab thiab yog ob qho tib si taw tes rau hauv .kev tshaj tawm/, ib daim ntawv teev npe uas muaj lub cim qhia ua ntej ua rau nws tsis yooj yim sua ls cov zis, thiab cov ntsiab lus uas nws cov ntsiab lus yog sib npaug zos tshuab-obfuscated. Lub scanner static suav ~ 4,293 encoded-payload spans hla lub .kev tshaj tawm/ module teeb tsa; javascript-obfuscator yog ib qho kev vam khom kev loj hlob uas tau tshaj tawm, uas phim cov duab ntawm cov ntaub ntawv bundled.

Qhov kev faib tawm yog thawj lub teeb liab uas tsim nyog rau lub npe: lub qhov txuas teeb tsa uas tus neeg tshuaj xyuas yuav tshuaj xyuas yog huv si, thaum cov lej ua haujlwm nyob ib daim nplaub tshev deb, zais thiab tsis meej, tsuas yog mus txog thaum lub pob khoom xa tawm qhov chaw nkag mus.

Kev nkag mus rau hauv lub thawv xa ntawv ntawm Microsoft 365 uas siv tus lej ntaus ntawv

Qhov module .ad/x12.js nqa lub peev xwm tseem ceeb tshaj plaws ntawm lub moj khaum. Nws tsav Microsoft 365 OAuth 2.0 kev tso cai rau lub cuab yeej:

text POST login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode 

Qhov kev tso cai rau tus lej ntaus ntawv yog ib qho txheej txheem Microsoft raug cai uas tsim los rau cov khoom siv uas txwv tsis pub nkag mus: ib qho kev pabcuam thov tus lej, tus neeg siv ntaus cov lej ntawd rau hauv microsoft.com/devicelogin` ntawm lub cuab yeej thib ob thiab pom zoo, thiab qhov kev pabcuam thov tau txais cov cim. Thaum qhov kev pabcuam thov yog lwm tus neeg uas tsis yog tus tswv lub thawv xa ntawv, kev pom zoo muab tus neeg thib peb ntawd ib lub cim. Thaum tau txais lub cim, .ad/x12.js` nyeem lub thawv xa ntawv ncaj qha los ntawm 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 

cov $xaiv Cov kev kwv yees rub cov chaw nyob ntawm tus xa los ntawm lub inbox thiab cov chaw nyob ntawm tus neeg tau txais los ntawm cov khoom xa - cov khoom siv raw rau kev kos duab cov neeg sib txuas lus ntawm tus neeg raug tsim txom. Qhov no yog kev nkag mus rau tus yeeb ncuab-hauv-nruab nrab (AiTM) los ntawm kev tso cai es tsis yog los ntawm kev ntes password: tsis muaj daim ntawv pov thawj rau phishing hauv lub ntsiab lus classic, tsuas yog tus lej kom tau txais kev pom zoo.

Ib lub tshuab xa ntawv thiab SMS ntau nrog cov qauv ua piv txwv

Nyob ib ncig ntawm qhov nkag mus rau hauv lub thawv xa ntawv muaj ib lub tshuab xa ntawv. Lub pob khoom xa cov ntaub ntawv uas tus neeg teb xov tooj hloov kho tau - cov npe xa ntawv (cov neeg xa ntawv.txt, smtps.txt) thiab cov ntaub ntawv qauv (functions.txt) — uas nws cov chaw nyob nyeem ua daim ntawv pov thawj rau kev ua txuj ua li: security@apple.com, login-kev txheeb xyuas, OAuth-kev pabcuam, kev them nqi, thiab cov neeg xa ntawv ceeb toom txog tus account tawm tsam ib qho koj lub npe.com tus neeg teb xov tooj hloov chaw. Sab SMS nqa lub xov toojebook thiab kev teeb tsa lub rooj vag. Tus xa ntawv rov ua cov npe ntawm cov neeg tau txais uas tus neeg teb xov tooj muab thiab xa mus rau SMTP relays uas tau teeb tsa.

Yuav ua kom cov kev sib txuas av, .ad/xu.js thiab .ad/xq.js tsim cov URL uas siv qhov URL parsing ambiguity thiab click tracking. Cov qauv spoof embed ib tug ntseeg-saib authority ua ntej ib tug @ yog li ntawd, qhov pom tseeb prefix txawv ntawm tus tswv tsev tiag tiag:

text https://trusted[.]com@      https://trusted[.]com%40      https://trusted[.]com:80@ https://redirect[.]example[.]com/      https://track[.]example[.]com/click? 

Lub moj khaum kuj tseem ntes cov favicons los ntawm cov neeg siv khoom loj thiab enterprise cov neeg muab kev pabcuam xa ntawv - ib txoj kev niaj hnub rau kev tsim cov lus qhia lossis nplooj ntawv tsaws uas muaj lub npe ntawm tus neeg muab kev pabcuam.

Kev tshuaj xyuas lub hom phiaj thiab cov khoom siv hauv paus

Muaj ntau lub modules sau cov ntsiab lus ua ntej xa. .ad/x0.js daws cov npe dhau DNS-dhau-HTTPS (dns[.]google/daws teeb meem), .ad/xa.js cov lus nug WHOIS (api[.]whois[.]vu), Thiab .ad/x9.js khiav GitHub nrhiav code (api[.]github[.]com/nrhiav/code?q=) — tus qauv uas sib xws nrog kev tshawb pom qhov teeb tsa mail-server thiab SMTP cov ntaub ntawv pov thawj los pub rau daim ntawv teev relay. .ad/xs.js nug Wayback Machine's CDX index.

Kev txib thiab kev tswj hwm

Thoob plaws qhov teeb tsa tsis meej, .ad/x4.js xa mus rau qhov kawg ntawm tus neeg teb xov tooj:

text http://api[.]nolimitent[.]xyz:4100 

Tus tswv tsev qhia nws cov tsis muaj kev txwv lub npe lag luam nrog tus tshaj tawm lub npe, thiab : 4100 qhov chaw nres nkoj yog lub channel hu-tsev ntawm lub framework. Qhov no yog qhov qhia tau ruaj khov tshaj plaws rau cov neeg tiv thaiv: pob khoom, chaw ua haujlwm tsim tawm, lossis tus neeg sawv cev tsim kho uas ncav cuag api[.]nolimitent[.]xyz tau khiav cov lej no.

Cov cim qhia txog kev sib haum xeeb

Cov cim qhia hauv qab no yog cov uas tus neeg tiv thaiv tuaj yeem ua tau - grep ib qho lockfile, thaiv ib lub host, lossis tshawb nrhiav proxy thiab DNS cav. Microsoft endpoints tshwm sim vim tias lub framework siv tsis raug; lawv tsis yog tus neeg phem thiab yuav tsum tsis txhob raug thaiv.

Qhov taw qhia hom Qhov twg Kev ua haujlwm ntawm tus neeg tiv thaiv
nolimit-agent (txhua hom 1.0.299–1.0.307) pob npm Grep lockfiles / install cav
api[.]nolimitent[.]xyz (:4100) C2 tus tswv tsev .ad/x4.js Thaiv; tshawb nrhiav DNS + proxy cav
.ad/ zais dir ua lub hom phiaj tseem ceeb / bin qauv package.json Lub teeb liab zoo li qub hauv kev tshuaj xyuas kev sau npe
trusted[.]com@ / %40 / :80@ cov ntawv txuas URL cuav .ad/xu.js, .ad/xq.js Kev tshuaj xyuas URL ntawm Mail/proxy
Kev tso cai rau tus lej ntaus ntawv + Daim duab inbox/sentitems nyeem tus cwj pwm .ad/x12.js Kev nkag mus rau hauv M365 + kev tshuaj xyuas daim duab qhia

Cov ntaub ntawv hash raug ntes thaum triage:

  • pob khoom/.ad/x0.js — sha256 e4153bb614ee03ec456e6b5b41926385db6aae0e4f3e771d18e581571ad7ca2a

  • pob khoom/pob khoom.json — sha256 8618064f1f6146b4a8f0459aff9154dca1847e3936aa44f4d4cd37e127075644

Ib qho cim qhia txog Microsoft 365 tus neeg xauj tsev uas tsim nyog nrhiav yam tsis tas yuav muaj pob khoom no: kev nkag mus rau hauv tus lej ntaus ntawv ua tiav tom qab ntawd los ntawm kev nyeem daim duab ntawm cov ntaub ntawv xa ntawv/lub thawv xa ntawv thiab cov ntaub ntawv xa ntawv/cov khoom xa tuaj, tshwj xeeb tshaj yog los ntawm kev sib tham uas tus neeg siv tsis paub.

Kev Ua Tus Kheej & Kev Coj Tus Cwj Pwm Uas Tau Pom

Qhov uas pom tau nyob sib cais ntawm leej twg nyob tom qab nws.

Cov lus tseeb pom tau: lub pob khoom tau luam tawm hauv qab tus kov tus neeg sawv cev tsis muaj kev txwv nrog rau qhov chaw nyob Gmail uas tsis tau txheeb xyuas thiab tsis muaj qhov chaw khaws ntaub ntawv txuas; nws pob.json piav qhia nws tias yog "tus xa email siab heev" thiab cim nws nrog pab pawg liab lo lus tseem ceeb; cov lej runtime raug tsom mus rau hauv qhov zais cia, tsis meej pem .kev tshaj tawm/ directory uas nws cov cuab yeej (javascript-obfuscator) yog qhov kev vam khom tau tshaj tawm; thiab tus tswv tsev hu xov tooj api[.]nolimitent[.]xyz siv dua tsis muaj kev txwv hom. Qhov no yog ib pob khoom nrog ib qho chaw tswj hwm los ntawm tus neeg teb xov tooj - tsis yog pawg ntau pob khoom, thiab tsis muaj kev sib tshooj nrog ib qho kev sib tw uas tau muab npe ua ntej.

cov pab pawg liab lo lus tseem ceeb tsis hloov qhov kev faib tawm. Cov cuab yeej kev ruaj ntseg raug cai uas xa cov peev xwm siv ob npaug ua qhov pom tseeb: qhov chaw nyeem tau, cov hom phiaj los ntawm tus neeg teb xov tooj, thiab tsis muaj kev hu xov tooj zais. Lub pob no hloov pauv txhua yam ntawm cov khoom ntawd - nws cov lej ua haujlwm yog obfuscated thiab zais, thiab nws beacons rau cov chaw kho vajtse kho dua li lub hom phiaj uas tus neeg siv muab. Tus cwj pwm, tsis yog daim ntawv lo, tswj hwm qhov kev txiav txim siab, uas yog qhov phem.

Lub hom phiaj tsis tau hais nyob ntawm no. Cov ntawv tshaj tawm piav qhia txog yam uas tus lej ua - thov tus lej khoom siv, nyeem lub thawv xa ntawv hla Graph, xa cov ntawv xa ntawv ntau dhau los ntawm cov relays teeb tsa, beacon mus rau tus tswv tsev ruaj khov - thiab tsis hais txog lub hom phiaj.

Kev cuam tshuam, cov qauv & kev taw qhia ntawm tus neeg tiv thaiv

Ob qho teeb meem ntawm lub sijhawm teeb tsa tseem ceeb. Ua ntej, txhua tus neeg tsim khoom lossis tus neeg sawv cev CI uas teeb tsa tus neeg sawv cev tsis muaj kev txwv coj lub moj khaum mus rau tus tswv tsev ntawd thiab tsim kom muaj kev hu xov tooj rau api[.]nolimitent[.]xyzQhov thib ob, lub peev xwm ntawm tus lej ntaus ntawv txuas ntxiv mus dhau qhov chaw teeb tsa: lub thawv xa ntawv Microsoft 365 uas tus tswv raug ntxias kom pom zoo rau tus lej uas tau nthuav tawm raug nyeem ncaj qha los ntawm Graph, tsis muaj lo lus zais hla lub xov hlau.

Qhov sib txawv dav dua yog qhov uas yuav tsum tau siv rau hauv. Cov cuab yeej phishing (AiTM) tau hloov los ntawm kev siv phishing ib leeg mus rau hauv ib pob khoom ntawm kev sau npe rau pej xeem - faib los ntawm npm nruab es tsis yog los ntawm email link. Kev ntim cov khoom siv li no pauv tus neeg ua haujlwm phishing qhov teeb meem hosting thiab link-delivery rau qhov ncav cuag ntawm lub registry, thiab zais cov lej ua haujlwm tom qab lub clean install hook thiab lub dotfile-named obfuscated directory uas kov yeej qhov skim ceev ceev.

Rau cov neeg tiv thaiv:

  • Kev tshuaj xyuas kev sau npe thiab kev vam khom. Kho ib pob khoom uas nws ntsiab/yog daws mus rau hauv ib daim nplaub tshev zais (dot-prefixed) ntawm cov lej thawj tog uas tsis sib xws ua qhov muaj kev pheej hmoo siab ntawm cov qauv ib leeg, tsis hais seb qhov hook teeb tsa zoo li huv si. Minification tsis yog obfuscation - rooj vag ntawm cov cim decoder string-array, tsis yog ntawm kab ntev.
  • Microsoft 365 kev ruaj khov. Txwv txoj kev tso cai siv tus lej ntaus ntawv nrog Conditional Access qhov twg nws tsis tas yuav ua haujlwm; kev tso cai siv tus lej ntaus ntawv yog ib qho vector paub AiTM thiab tsis tshua xav tau los ntawm cov neeg siv sib tham. Kev tshuaj xyuas rau cov neeg nkag mus rau hauv tus lej ntaus ntawv ua raws li kev suav nrog Graph mailbox tam sim ntawd.
  • Kev tshawb pom network. Thaiv thiab ceeb toom rau api[.]nolimitent[.]xyzTshawb nrhiav cov DNS thiab cov cav proxy uas tawm mus rau sab nraud rau nws thoob plaws tus tsim tawm thiab cov chaw tsim kho vaj tse.
  • Kev nrhiav txoj kev xa ntawv. cov tus neeg siv @tus tswv tsev Cov ntawv URL cuav (ntseeg siab[.]com@…) pom tau ntawm lub rooj vag xa ntawv thiab tus neeg sawv cev; cov txuas chij uas nws cov khoom muaj cai ua ntej ib qho @.

Lub pob khoom tau nyob rau ntawm npm thaum lub sijhawm tshuaj xyuas. Vim tias lub moj khaum zais npog tag nrho cov kab ntawv luam tawm thiab tam sim no tseeb daim ntawv cim npe (1.0.307) muaj peev xwm ua haujlwm ntawm tus lej ntaus ntawv, kev tshem tawm cov npe sau npe yuav tsum suav nrog txhua qhov version, tsis yog ib qho version rov qab xwb. 

cov cuab yeej sca-software-composition-analysis-cuab yeej
Tsom xyuas qhov tseem ceeb, kho, thiab tiv thaiv koj cov kev pheej hmoo software
Tau txais koj tus Account Dawb.
Tsis muaj credit card yuav tsum tau.

Ruaj ntseg koj txoj kev tsim kho software thiab kev xa khoom

nrog Xygeni Product Suite