
تتبع عائلة البوتنتات IoT غير المترابطة التي تتشارك CVE-2021-35394 كمتجه للتوصيل — النتائج، العلاقات، المنهجية.
هذا المستودع موجود لأن ثغرة استغلال واحدة تجعل شبكات البوتنت هذه مرئية لحساس سلبي — وليس لأنها مرتبطة ببعضها البعض. إن CVE-2021-35394 (حقن أوامر في Realtek SDK، UDP/9034) هو معيار الدخول: تُدرَج عائلة ضمن النطاق لأنها رُصدت وهي تحاول استغلال هذه الثغرة ضد شبكة مراقَبة. وبمجرد دخول عائلة ضمن النطاق، يتبع التتبع بنية تلك العائلة التحتية وسلوكها الخاص بقدر ما يمكن الوصول إليه — خوادم التجهيز، وسكربتات الإسقاط، وعينات أخرى — حتى وإن لم تكن أي من تلك الأنشطة هي هذه الثغرة نفسها. الثغرة هي الباب الذي يُراقَب، وليست ادعاءً عمّا يقع خلفه.
تغطي النتائج حتى الآن ست عائلات مستقلة برمجيًا تتشارك هذه الثغرة الواحدة: Condi وcling وgoonbakk (المعروفة أيضًا بـ lucy_meow) وRondoDox، وعائلتان لم تُسمَّيا بعد (يُتابَعان باسم "family D" و"family E" ريثما يُتخذ قرار التسمية — انظر NAMING.md).
METHODOLOGY.md تحيّز الرصد — اقرأه قبل استخلاص النتائج
HANDOFF.md حالة استمرارية الجلسة
analysis/<family>/ سجل مرجعي للهندسة العكسية، مستند واحد لكل عائلة
analysis/comparison.md مخطط عبر العائلات، بثلاث درجات من الثقة
samples/manifest.csv فهرس مُولَّد للمجموعة المحلية (التجزئات فقط)
samples/README.md أعراف المانيفست + ما يوضحه بذاته
tools/inventory.py يعيد توليد المانيفست من دليل مجموعة
طبقتان، منفصلتان عمدًا. analysis/ هو ما تفعله الملفات الثنائية، مكتوب يدويًا من Ghidra. وsamples/ هو ما تحتفظ به المجموعة، مُولَّد بمسحها — الترويسات، والتجزئات، ومعرّفات البناء، والمصدر. الطبقة الثانية رخيصة الإبقاء محدَّثة (python tools/inventory.py) وتلتقط ما لا تستطيع الأولى التقاطه: أي الأسماء المخدومة هي البناء نفسه، وأي "العينات" ليست ملفات ثنائية على الإطلاق، وأي برنامج Ghidra يقابل أي ملف مخدوم. النتائج التي تخرج من الجرد تُرقّى إلى مستند analysis/ ذي الصلة بدلًا من أن تبقى في ملف CSV.
إضافة عائلة تعني دليلًا تحت analysis/، وبمجرد أن يُنسَب مضيف التجهيز الخاص بها بناءً على الأدلة، سطرًا في FAMILY_BY_HOST داخل tools/inventory.py بالإضافة إلى صف في جدول النسب في samples/README.md.
METHODOLOGY.md — تحتوي مجموعة البيانات هذه على تحيّز رصد حقيقي متأصّل فيها (متجه الاستغلال الذي يمكننا رؤيته هو UDP فقط ولا يحتاج إلى مستمع؛ وكل متجه آخر تستخدمه هذه العائلات يحتاج إلى مصافحة TCP مكتملة، وهو ما لم يوفّره أي شيء على جانب المجموعة حتى الآن). اقرأه قبل استخلاص أي استنتاجات من أي شيء آخر في هذا المستودع.
goonbakk هو الاسم الأساسي، وlucy_meow اسم مستعار
(العائلة نفسها — مفتاح ChaCha20 والـ nonce والعدّاد وشذوذ الجدول متطابقة، وكذلك جدول الإعدادات). لا تزال هناك حاجة إلى أسماء حقيقية لـ "family D" و"family E" (الأخيرة موصوفة بغنى بالفعل: Go، شجرة وحدات Botnet/، C2 على :9111، sysd على القرص) — تحقق مما إذا كان تقرير Akamai يسمّي E قبل اختراع اسم لها.docs/families/<family>.md — نظرة عامة نثرية لكل عائلة
(القدرات، ومؤشرات الاختراق IOCs، والأسماء المستعارة)، وهي الطبقة التي ترتبط بها analysis/ صعودًاhunts/ — استعلامات Security Onion / NSM، تُبقى قابلة للتشغيل بدلًا من اقتباسها في النثرiocs/ — مؤشرات شبكية/مضيفية قابلة للقراءة آليًا لكل عائلة.
مُستوعَبة جزئيًا في samples/manifest.csv بالنسبة لمؤشرات الملفات؛ والفجوة هي نقاط نهاية C2 وبصمة مجموعة التسليمyara/ — قواعد الكشفمحسوم، لا تُعِد فتح النقاش حوله (انظر HANDOFF.md للقائمة الكاملة):
العينات هي تجزئات فقط — لا تدخل برمجيات خبيثة وظيفية إلى تاريخ
git، ويُفرَض ذلك عبر .gitignore؛ ولا "سلالة Mirai" كمبدأ تنظيمي؛ وCVE-2021-35394 هو معيار الدخول، وليس النطاق.
analysis/comparison.md النصف الخاص بالكود/القدرات من هذا