
يجمع بيانات MITRE ATT&CK وSigma وAtomic Red Team في رسوم بيانية لـ BloodHound، بحيث يتمكن محللو SOC من تخطيط تغطية الكشف، وتحديد الفجوات، والتحقيق في الحوادث باستخدام استعلامات Cypher.

BloodSOCer هي أداة أتمتة مكتوبة بلغة Python تقوم بتجميع بيانات استخبارات التهديدات من عدة مصادر (Mitre ATT&CK، Sigma rules، Atomic Red Team) وتُنتج ملفات JSON لاستيرادها إلى BloodHound بصيغة OpenGraph. يستطيع BloodSOCer أيضًا رفع الملفات إلى BloodHound وتعيين الأيقونات للكائنات المخصصة إذا كانت لديه رموز API معرفة في الإعدادات. يمكن لمحللي الأمان بعد ذلك تصور البيانات من أي زاوية، ويتم توفير عدد من استعلامات Cypher لمساعدتك على البدء.
الفكرة وراء هذا المشروع هي مساعدة مركز عمليات الأمن (SOC) على رسم خريطة تغطيتهم لإطار عمل Mitre ATT&CK والمساعدة أثناء الاستجابة للحوادث لتحديد أماكن النقاط العمياء بسرعة. من الأفضل أن يقوم الـ SOC برسم خريطة اكتشافاته الخاصة بدلاً من الاعتماد على اكتشافات Sigma "الجاهزة". لا تفهموني خطأ، Sigma هو أحد مشاريع المصادر المفتوحة المفضلة لدي، لكن معظم الاكتشافات تكون أكثر ملاءمة للسياق/الإثراء أو لتوليد مؤشرات لصيد التهديدات بدلاً من إنشاء تذاكر قابلة للتنفيذ.
عندما كنت في مركز عمليات أمني، كنا نحاول غالبًا عرض/إظهار كيف ترتبط اكتشافاتنا بإطار عمل ATT&CK. لطالما اعتقدت أن رسمًا بيانيًا من نوع BloodHound سيكون رائعًا لهذا الغرض، لذا بنيت هذا المشروع آملًا أن يساعد زملائي في الفريق الأزرق على تصور تغطيتهم وكيف ترتبط الأجزاء المختلفة ببعضها البعض.
مع إدخال ART، يمكن أيضًا رؤية أي من TTP يسهل اختباره وأيها لا يمكن اختباره بسهولة.
أشجعك بشدة على مشاركة Sigma Rules وART مع المشروع الأصلي إذا قمت بإنشاء اكتشافات/اختبارات لـ TTP لا يحتوي على أي منها.
UL-Cyphers.py أو --setuphttp://127.0.0.1:8080)استنساخ المستودع:
git clone https://github.com/yourusername/BloodSOCer.git
cd BloodSOCer
تثبيت التبعيات:
pip3 install -r requirements.txt
تكوين بيانات اعتماد API في BloodSOCer.py:
apikey = "your-api-key-here"
apiid = "your-api-id-here"
python3 BloodSOCer.py
python3 BloodSOCer.py -h
python3 BloodSOCer.py --mitre, -m
python3 BloodSOCer.py --sigma, -s
python3 BloodSOCer.py --art, -r
python3 BloodSOCer.py --define-icons, -di
python3 BloodSOCer.py --setup, -st
python3 BloodSOCer.py --upload-only, -ul
python3 BloodSOCer.py --all, -a
python3 BloodSOCer.py --mitre --sigma --define-icons
python3 BloodSOCer.py --clear-db
ملاحظة: بالنسبة إلى --define-icons و --upload-only يجب تعريف مفتاح API وسر API في BloodSOCer.py
قم بتحرير BloodSOCer.py للتخصيص:
http://127.0.0.1:8080)BloodSOCer/
├── BloodSOCer.py # نقطة الدخول الرئيسية
├── MitreHound.py # جالب بيانات MITRE ATT&CK
├── ARTHound.py # جالب بيانات Atomic Red Team
├── SigmaHound.py # جالب بيانات قواعد Sigma
├── Define-Icons.py # مخصص أيقونات BloodHound
├── UL-Cyphers.py # رفع استعلامات Cypher المخصصة للمساعدة في الاستعلام عن البيانات المستوردة
├── Cyphers/ # الاستعلامات المحفوظة (Cypher) بصيغة JSON
├── ressources/ # الصور/المخططات (مخطط الأسهم، الشعار)
├── README.md # هذا الملف
├── requirements.txt # تبعيات Python
└── output/ # ملفات *_graph.json المُولدة
يضيف هذا المشروع أنواع العقد التالية
يضيف هذا المشروع الحواف/العلاقات التالية
Exploits (تستغل) تقنية أو تقنية فرعيةUses (تستخدم) أداة أو تقنية أو تقنية فرعيةPartOf (جزء من) تكتيكSubTechniqueOf (تقنية فرعية لـ) تقنيةDetectedBy (يتم كشفها بواسطة) قاعدةTestedBy (يتم اختبارها بواسطة) ARTInvestigateWith (يتم التحقيق معها باستخدام) دليلBloodSOCer Arrows Graph
لتنزيل ملف json لهذا الرسم البياني من Arrows.app انقر هنا
اكتشافات لـ FIN7 باستخدام Mimikatz

التكتيكات المستخدمة من قبل FIN7

الكشف والاختبار لنشاط FIN7

دلائل الاستجابة للتحقيق في نشاط FIN7 و Scattered Spider

Define-Icons.py على واجهة BloodHoundApache 2.0
عندما سمعت لأول مرة عن OpenGraph، فكرت فورًا أنه سيكون طريقة رائعة لاستيراد إطار عمل Mitre ATT&CK واستخدام BloodHound لتصوره. Olaf Hartong فعل ذلك قبل بضع سنوات انظر مدونته ويبدو أنه استلهم الفكرة من SadProcessor الذي يعد الآن زميلًا لي. لقد عدنا إلى نقطة البداية بهذا الشأن.
نرحب بطلبات السحب (Pull requests) والقضايا (Issues).