DeviceDoor npm પેકેજ માઇક્રોસોફ્ટ 365 ડિવાઇસ-કોડ ફિશિંગ ફ્રેમવર્કનું શિપિંગ

DeviceDoor: એક જાહેર npm પેકેજ જે Microsoft 365 ડિવાઇસ-કોડ ફિશિંગ અને બલ્ક-મેઇલ ફ્રેમવર્કનું શિપિંગ કરે છે.

સામગ્રીનું કોષ્ટક

અવશ્ય વાંચવા જેવી પોસ્ટ્સ

રસપ્રદ નવીનતમ પોસ્ટ્સ

TL; DR

nolimit-agent એક npm પેકેજ છે જેના પ્રકાશિત સંસ્કરણો - 1.0.299 દ્વારા 1.0.307, 2026-06-26 થી 2026-06-29 સુધી ચાર દિવસમાં પ્રકાશિત - દરેકમાં એક સંપૂર્ણ ફિશિંગ અને બલ્ક-મેઇલ ફ્રેમવર્ક છુપાયેલી, સંપૂર્ણપણે અસ્પષ્ટ ડિરેક્ટરીની અંદર. દરેક સંસ્કરણમાં મુખ્ય એન્ટ્રીનો ઉકેલ આવે છે .ad/x0.js, ડોટફાઇલ નામના ફોલ્ડરમાં ~86 ફાઇલોમાંથી એક જેમાં આશરે 4,200 javascript-obfuscator string-array બ્લોબ્સ છે; ઇન્સ્ટોલ હૂક અને એન્ટ્રી લેઆઉટ સમગ્ર લાઇનમાં સમાન છે.

આ ગૂંચવણ પાછળ એક માઈક્રોસોફ્ટ 365 OAuth ડિવાઇસ-કોડ ફ્લો (login[.]microsoftonline[.]com/common/oauth2/v2.0/devicecode) કે, એકવાર કોડ મંજૂર થઈ જાય પછી, પીડિતના આઉટલુક ઇનબોક્સ અને માઇક્રોસોફ્ટ ગ્રાફ API દ્વારા મોકલેલી વસ્તુઓ વાંચે છે; ઓપરેટર દ્વારા પૂરા પાડવામાં આવેલ પ્રાપ્તકર્તા સૂચિઓ દ્વારા સંચાલિત બલ્ક SMTP અને SMS મોકલવાનું એન્જિન; બ્રાન્ડ-ઢોંગ સંદેશ ટેમ્પ્લેટ્સ; ઓપન-રીડાયરેક્ટ લિંક બાંધકામ; અને DNS-ઓવર-HTTPS, WHOIS અને GitHub કોડ શોધ પર રિકોનિસન્સ. ઓપરેટર ઇન્ફ્રાસ્ટ્રક્ચર પર રનટાઇમ ટ્રાફિક બીકન્સ api[.]nolimitent[.]xyz:4100.

અસરગ્રસ્ત: કોઈપણ જે પેકેજનું કોઈપણ સંસ્કરણ ઇન્સ્ટોલ કરે છે, અને કોઈપણ માઈક્રોસોફ્ટ 365 મેઈલબોક્સ જેના માલિક તેના દ્વારા રજૂ કરાયેલા ઉપકરણ કોડને મંજૂરી આપે છે. સૌથી તાજેતરનું સંસ્કરણ, 1.0.307, એ વર્તમાન નવીનતમ ટેગ છે અને તે સમાન ઉપકરણ-કોડ મેઇલબોક્સ ક્ષમતા ધરાવે છે — દૂષિત કોડ એક બેક-વર્ઝન સુધી મર્યાદિત નથી.

તીવ્રતા: જટિલ. અસરગ્રસ્ત ઇકોસિસ્ટમ: npm. પહેલા શોધવા માટેનો એક સૂચક: હોસ્ટ api[.]nolimitent[.]xyz.

હુમલો: તે કેવી રીતે કાર્ય કરે છે

છુપાયેલા પેલોડ ઉપર એક સૌમ્ય શેલ

પેકેજ એક સામાન્ય સપાટી રજૂ કરે છે. પેકેજ.જેસન જાહેર કરે છે પોસ્ટઇન્સ્ટોલ હૂક - 

text postinstall: node scripts/postinstall.js 

— અને નિરીક્ષણ પર સ્ક્રિપ્ટ્સ/પોસ્ટઇન્સ્ટોલ.જેએસ હાનિકારક છે: તે વિન્ડોઝ કમાન્ડ શિમ ઇન્સ્ટોલ કરે છે અને બહાર નીકળી જાય છે. હૂક એ સ્થાન નથી જ્યાં વર્તન રહે છે. મુખ્ય અને બિન બંને ક્ષેત્રો નિર્દેશ કરે છે .જાહેરાત/, એક ડિરેક્ટરી જેનો લીડિંગ ડોટ તેને કેઝ્યુઅલથી દૂર રાખે છે ls આઉટપુટ, અને જેની સામગ્રી એકસરખી રીતે મશીન-અસ્પષ્ટ છે. સ્ટેટિક સ્કેનરે સમગ્ર ~4,293 એન્કોડેડ-પેલોડ સ્પાન્સની ગણતરી કરી .જાહેરાત/ મોડ્યુલ સેટ; javascript-obfuscator એક જાહેર કરેલ વિકાસ નિર્ભરતા છે, જે બંડલ કરેલી ફાઇલોના સ્ટ્રિંગ-એરે-રોટેશન આકાર સાથે મેળ ખાય છે.

આ વિભાજન એ નામ આપવા યોગ્ય પહેલો સંકેત છે: સમીક્ષક જે ઇન્સ્ટોલ હૂકની તપાસ કરશે તે સ્વચ્છ છે, જ્યારે ઓપરેશનલ કોડ એક ડિરેક્ટરી દૂર બેસે છે, છુપાયેલ અને અસ્પષ્ટ, ફક્ત ત્યારે જ પહોંચે છે જ્યારે પેકેજનો નિકાસ કરેલ એન્ટ્રી પોઈન્ટ ચાલે છે.

માઈક્રોસોફ્ટ 365 ડિવાઇસ-કોડ મેઈલબોક્સ એક્સેસ

મોડ્યુલ .એડ/x12.js ફ્રેમવર્કની સૌથી પરિણામી ક્ષમતા ધરાવે છે. તે Microsoft 365 OAuth 2.0 ઉપકરણ અધિકૃતતા ગ્રાન્ટને ચલાવે છે:

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

ડિવાઇસ-કોડ ગ્રાન્ટ એ ઇનપુટ-પ્રતિબંધિત ઉપકરણો માટે રચાયેલ કાયદેસર માઇક્રોસોફ્ટ ફ્લો છે: સેવા કોડની વિનંતી કરે છે, વપરાશકર્તા તે કોડને માઈક્રોસોફ્ટ.com/ડિવાઈસlogin` બીજા ઉપકરણ પર અને મંજૂરી આપે છે, અને વિનંતી કરનાર સેવા ટોકન્સ મેળવે છે. જ્યારે વિનંતી કરનાર સેવા મેઇલબોક્સ માલિક સિવાય અન્ય કોઈની હોય, ત્યારે મંજૂરી તે તૃતીય પક્ષને ટોકન આપે છે. એકવાર ટોકન પ્રાપ્ત થઈ જાય, .ad/x12.js` માઇક્રોસોફ્ટ ગ્રાફ દ્વારા સીધા મેઇલબોક્સ વાંચે છે:

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 

$પસંદ કરો પ્રોજેક્શન્સ ઇનબોક્સમાંથી મોકલનારના સરનામાં અને મોકલેલી વસ્તુઓમાંથી પ્રાપ્તકર્તાના સરનામાં ખેંચે છે - પીડિતના સંવાદદાતાઓના મેપિંગ માટેનો કાચો માલ. આ પાસવર્ડ કેપ્ચર દ્વારા નહીં પણ સંમતિ દ્વારા વિરોધી-ઇન-ધ-મિડલ (AiTM) ઍક્સેસ છે: ક્લાસિક અર્થમાં ફિશ કરવા માટે કોઈ ઓળખપત્ર નથી, ફક્ત મંજૂરી મેળવવા માટે એક કોડ છે.

નકલ ટેમ્પ્લેટ્સ સાથે બલ્ક મેઇલ અને SMS એન્જિન

મેઇલબોક્સ ઍક્સેસની આસપાસ એક મેઇલર બેસે છે. પેકેજ ઓપરેટર-એડિટેબલ ડેટા ફાઇલો મોકલે છે — મોકલનારની યાદીઓ (સેન્ડર્સ.txt, smtps.txt ફાઇલ) અને એક ટેમ્પલેટ ફાઇલ (ફંક્શન્સ.txt) — જેના પ્લેસહોલ્ડર સરનામાં નકલ માટે કાસ્ટિંગ શીટ તરીકે વાંચવામાં આવે છે: security@apple.com, login-ચકાસણી, OAuth-સેવા, બિલિંગ, અને એકાઉન્ટ-સૂચના મોકલનારાઓ સામે yourdomain.com સ્ટેન્ડ-ઇન ઓપરેટર બદલી નાખે છે. SMS બાજુ એક ફોન ધરાવે છેebook અને ગેટવે રૂપરેખાંકન. મેઇલર ઓપરેટર દ્વારા પૂરી પાડવામાં આવેલ પ્રાપ્તકર્તા યાદીઓનું પુનરાવર્તન કરે છે અને ગોઠવેલા SMTP રિલે દ્વારા મોકલે છે.

લિંક્સ લેન્ડ કરવા માટે, .એડ/એક્સયુ.જેએસ અને .એડ/એક્સક્યુ.જેએસ એવા URL બનાવો જે URL પાર્સિંગની અસ્પષ્ટતા અને ક્લિક ટ્રેકિંગનો ઉપયોગ કરે છે. સ્પૂફ પેટર્ન વિશ્વસનીય દેખાતી સત્તાને એક પહેલાં એમ્બેડ કરે છે @ તેથી દૃશ્યમાન ઉપસર્ગ વાસ્તવિક હોસ્ટથી અલગ પડે છે:

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

આ ફ્રેમવર્ક મુખ્ય ગ્રાહક પાસેથી ફેવિકોન્સ પણ મેળવે છે અને enterprise મેઇલ પ્રોવાઇડર્સ - એક ખાતરીકારક પ્રદાતા-બ્રાન્ડેડ પ્રોમ્પ્ટ અથવા લેન્ડિંગ પેજ રેન્ડર કરવા માટેની એક નિયમિત તકનીક.

લક્ષ્ય અને માળખાગત સુવિધાઓનું સંશોધન

મોકલતા પહેલા ઘણા મોડ્યુલો સંદર્ભ એકત્રિત કરે છે. .એડ/x0.js DNS-over-HTTPS પર નામો ઉકેલે છે (ડીએનએસ[.]ગુગલ/રિઝોલ્વ), .ad/xa.js WHOIS પ્રશ્નો (એપીઆઈ[.]હુઈસ[.]વુ), અને .એડ/x9.js GitHub કોડ શોધ ચલાવે છે (એપીઆઈ[.]ગીથબ[.]કોમ/સર્ચ/કોડ?ક્યુ=) — રિલે સૂચિને ફીડ કરવા માટે ખુલ્લા મેઇલ-સર્વર રૂપરેખાંકન અને SMTP ઓળખપત્રો શોધવા સાથે સુસંગત એક પેટર્ન. .એડ/xs.js વેબેક મશીનના સીડીએક્સ ઇન્ડેક્સ પર પ્રશ્ન કરે છે.

આદેશ અને નિયંત્રણ

અસ્પષ્ટ સેટની પેલે પાર, .એડ/x4.js ઓપરેટર એન્ડપોઇન્ટનો સંદર્ભ આપે છે:

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

યજમાન તેના શેર કરે છે અમર્યાદિત પ્રકાશકના પોતાના નામ સાથે બ્રાન્ડ, અને : 4100 પોર્ટ એ ફ્રેમવર્કની કોલ-હોમ ચેનલ છે. ડિફેન્ડર્સ માટે આ એકમાત્ર સૌથી ટકાઉ સૂચક છે: પેકેજ, ડેવલપર વર્કસ્ટેશન, અથવા બિલ્ડ એજન્ટ પહોંચતો એપીઆઈ[.]નોલિમિટેન્ટ[.]xyz આ કોડ ચલાવ્યો છે.

સમાધાનના સૂચકો

નીચે આપેલા સૂચકાંકો એવા છે જેના પર ડિફેન્ડર કાર્ય કરી શકે છે — grep a lockfile, block a host, અથવા search proxy and DNS logs. Microsoft એન્ડપોઇન્ટ્સ દેખાય છે કારણ કે ફ્રેમવર્ક તેમનો દુરુપયોગ કરે છે; તે પોતે દૂષિત નથી અને તેમને બ્લોક ન કરવા જોઈએ.

સૂચક પ્રકાર જ્યાં ડિફેન્ડર એક્શન
nolimit-agent (બધા સંસ્કરણો 1.0.299–1.0.307) પેકેજ npm ગ્રેપ લોકફાઇલ્સ / ઇન્સ્ટોલ લોગ્સ
api[.]nolimitent[.]xyz (:4100) C2 હોસ્ટ .ad/x4.js અવરોધિત કરો; DNS + પ્રોક્સી લોગ શોધો
.ad/ મુખ્ય/બિન લક્ષ્ય તરીકે છુપાયેલ ડિરેક્ટરી માળખું package.json રજિસ્ટ્રી સમીક્ષામાં સ્થિર સિગ્નલ
trusted[.]com@ / %40 / :80@ લિંક ફોર્મ્સ URL સ્પૂફ .ad/xu.js, .ad/xq.js મેઇલ/પ્રોક્સી URL નિરીક્ષણ
ડિવાઇસ-કોડ ગ્રાન્ટ + ગ્રાફ inbox/sentitems વાંચવું વર્તન .ad/x12.js M365 સાઇન-ઇન + ગ્રાફ ઑડિટ સમીક્ષા

ટ્રાયજ પર કેપ્ચર કરાયેલ ફાઇલ હેશ:

  • પેકેજ/.ad/x0.js — sha256 e4153bb614ee03ec456e6b5b41926385db6aae0e4f3e771d18e581571ad7ca2a

  • પેકેજ/પેકેજ.જેસન — sha256 8618064f1f6146b4a8f0459aff9154dca1847e3936aa44f4d4cd37e127075644

આ પેકેજથી સ્વતંત્ર રીતે શોધવા યોગ્ય માઇક્રોસોફ્ટ 365 ટેનન્ટ સિગ્નલ: સફળ ડિવાઇસ-કોડ સાઇન-ઇન અને ત્યારબાદ તરત જ ગ્રાફ વાંચે છે મેઇલફોલ્ડર્સ/ઇનબોક્સ અને મેઇલ ફોલ્ડર્સ/મોકલેલી વસ્તુઓ, ખાસ કરીને એવા સત્રમાંથી જેને વપરાશકર્તા ઓળખી શકતો નથી.

એટ્રિબ્યુશન અને અવલોકન કરાયેલ વર્તન

જે અવલોકનક્ષમ છે તે તેની પાછળ કોણ છે તેનાથી અલગ રહે છે.

અવલોકનક્ષમ તથ્યો: પેકેજ હેન્ડલ હેઠળ પ્રકાશિત થયેલ છે નોલિમિટ-એજન્ટ ચકાસાયેલ ન હોય તેવા Gmail સરનામાં સાથે અને કોઈ લિંક કરેલ સ્રોત ભંડાર વિના; તે પેકેજ.જેસન તેને "એડવાન્સ્ડ ઇમેઇલ મોકલનાર" તરીકે વર્ણવે છે અને તેને " લાલ-ટીમ કીવર્ડ; રનટાઇમ કોડ છુપાયેલા, અસ્પષ્ટમાં કેન્દ્રિત છે .જાહેરાત/ ડિરેક્ટરી જેની ટૂલચેન (javascript-obfuscator) એક જાહેર નિર્ભરતા છે; અને કોલ-હોમ હોસ્ટ એપીઆઈ[.]નોલિમિટેન્ટ[.]xyz ફરીથી ઉપયોગ કરે છે અમર્યાદિત બ્રાન્ડ. આ એક ઓપરેટર-નિયંત્રિત ઇન્ફ્રાસ્ટ્રક્ચર સીમાચિહ્ન સાથેનું એક જ પેકેજ છે - બહુ-પેકેજ ક્લસ્ટર નથી, અને અગાઉ નામ આપવામાં આવેલ ઝુંબેશ સાથે કોઈ ઓવરલેપ ઓળખવામાં આવ્યો નથી.

લાલ-ટીમ કીવર્ડ વર્ગીકરણમાં ફેરફાર કરતું નથી. કાયદેસર ઓફેન્સિવ-સિક્યોરિટી ટૂલિંગ જે ડ્યુઅલ-યુઝ ક્ષમતા મોકલે છે તે પારદર્શક રીતે કાર્ય કરે છે: વાંચી શકાય તેવા સ્ત્રોત, ઓપરેટર દ્વારા પૂરા પાડવામાં આવેલ લક્ષ્યો, અને કોઈ છુપાયેલ કૉલ-હોમ નહીં. આ પેકેજ તે દરેક ગુણધર્મોને ઉલટાવે છે - તેનો ઓપરેશનલ કોડ અસ્પષ્ટ અને છુપાયેલ છે, અને તે વપરાશકર્તા દ્વારા પૂરા પાડવામાં આવતા લક્ષ્યને બદલે નિશ્ચિત ઓપરેટર ઇન્ફ્રાસ્ટ્રક્ચર તરફ દોરી જાય છે. વર્તન, લેબલ નહીં, ચુકાદાને નિયંત્રિત કરે છે, જે દૂષિત છે.

અહીં ઉદ્દેશ્યનો ઉલ્લેખ કરવામાં આવ્યો નથી. પોસ્ટ કોડ શું કરે છે તેનું વર્ણન કરે છે - ઉપકરણ કોડની વિનંતી કરવી, ગ્રાફ પર મેઇલબોક્સ વાંચવું, ગોઠવેલા રિલે દ્વારા બલ્ક મેઇલ મોકલવું, નિશ્ચિત હોસ્ટને બીકન કરવું - અને હેતુને અસ્પષ્ટ છોડી દે છે.

અસર, વલણો અને ડિફેન્ડર માર્ગદર્શન

ઇન્સ્ટોલેશન-સમયની બે અસરો મહત્વપૂર્ણ છે. પ્રથમ, કોઈપણ ડેવલપર અથવા CI એજન્ટ જે ઇન્સ્ટોલ કરે છે નોલિમિટ-એજન્ટ તે હોસ્ટ પર ફ્રેમવર્ક લાવે છે અને કોલ-હોમ સ્થાપિત કરે છે એપીઆઈ[.]નોલિમિટેન્ટ[.]xyzબીજું, ડિવાઇસ-કોડ ક્ષમતા ઇન્સ્ટોલિંગ હોસ્ટથી આગળ વધે છે: એક માઇક્રોસોફ્ટ 365 મેઇલબોક્સ જેના માલિકને પ્રસ્તુત કોડ મંજૂર કરવા માટે પ્રેરિત કરવામાં આવે છે તે સીધા ગ્રાફ દ્વારા વાંચવામાં આવે છે, જેમાં ક્યારેય કોઈ પાસવર્ડ વાયરને પાર કરતો નથી.

વ્યાપક વલણ એ છે કે આંતરિકકરણ કરવામાં આવે. ડિવાઇસ-કોડ (AiTM) ફિશિંગ એકલ ફિશિંગ ઇન્ફ્રાસ્ટ્રક્ચરથી જાહેર રજિસ્ટ્રી પરના પેકેજમાં ખસેડવામાં આવ્યું છે - વિતરણ દ્વારા npm સ્થાપિત કરો ઈમેલ કરેલી લિંક દ્વારા નહીં. આ રીતે કીટનું પેકેજિંગ ફિશિંગ ઓપરેટરની હોસ્ટિંગ અને લિંક-ડિલિવરી સમસ્યાને રજિસ્ટ્રીની પહોંચ માટે ટ્રેડ કરે છે, અને ઓપરેશનલ કોડને ક્લીન ઇન્સ્ટોલ હૂક અને ડોટફાઇલ-નામવાળી અસ્પષ્ટ ડિરેક્ટરી પાછળ છુપાવે છે જે ઝડપી મેન્યુઅલ સ્કિમને હરાવે છે.

ડિફેન્ડર્સ માટે:

  • રજિસ્ટ્રી અને નિર્ભરતા સમીક્ષા. એવા પેકેજની સારવાર કરો જેની મુખ્ય/બિન ઇન્સ્ટોલ હૂક સ્વચ્છ દેખાય છે કે નહીં તે ધ્યાનમાં લીધા વિના, ફક્ત સ્ટ્રક્ચર પર જ ઉચ્ચ-જોખમ તરીકે સમાન રીતે અસ્પષ્ટ ફર્સ્ટ-પાર્ટી કોડની છુપાયેલી (ડોટ-પ્રીફિક્સ્ડ) ડિરેક્ટરીમાં ઉકેલાય છે. મિનિફિકેશન એ અસ્પષ્ટતા નથી — સ્ટ્રિંગ-એરે ડીકોડર સિગ્નેચર પરનો ગેટ, લાઇન લંબાઈ પર નહીં.
  • માઈક્રોસોફ્ટ 365 સખ્તાઈ. જ્યાં ઓપરેશનલ રીતે જરૂરી ન હોય ત્યાં ડિવાઇસ-કોડ ઓથોરાઇઝેશન ફ્લોને કન્ડીશનલ એક્સેસથી પ્રતિબંધિત કરો; ડિવાઇસ-કોડ ગ્રાન્ટ્સ એક જાણીતું AiTM વેક્ટર છે અને ઇન્ટરેક્ટિવ વપરાશકર્તાઓ દ્વારા ભાગ્યે જ જરૂરી છે. ડિવાઇસ-કોડ સાઇન-ઇન્સ માટે ઓડિટ અને ત્યારબાદ તાત્કાલિક ગ્રાફ મેઇલબોક્સ ગણતરી.
  • નેટવર્ક શોધ. બ્લોક અને ચેતવણી ચાલુ છે એપીઆઈ[.]નોલિમિટેન્ટ[.]xyz. ડેવલપર અને બિલ્ડ ઇન્ફ્રાસ્ટ્રક્ચરમાં તેના માટે આઉટબાઉન્ડ DNS અને પ્રોક્સી લોગ શોધો.
  • મેઇલ-પાથ શોધ.વપરાશકર્તા@યજમાન URL-સ્પૂફ ફોર્મ્સ (વિશ્વસનીય[.]com@…) મેઇલ ગેટવે અને પ્રોક્સી પર શોધી શકાય છે; ફ્લેગ લિંક્સ જેનો ઓથોરિટી ઘટક a ની પહેલા હોય છે @.

વિશ્લેષણ સમયે પેકેજ npm પર લાઇવ હતું. કારણ કે છુપાયેલ માળખું સમગ્ર પ્રકાશિત સંસ્કરણ લાઇન અને વર્તમાનને આવરી લે છે તાજેતરની ટેગ (1.0.307) માં ડિવાઇસ-કોડ ક્ષમતા છે, રજિસ્ટ્રી ટેકડાઉનમાં ફક્ત એક જ બેક-વર્ઝન નહીં, પરંતુ દરેક વર્ઝનને આવરી લેવું જોઈએ. 

સ્કા-ટૂલ્સ-સોફ્ટવેર-રચના-વિશ્લેષણ-ટૂલ્સ
તમારા સોફ્ટવેર જોખમોને પ્રાથમિકતા આપો, સુધારણા કરો અને સુરક્ષિત કરો
તમારું મફત ખાતું મેળવો.
કોઈ ક્રેડિટ કાર્ડ જરૂરી નથી.

તમારા સોફ્ટવેર ડેવલપમેન્ટ અને ડિલિવરી સુરક્ષિત કરો

ઝાયજેની પ્રોડક્ટ સ્યુટ સાથે