مختبر DanderSpritz
الغرض
الهدف من مختبر DanderSpritz هو تمكين الباحثين والمدافعين من إنشاء نسخة وظيفية كاملة من DanderSpritz - مجموعة أدوات ما بعد الاستغلال من Equation Group بالإضافة إلى نطاق Windows Server 2008 وعميل كأهداف. يحتوي الهدف من Windows على بعض أدوات الهندسة العكسية التي وجدتها مفيدة أثناء التحقيق في DanderSpritz وقدراته.
اقرأ قليلاً عن مختبر DanderSpritz هنا: https://medium.com/@francisck/introducing-danderspritz-lab-461912313d7c
موقع ويب أنشأته لتوثيق قدرات وأدوات DanderSpritz: https://danderspritz.com
ملاحظة: لم يتم تحصين هذا المختبر بأي شكل من الأشكال (فهو ضعيف عمداً) ويعمل ببيانات اعتماد Vagrant الافتراضية. يرجى عدم توصيله أو ربطه بأي شبكات تهتم بها.
المتطلبات
- 20 جيجابايت+ من المساحة الحرة على القرص
- 8 جيجابايت+ من ذاكرة الوصول العشوائي
- 20 جيجابايت استخدام للنطاق الترددي (لتنزيل صور ISO والتحديثات وحزم الخدمة وما إلى ذلك)
- Packer الإصدار 1.2.3 أو أحدث
- Vagrant الإصدار 2.1.1 أو أحدث
- إضافة Vagrant-Reload
- Virtualbox (VMWare Fusion/Workstation قادمة لاحقاً)
بدء مختبر DanderSpritz
يستخدم DanderSpritz Packer و Vagrant وإضافة Vagrant-reload لتثبيت وتكوين المختبر من الصفر. سيقوم Packer بتنزيل صور ISO الخاصة بنظام Windows مباشرة من Microsoft وتثبيت إصدارات تجريبية من البرامج لاستخدامها أثناء البحث.
- استنساخ هذا المستودع إلى جهازك الخاص
git clone [email protected]:francisck/DanderSpritz_lab.git
- تأكد من تثبيت إضافة Vagrant-reload
vagrant plugin install vagrant-reload
- لتنزيل صور ISO وتنفيذ بناء صناديق Vagrant، قم بتشغيل الأمر التالي:
packer build danderspritz_lab.json
- بمجرد بناء صناديق Vagrant، ابدأ تشغيل الأجهزة الافتراضية واتركها لتكمل بعض التكوينات الإضافية:
vagrant up
إنشاء مشروع FuzzBunch
- قم بتشغيل موجه أوامر Windows (cmd) ونفذ ما يلي:
D:\
python fb.py
- قم بتعيين عنوان الهدف الافتراضي إلى 192.168.40.3
- قم بتعيين عنوان المعاودة الافتراضي إلى 192.168.40.4
- لا تستخدم إعادة التوجيه (في البداية)
- اترك دليل السجلات الافتراضي
- أنشئ مشروعاً جديداً (الخيار 0)
- قم بتسمية مشروعك الجديد
- اترك دليل السجلات الافتراضي

استغلال الجهاز الهدف
- قم بتشغيل الأمر التالي لاستغلال الجهاز باستخدام EternalBlue
use eternalblue
- اختر جميع الخيارات الافتراضية باستثناء آلية التسليم. استخدم "FB" (النشر التقليدي) كآلية تسليم
- بمجرد نجاح EternalBlue، قم بتكوين DanderSpritz و PeddleCheap
تكوين وتشغيل DanderSpritz
- قم بتشغيل موجه أوامر Windows آخر (cmd) ونفذ ما يلي:
D:\
python configure_lp
- اسمح لـ Java من خلال جدار الحماية
- حدد
تصفح بجوار "دليل السجلات" واختر اسم مشروع FuzzBunch الذي قمت بإنشائه

- انقر فوق "بدء"
التحضير لـ PeddleCheap (تكوين الغرسة)
- في وحدة تحكم DanderSpritz، قم بتشغيل الأمر التالي:
pc_prep
- حدد الحمولة القياسية x64-winnt المستوى 3 من النوع sharedlib
5
- لا تحدد الإعدادات المتقدمة
- اختر إجراء معاودة فورية
- استخدم معرف PC الافتراضي (0)
- حدد "نعم" على "هل تريد الاستماع؟"
- لا تغير منافذ الاستماع
- اترك عنوان "المعاودة" الافتراضي (127.0.0.1)
- لا تغير اسم الملف التنفيذي
- استخدم المفتاح الافتراضي (الخيار 2)
- تحقق من صحة تكوين PeddleCheap
- لا تقم بالتكوين باستخدام FC (felonycrowbar)
- انسخ موقع الثنائي الذي تم تكوينه:

تسليم الغرسة (peddlecheap) عبر باب DoublePulsar الخلفي:
- في نافذة Fuzzbunch الأصلية، اكتب:
use doublepulsar
- اختر "نعم" عندما يُسأل إذا كنت تريد أن يتم تذكيرك بإعدادات المتغيرات
- حدد جميع إعدادات المتغيرات الافتراضية باستثناء بنية الهدف (اختر الخيار 1)
1) x64 x64 64-bits
- حدد وظيفة "RunDLL" (الخيار 2)
2) RunDLL استخدم APC لحقن DLL في عملية وضع المستخدم.

- اترك جميع الخيارات الأخرى افتراضية واختر "نعم" عندما يُسأل إذا كنت تريد تنفيذ الإضافة
- يجب أن ترى "تم نجاح Doublepulsar"
الاتصال بغرسة PeddleCheap باستخدام DanderSpritz
- في DanderSpritz، حدد "PeddleCheap" في أعلى الشاشة
- حدد المفتاح "الافتراضي" من القائمة المنسدلة للمفاتيح
- أدخل عنوان الجهاز الهدف (192.168.40.3)
- حدد "اتصال بالهدف"

- حدد اسم مشروع Fuzzbunch الخاص بك
- انتظر حتى يكتمل مسح DanderSpritz (سيستغرق وقتاً طويلاً) وسيكون عليك الإجابة على بعض الأسئلة على طول الطريق
- أربح!
استخدم من أجل الخير، لا الشر!
الغرض من هذا المشروع هو تمكين باحثي الأمن من بناء وتكوين مختبر DanderSpritz وظيفي بالكامل بسهولة لأغراض الهندسة العكسية والاختبار.
- لا تقم بتشغيل هذا ضد أي أهداف خارج هذا المختبر.
- لا تستخدم هذا في "مهام الفريق الأحمر"
- افعل ساهم بأبحاثك مرة أخرى في المجتمع
- افعل تواصل مع أنا إذا كان لديك أي أسئلة :)
الاستخدام اليومي
بمجرد تشغيل Packer مرة واحدة، لن تحتاج إلى تشغيله مرة أخرى. ستكون صناديق Vagrant متاحة لك لإعادة البناء والهدم وإعادة تشغيل مختبرك.
فيما يلي بعض الأوامر المفيدة التي قد تستخدمها أثناء عملك مع المختبر:
استخدام Vagrant الأساسي
- تشغيل جميع أجهزة مختبر DanderSprotz:
vagrant up
- تشغيل جهاز معين:
vagrant up <اسم المضيف>
- إعادة تشغيل جهاز معين:
vagrant reload <اسم المضيف>
- إعادة تشغيل جهاز معين وإعادة تشغيل عملية التزويد:
vagrant reload <اسم المضيف> --provision
- إتلاف جهاز معين:
vagrant destroy <اسم المضيف>
- إتلاف بيئة مختبر Danderspritz بأكملها:
vagrant destroy
- التقاط لقطة لجهاز:
vagrant snapshot save <اسم المضيف> <اسم اللقطة>
- استعادة لقطة جهاز:
vagrant snapshot restore <اسم المضيف> <اسم اللقطة>
- التحقق من حالة كل مضيف:
vagrant status
- تعليق بيئة المختبر:
vagrant suspend
- استئناف بيئة المختبر:
vagrant resume
إعادة تنشيط أجهزة Windows منتهية الصلاحية
إذا واجهت مشكلة حيث انتهت صلاحية الترخيص التجريبي، يمكنك إعادة تنشيط الأجهزة حتى 3 مرات (لمدة 90 يوماً من ترخيص Windows الجيد) عن طريق تشغيل هذا الأمر في موجه أوامر إداري:
سيتعين عليك إعادة تشغيل الجهاز.
معلومات المختبر
رسم تخطيطي للمختبر

معلومات إضافية عن المختبر
- اسم النطاق: windomain.local
- تسجيل الدخول كمسؤول (جميع الأجهزة): vagrant:vagrant
- DC (وحدة تحكم النطاق): 192.168.40.2/24
- الهدف: 192.168.40.3/24
- DanderSpritz: 192.168.40.4/24
أجهزة المختبر
- DC - وحدة تحكم نطاق Windows 2008 R2
- وحدة تحكم نطاق Windows لـ Windomain.local
- نهج مجموعة تهيئة خادم WEF
- نهج مجموعة تسجيل PowerShell
- نهج مجموعة تعزيز تدقيق Windows
- Target - محطة عمل Windows 7
- تحاكي محطة العمل / الجهاز الهدف
- منضمة إلى نطاق Windomain.local Windows AD
- بعض أدوات الهندسة العكسية / المرئية مثبتة مسبقاً
- Chocolatey (مع مستودع FireEye Flare) متاح لتثبيت أدوات إضافية
- صندوق DanderSpritz - Windows 10
- DanderSpritz & Fuzzbunch مثبتان مسبقاً
الأدوات المثبتة على الهدف (Windows 7 SP1)
- Sysmon
- أدوات Sysinternal (Procmon, TCPview, الخ)
- API Monitor
- InfoPe
- HxD
- PEView
- Windbg
- WireShark
- Binary Ninja
- HashCalc
- IDA 7 Free
- Ollydbg
- نهج مجموعة التدقيق المعزز
- نهج مجموعة تسجيل PowerShell
- إعادة توجيه أحداث Windows إلى وحدة تحكم النطاق (WEC)
الاعتمادات/الموارد
نسبة كبيرة من هذا الكود تم استعارتها وتكييفها من مشروع كريس لونغ DetectionLab بالإضافة إلى مشروع ستيفان شيرر packer-windows و adfs2 على Github. شكر كبير لكل من ساهم بكوده في تسهيل (أو حتى جعل) مشاريع مثل هذه ممكنة.
شكر وتقدير