
Imaginary C2 هي أداة بايثون تهدف إلى المساعدة في التحليل السلوكي (للشبكة) للبرمجيات الخبيثة. تستضيف Imaginary C2 خادم HTTP يلتقط طلبات HTTP الموجهة إلى نطاقات/عناوين IP مُختارة بشكل انتقائي. بالإضافة إلى ذلك، تهدف الأداة إلى تسهيل إعادة تشغيل استجابات القيادة والتحكم / الحمولات المقدمة التي تم التقاطها.
المؤلف: Felix Weyne (الموقع الإلكتروني) (Twitter)
Imaginary C2 هي أداة بلغة بايثون تهدف إلى المساعدة في التحليل السلوكي (للشبكة) للبرامج الضارة.
تستضيف Imaginary C2 خادم HTTP يلتقط طلبات HTTP الموجهة إلى نطاقات / عناوين IP مختارة بشكل انتقائي. بالإضافة إلى ذلك، تهدف الأداة إلى تسهيل إعادة تشغيل استجابات القيادة والتحكم / الحمولات المُرسلة التي تم التقاطها.
باستخدام هذه الأداة، يمكن للمحلل تغذية البرنامج الضار باستجابات شبكة متسقة (مثل تعليمات C&C للبرنامج الضار لتنفيذها). بالإضافة إلى ذلك، يمكن للمحلل التقاط وفحص طلبات HTTP الموجهة إلى نطاق / عنوان IP غير متصل بالإنترنت وقت التحليل.

توفر Imaginary C2 نصوصين برمجيين لتحويل التقاط الحزم (PCAPs) أو أرشيفات جلسة Fiddler إلى تعريفات طلب يمكن تحليلها بواسطة Imaginary C2. من خلال هذه النصوص، يمكن للمستخدم استخراج عناوين URL و نطاقات طلبات HTTP، بالإضافة إلى استجابات HTTP. بهذه الطريقة، يمكن للمرء إعادة تشغيل استجابات HTTP بسرعة لطلب HTTP معين.
المتطلبات: تتطلب Imaginary C2 بايثون 2.7 و ويندوز.
الوحدات: حالياً، تحتوي Imaginary C2 على ثلاث وحدات وملفين تهيئة:
| اسم الملف | الوظيفة |
|---|---|
| 1. imaginary_c2.py | يستضيف خادم HTTP البسيط بلغة بايثون. الوحدة الرئيسية. |
| 2. redirect_to_imaginary_c2.py | يعدل ملف المضيف في Windows وجدول التوجيه (IP) في Windows. |
| 3. unpack_fiddler_archive.py & unpack_pcap.py | يستخرج استجابات HTTP من التقاط الحزم. يضيف نطاقات وعناوين URL لطلبات HTTP المقابلة إلى ملفات التهيئة. |
| 4. redirect_config.txt | يحتوي على النطاقات وعناوين IP التي يجب إعادة توجيهها إلى localhost (إلى خادم HTTP بلغة بايثون). |
| 5. requests_config.txt | يحتوي على تعريفات مسار URL مع مصادر البيانات المقابلة. |
تعريفات الطلب: يتكون كل طلب (HTTP) مُعرف في تهيئة الطلب من معلمتين:
المعلمة 1: مسار URL لطلب HTTP (المعروفة باسم urlType)
| القيمة | المعنى |
|---|---|
| fixed | تعريف مسار URL كسلسلة نصية حرفية |
| regex | تعريف نمط تعبير عادي للمطابقة على مسار URL |
المعلمة 2: مصدر استجابة HTTP (المعروفة باسم sourceType)
| القيمة | المعنى |
|---|---|
| data | سيرد Imaginary C2 بمحتويات ملف على القرص |
| python | سيشغل Imaginary C2 سكريبت بايثون. مخرجات السكريبت تحدد استجابة HTTP. |
يمكن استخدام Imaginary C2 لمحاكاة استضافة مكونات وملفات تهيئة TrickBot. بالإضافة إلى ذلك، يمكن استخدامه أيضاً لمحاكاة خوادم حقن الويب الخاصة بـ TrickBot.
عند التنفيذ، يتصل برنامج تنزيل TrickBot بمجموعة من عناوين IP المبرمجة لجلب بعض ملفات التهيئة. أحد ملفات التهيئة هذه يحتوي على مواقع (عناوين IP) لخوادم الإضافات الخاصة بـ TrickBot. يقوم برنامج تنزيل TrickBot بتنزيل الإضافات (الوحدات) من هذه الخوادم وفك تشفيرها. ثم يتم حقن الوحدات المفككة في مثيل svchost.exe.

إحدى إضافات TrickBot تُسمى injectdll، وهي إضافة مسؤولة عن عمليات حقن الويب الخاصة بـ TrickBot. تقوم إضافة injectdll بجلب مجموعة محدثة من تهيئات حقن الويب بانتظام. لكل موقع ويب مستهدف (بنكي) في التهيئة، يتم تعريف عنوان خادم ويب مزيف. عندما يتصفح الضحية موقع ويب (بنكي) مستهدف من قبل TrickBot، يتم إعادة توجيه متصفحه سراً إلى خادم الويب المزيف. يستضيف خادم الويب المزيف نسخة طبق الأصل من الموقع المستهدف. عادةً ما يُستخدم موقع النسخة المطابقة هذا في هجوم هندسة اجتماعية لخداع الضحية.
يُظهر الفيديو أدناه برنامج تنزيل TrickBot وهو يعمل داخل svchost.exe ويتصل بـ Imaginary C2 لتنزيل وحدتين. يتم حقن كل وحدة تم تنزيلها في مثيل svchost.exe جديد. تحاول إضافة حقن الويب سرقة كلمات المرور المحفوظة في المتصفح وتسريب كلمات المرور المسروقة إلى خادم TrickBot. عند زيارة موقع ويب بنكي مستهدف، يقوم TrickBot بإعادة توجيه المتصفح إلى خادم الويب المزيف. في العرض التوضيحي، يستضيف خادم الويب المزيف الرسالة: "Default imaginary C2 server response" (الفيديو كاملاً).
