سيبرانا
استخبارات التهديداتاستخبارات تهديداتعالية

مجموعة إيرانية تنتحل صفة مسؤولي توظيف وتزرع أحصنة طروادة عبر «اختبارات برمجة» تعمل على ويندوز ولينكس وماك

كاسبرسكي توثّق عائلتين جديدتين من برمجيات Nimbus Manticore: NodeRabbit وPollCat، مكتوبتان بـ Node.js وJavaScript وتُوزَّعان في أرشيفات «تحدٍّ تقني» عبر LinkedIn. الحيلة: يُطلب من المرشح ألا يلمس ملف server.js «الخالي من الأخطاء» — وفيه تحديدًا تُزرع الشفرة الخبيثة. عينات رُصدت في أفغانستان ومصر وإثيوبيا.

نُشر
حُدّث:
4 دقائق قراءة
مشاركة:XLinkedInFacebookTelegramWhatsApp
رسم توضيحي: مغلف عرض عمل يُفتح عن ملف شفرة تمتد منه خيوط ضوئية إلى حاسوب محمول وشاشة وخادم
رسم توضيحي — سيبرانا

نسبت شركة كاسبرسكي عائلتين جديدتين غير موثّقتين سابقًا من البرمجيات الخبيثة إلى مجموعة القرصنة الإيرانية Nimbus Manticore، في تطور يعكس توسّع أدوات المجموعة نحو أنظمة لينكس وmacOS إلى جانب ويندوز، عبر أحصنة طروادة للوصول عن بُعد مكتوبة بـ Node.js وJavaScript، بحسب The Hacker News.

تتبّع كاسبرسكي السلالتين باسمي NodeRabbit وPollCat. اكتُشفت أول عينة من NodeRabbit على نظام في أفغانستان، ثم على جهازين منفصلين في مصر وإثيوبيا.

الطُعم: «تحدٍّ تقني» بمهلة ثلاث ساعات

يبدأ الهجوم بانتحال المهاجم صفة مسؤول استقطاب مواهب في شركة تقنية كبرى، يتواصل مع مهندس عبر LinkedIn أو منصات التوظيف ويدعوه إلى إكمال مهمة تقنية. الأرشيف المرصود (Front-Technical-Challenge.zip، مستضاف على AWS) يحتوي على شفرة أداة إدارة مشاريع تُدعى Taskflow، مع تعليمات «إيجاد كل الأخطاء في الواجهة الأمامية وإصلاحها» خلال ثلاث ساعات ودون الاستعانة بأدوات ذكاء اصطناعي.

تطلب التعليمات من المرشح تحديدًا ألا يعدّل مكوّن الخادم (server.js) لأنه «خالٍ من الأخطاء ويعمل بشكل صحيح». في هذا الملف بالذات تُزرع الشفرة الخبيثة.

السطر الأول من server.js يستورد حزمة npm مُحوَّرة باسم colorized_terminal (الإصدار 2.1.0). لم تُنشر الحزمة في سجل npm؛ بل حُزمت مباشرة داخل مجلد node_modules في الأرشيف. عند استيرادها تُطلق بصمت غرسة من node_modules/.cache/.320697f1/index.js كعملية خلفية منفصلة.

NodeRabbit: 11 أمرًا وثلاثة خوادم على Azure

تتواصل الغرسة مع أحد ثلاثة عناوين تحكّم مستضافة على Azure عبر ثلاث نقاط نهاية:

NodeRabbit C2 API
/api/rabbit/checkin   تسجيل الوكيل ومعلومات المضيف
/api/rabbit/task      استطلاع الأوامر
/api/rabbit/result    إرسال النتائج

تدعم البرمجية 11 أمرًا: جمع تفاصيل المضيف، سرد العمليات، تنفيذ أوامر صدفة عشوائية، سرد المجلدات، قراءة ملف على دفعات وإعادته بترميز Base64، كتابة بيانات عند إزاحة محددة في ملف، حذف ملفات ومجلدات، إنشاء مجلدات، سرد محوّلات الشبكة وعناوين MAC وIP وإعدادات DNS، وتغيير فاصل الإشارة. كما تستطيع كتابة سكربت Node.js إلى ملف .tmp عشوائي الاسم وتنفيذه ثم حذفه لطمس الآثار.

ثلاثة متغيرات، استمرارية لكل نظام

المتغير

الحزمة المُحوَّرة

ما الجديد

الأول

colorized_terminal 2.1.0

الأساس؛ ينتحل تحديث Microsoft Edge للاستمرارية

الثاني

pretty-log 2.1.0

دعم جزئي لوكيل الشركات؛ يتوقف إن اكتشف بيئة تحليل؛ ينتحل Intel Driver & Support Assistant

الثالث

pretty-log

نقاط نهاية جديدة (/sdk/v2/ready، /config، /events)؛ يستغل WSL؛ 12 أمرًا إضافيًا

الاستمرارية تعتمد على النظام: مفتاح Run في سجل ويندوز، أو إدخال cron في لينكس، أو Launch Agent في macOS. المتغير الثالث يذهب أبعد: مهمة ويندوز يومية الساعة 10 صباحًا تشغّل سكربت VBS عبر wscript.exe وwsl.exe، ويستطيع حصد عناوين الحسابات من ملفات Outlook (OST/PST)، وتثبيت إضافة VS Code مزيفة باسم «GitHub Copilot Helper»، والبحث عن مستودعات Git في مواقع التطوير الشائعة وحقن مُشغِّل في خطافات Git (Git hooks) لاستمرارية إضافية — تكتيك لافت يستهدف المطوّرين تحديدًا.

PollCat: الطُعم نفسه بلغة أخرى

رُصدت المجموعة أيضًا توزّع PollCat — حصان طروادة متعدد المنصات بـ JavaScript مُعتَّم — عبر تحدّيات برمجية محدودة الوقت (RankChallenge-react-6uJSX3-main.zip). ومع أن التمرين الظاهر ليس مسابقة أمنية، فإن المشروع يستخدم مصطلحات CTF في عدة مواضع (حزمة ctf-server، رسالة «CTF server running»).

السياق: ترسانة تتوسع بسرعة

تاريخيًا اعتمدت Nimbus Manticore على برمجيات بلغات C وC++ وGo وتقنيات اختطاف ترتيب بحث DLL. الأدوات متعددة المنصات جديدة عليها، وتأتي وسط توسّع سريع لترسانتها في الأشهر الأخيرة: باب خلفي لويندوز باسم NightLedger، ونفقا WebSocket مخصصان (BridgeHead وArcBridge)، وأداة نفق SSH عكسي، وباب خلفي يتقاطع مع TWOSTROKE. تُعرف المجموعة أيضًا باسم «Iranian Dream Job» لاستخدامها طُعوم التوظيف — تكتيك تبنّته منذ زمن مجموعة Lazarus الكورية الشمالية.

مؤشرات الاختراق

مؤشرات منشورة (كاسبرسكي)
domainplugplay[.]azurewebsites[[.]]netNodeRabbit C2
domainrgbteller[.]azurewebsites[[.]]netNodeRabbit C2
domainwslwebui[.]azurewebsites[[.]]netNodeRabbit C2
filenameFront-Technical-Challenge.zipأرشيف الطُعم (مستضاف على AWS)
filenameRankChallenge-react-6uJSX3-main.zipأرشيف طُعم PollCat
othercolorized_terminal[@]2[.]1[.]0 / pretty-log[@]2[.]1[.]0حزم npm مُحوَّرة داخل node_modules
filenamenode_modules/.cache/.320697f1/index.jsموقع الغرسة

الروابط والعناوين معطَّلة (defanged) للحماية

توصيات للمطوّرين وفرق الأمن

  1. لا تشغّل مشاريع «تحدٍّ» على جهاز العمل. استخدم حاوية أو جهازًا افتراضيًا مؤقتًا بلا وصول إلى مفاتيح SSH ورموز الوصول.
  2. افحص `node_modules` المرفق. أي مشروع يأتي مع node_modules جاهز بدل package-lock.json مريب بحد ذاته؛ ابحث عن حزم غير موجودة في سجل npm.
  3. راقب عمليات node المنفصلة (detached) التي تنشأ من مجلدات التنزيلات أو المؤقتة، والاتصالات الدورية إلى نطاقات *.azurewebsites.net غير معروفة.
  4. تحقق من هوية مسؤول التوظيف عبر قناة مستقلة — بريد الشركة الرسمي لا الرسائل الخاصة.
  5. افحص خطافات Git (.git/hooks) وإضافات VS Code المثبتة في أجهزة المطوّرين ضمن عمليات الاستجابة.

المصادر والمراجع

  1. Iranian Hackers Pose as Recruiters to Deliver Cross-Platform RATs Through Coding TestsThe Hacker News
  2. Kaspersky Securelist — تحليل NodeRabbit وPollCatKaspersky
مشاركة:XLinkedInFacebookTelegramWhatsApp
عمر بن سالم

عن الكاتب

عمر بن سالم

محرر أول — التهديدات والبرمجيات الخبيثة

ملف تعريفي تجريبي لأغراض العرض. يكتب «عمر» عن العائلات الخبيثة، عصابات الفدية، واستخبارات التهديدات، مع تركيز على التحليل التقني القابل للتنفيذ.

  • البرمجيات الخبيثة
  • استخبارات التهديدات
  • برامج الفدية
كل مقالات عمر بن سالم