
أداة قائمة على الويب لتسجيل أنشطة الفريق الأحمر وإعداد التقارير والوعي الظرفي، مع تكامل مع Cobalt Strike وBloodHound.
مركز لأنشطة الفريق الأحمر للمساعدة في حفظ السجلات والوعي بالموقف وإعداد التقارير. توفر Stepping Stones واجهة مستخدم ويب للفريق لتسجيل الأنشطة وإنشاء مقتطفات تقارير. تهدف الواجهة إلى أن تكون سريعة بما يكفي لاستخدامها طوال فترة التمرين، وليس فقط في مرحلة إعداد التقارير.
Stepping Stones هي تطبيق Python Django، لذا لتشغيل نسخة محلية:
python -m venv .venv.venv\Scripts\activate أو source .venv/bin/activate على *nixpip install -r requirements.txtpython manage.py makemigrations background_taskpython manage.py migratepython manage.py runserver و python manage.py process_tasks بشكل متزامنpython manage.py check --deploy للحصول على نصائح التشديد، ثم اتبع دليلًا مثل:
https://docs.djangoproject.com/en/6.0/howto/deployment/على خادم الفريق - افتح ثغرة في جدار الحماية للسماح لـ Stepping Stones بالاتصال، على سبيل المثال:
sudo ufw allow proto tcp from 172.31.16.0/20 to any port 50050إذا كنت تشغل نسخة محلية، وعندما يتم تحديث الكود في git وتريد الميزات الجديدة:
sudo service ssbot stopsudo service steppingstones stoprm -rf /tmp/stepping-stones-main; unzip /tmp/stepping-stones-main.zip && cp -R /tmp/stepping-stones-main/* /opt/steppingstones.venv\Scripts\activate أو source .venv/bin/activate على *nixpip install -r requirements.txtpython manage.py makemigrations background_taskpython manage.py migrate.
python manage.py makemigrations فتوقف فورًا وتواصل مع مطوري Stepping Stones - من المهم أن يعمل جميع المستخدمين من نفس مجموعة سكربتات الترحيل ويجب تنسيق ذلك عبر المطورين.sudo service ssbot restartsudo service steppingstones restartjournalctl -u steppingstonesإذا كنت تستخدم نفس المثيل لمهام مختلفة وترغب في أرشفة البيانات القديمة ثم البدء من جديد، يمكنك:
mv db.sqlite3 db.sqlite.OLD_CLIENT_NAMEيستخدم النظام SQLite. قم بعمل نسخة احتياطية من ملف db.sqlite3 في جذر الخادم أو عبر واجهة الويب بشكل دوري لحماية بياناتك القيمة.
سيتم إرسال مستند JSON صغير إلى كل عنوان URL لخطاف الويب المُعد عند الأحداث الرئيسية. يتبع مستند JSON دائمًا البنية التالية:
{
"type": "notification type",
"message": "Human readable message"
}
يمكن أن يكون حقل type واحدًا مما يلي:
new beacon (منارة غير مسبوقة اتصلت بخادم فريق مراقَب)respawned beacon (منارة شوهدت سابقًا اتصلت بخادم فريق مراقَب)returned beacon (منارة تمت مراقبتها صراحةً لإعادة الاتصال وقد أعادت الاتصال للتو)لاستهلاك ذلك، يمكنك استخدام سيناريو https://make.com، استنادًا إلى المخطط التالي:
{"name":"Webhook to iOS","flow":[{"id":1,"module":"gateway:CustomWebHook","version":1,"parameters":{"hook":129792,"maxResults":1},"mapper":{},"metadata":{"designer":{"x":-386,"y":-129},"restore":{"parameters":{"hook":{"data":{"editable":"true"},"label":"My webhook"}}},"parameters":[{"name":"hook","type":"hook:gateway-webhook","label":"Webhook","required":true},{"name":"maxResults","type":"number","label":"Maximum number of results"}],"interface":[{"name":"type","type":"text"},{"name":"message","type":"text"}]}},{"id":8,"module":"ios:SendNotification","version":1,"parameters":{"device":171760},"mapper":{"body":"{{1.message}}","title":"{{1.type}}","action":"","priority":10,"collapsible":false},"metadata":{"designer":{"x":-31,"y":-128},"restore":{"expect":{"action":{"label":"Default"},"priority":{"label":"Deliver immediately"}},"parameters":{"device":{"data":{"editable":"undefined"},"label":"Personal Phone"}}},"parameters":[{"name":"device","type":"device:apn","label":"Device","required":true}],"expect":[{"name":"title","type":"text","label":"Title","required":true},{"name":"body","type":"text","label":"Body"},{"name":"action","type":"select","label":"Action","validate":{"enum":["open_url"]}},{"name":"priority","type":"select","label":"Priority","required":true,"validate":{"enum":[10,5]}},{"name":"collapsible","type":"boolean","label":"Collapse push notifications","required":true}}],"metadata":{"instant":true,"version":1,"scenario":{"roundtrips":1,"maxErrors":3,"autoCommit":true,"autoCommitTriggerLast":true,"sequential":false,"confidential":false,"dataloss":false,"dlq":false},"designer":{"orphans":[]},"zone":"eu1.make.com"}}
استورد المخطط أعلاه عن طريق إنشاء سيناريو فارغ واستخدام ميزة "Import Blueprint" تحت قائمة "..." (المزيد) الموجودة في أسفل منتصف واجهة الويب.
ثم يلزم خطوتان إضافيتان:
يمكن اختبار خطافات الويب عبر زر في صفحة خطافات الويب في Stepping Stones.
تستخدم Stepping Stones نظام أذونات Django على مستوى النموذج، مما يسمح بتقييد المستخدمين من إنشاء وتحرير وعرض وحذف كل نوع من نماذج البيانات.
يمكن العثور على المجموعات في وحدة التحكم /admin التي تمنح مجموعة من الأذونات، على سبيل المثال مناسبة للفريق الأزرق للعميل، لأي عضو في تلك المجموعة.
المجموعات الحالية هي: