
نظام beaconing بسيط وقابل للتوسيع للتحكم والسيطرة (C&C).
يسعى مستودع C2 إلى تقديم تنفيذ عملي للأفكار الواردة في Red Team Infrastructure Wiki على https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki. على وجه التحديد، يوفر هذا المستودع حزمتي Go: واحدة للـ beaconers وأخرى للـ downloaders. بالإضافة إلى ذلك، يوفر المستودع نماذج implants تستخدم هذه الـ beaconers والـ downloaders. وأخيرًا، يحتوي المستودع على خوادم DNS وHTTP خلفية لنظام C2 ومعلومات إعداد لبناء خوادم redirector أمامية.
يحتوي مجلد implants على نموذجين يوضحان كيفية استخدام حزمتي الـ beaconer والـ downloader. يمكن استخدام هذين النموذجين كمرجع لبناء الـ implants الخاصة بك. الفكرة العامة هي اختيار beaconer و downloader ولفّهما في حلقة loop مع نوع من آلية التوقيت للتحكم في عدد مرات إرسال الـ implant للإشارات (beacon out).
لإنشاء beaconers و downloaders جديدة، يجب بناء struct يلبي الواجهة المناسبة. يحتوي دليلا beaconer و downloader على أمثلة لكل من HTTP وDNS.
يحتوي دليل servers على خادم DNS وخادم HTTP يمكن استخدامهما كخادم خلفي للـ beacons والـ downloaders المختلفة. لم تُصمم هذه الخوادم مع وضع الاستخدام الإنتاجي في الاعتبار، ولكن يمكن استخدامها في الإنتاج إذا لزم الأمر. بالإضافة إلى ذلك، يحتوي مجلد servers على ملف payload يمكن بناؤه باستخدام go build -o payload.bin payload.go. تتوقع الخوادم وجود ملف payload.bin في الدليل الحالي، حيث سيتم تقديمه إلى الـ downloaders وتنفيذه على العميل.
يحتوي مجلد docs على معلومات الإعداد اللازمة لبناء redirectors أمامية لنظام C2. يتيح هذا الإعداد إعادة توجيه حركة مرور C2 إلى خادم C2 بناءً على معايير محددة، مع إرسال جميع الحركة الأخرى إلى خادم غير ضار.
لست خبيرًا في C2. لقد كنت أقرأ Red Team Infrastructure Wiki وقررت بناء تنفيذ عملي. مع ذلك، سأرحب بطلبات السحب (pull requests) للـ beaconers والـ downloaders الجديدة. إذا لم تكن مرتاحًا لكتابة الكود بنفسك، فأخبرني بتقنيات الـ beacon أو الـ downloader التي تود تنفيذها عبر فتح issue.