
محلل مسارات الهجوم دون اتصال لـ AD/Entra لملفات SharpHound/AzureHound بصيغة JSON. يعرض نتائج تصعيد الامتيازات، والاعتمادات، وسوء التهيئة مرتبة حسب الأولوية دون الحاجة إلى BloodHound أو Neo4j.
مشروع مفتوح المصدر من SquidSec
SquidOffense.com ·
GitHub
BloodBash هو محلل JSON مفتوح المصدر وغير متصل بالإنترنت لبيانات SharpHound وAzureHound، تم إنشاؤه وإدارته بواسطة SquidSec. يبني رسمًا بيانيًا، ويكشف مسارات الهجوم وسوء الإعدادات في AD/Entra، ويعرض النتائج مرتبة حسب الأولوية. لا حاجة إلى Neo4j أو واجهة BloodHound.
عمليات الدمج إلى main تبني تلقائيًا ملفات تنفيذية لـ Linux وWindows وتنشر إصدار GitHub (الوسم v1.4.2-build.N).
تم تطوير وصيانة BloodBash بواسطة SquidSec من أجل مجتمع الأمن - مختصو الفريق الأحمر، ومختبرو الاختراق، والمدافعون الذين يحتاجون إلى تحليل سريع دون اتصال لـ AD/Entra دون إعداد بنية BloodHound التحتية.
ملفات تنفيذية مستقلة لـ SquidSec BloodBash - لا حاجة إلى Python أو pip أو venv:
| النظام الأساسي | أحدث إصدار للتحميل |
|---|---|
| Linux x64 | bloodbash-linux-x64 |
| Windows x64 | bloodbash-windows-x64.exe |
curl -sL -o bloodbash
https://github.com/DotNetRussell/BloodBash/releases/latest/download/bloodbash-linux-x64
chmod +x bloodbash
./bloodbash /path/to/json --all
MITRE ATT&CK [1] - تقنيات الهجوم وسيناريوهات التهديد المستخدمة من قبل الجهات الفاعلة في التهديدات الإلكترونية.
## ✨ الميزات
- **🗂️ تحليل الملفات**: تحليل الملفات لتحديد المحتوى الضار باستخدام تقنيات YARA والمحتوى.
- **🕵️ تحليل الشبكة**: التقاط وتحليل حركة مرور الشبكة لتحديد الأنشطة الضارة.
- **🔍 تحليل الذاكرة**: تحليل الذاكرة للكشف عن البرمجيات الخبيثة والتهديدات المخفية.
- **📊 إعداد التقارير**: إنشاء تقارير مفصلة حول نتائج التحليل.
- **🛠️ التخصيص**: خيارات تخصيص لضبط سلوك الأداة.
- **🤖 وضع التفاعل**: أوضاع تفاعلية للتحليل في الوقت الفعلي.
- **🧩 التكامل**: التكامل مع أدوات الأمان الأخرى لتحسين الكشف.
## 📥 التثبيت
لتثبيت **Malware Analysis Tool**، اتبع الخطوات التالية:
```bash
git clone https://github.com/yourusername/Malware-Analysis-Tool.git
cd Malware-Analysis-Tool
pip install -r requirements.txt
لاستخدام Malware Analysis Tool، اتبع الأمثلة التالية:
python malware_analysis_tool.py --help
python malware_analysis_tool.py --file /path/to/malware/file
python malware_analysis_tool.py --network --interface eth0
python malware_analysis_tool.py --memory --pid 1234
python malware_analysis_tool.py --file /path/to/malware/file --report /path/to/report
للحصول على وثائق مفصلة، يرجى الرجوع إلى الدليل.```powershell
Invoke-WebRequest -Uri "https://github.com/DotNetRussell/BloodBash/releases/latest/download/bloodbash-windows-x64.exe" ` -OutFile bloodbash.exe .\bloodbash.exe C:\path\to\json --all
## التثبيت (Python / المصدر)```bash
pipx install git+https://github.com/DotNetRussell/BloodBash
أو من استنساخ:```bash git clone https://github.com/DotNetRussell/BloodBash.git cd BloodBash python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt
التبعيات: `networkx`, `rich`, `tqdm`, `pyyaml`.
## البدء السريع
**ابدأ بهذه الثلاثة** (أشر إلى مجلد SharpHound/AzureHound أو ملف `.zip`):```bash
# 1) Day-0 triage - default when you pass only the data path
bloodbash /path/to/json
# same as:
bloodbash /path/to/json --quick-wins
# 2) Just owned a user - outbound compromise dossier
bloodbash ./sharpout --from-user alice --from-user-export
# 3) Full attack analysis (large env: --fast auto on big graphs)
bloodbash /path/to/json --all --fast
# inventory ladders still opt-in:
bloodbash /path/to/json --all --inventory
من نسخة مستخرجة من المصدر، يكون python3 BloodBash.py معادلاً لـ bloodbash.```bash
./bloodbash /path/to/json bloodbash /path/to/json --from-user alice --from-user-export
bloodbash ./lowpriv.zip --merge ./da.zip ./child-domain.zip --all --fast
الدليل الأصلي (بدون علامات فحص) يشغّل فرز **النتائج السريعة**. استخدم `--all` للتحليل الكامل لمسار الهجوم (وليس الجرد)، أو `--wizard` لاختيار تفاعلي.
في وضعي `--all` و`--quick-wins`، يتم إخفاء أقسام المكتشفات الفارغة لتبقى وحدة التحكم مقروءة. العلامات الانتقائية ما زالت تطبع أسطر "لا توجد نتائج" باللون الأخضر للفحوصات التي طلبتها.
بيانات تجريبية: `SampleSharphoundADData/` و`SampleAzurehoundData/`.```bash
bloodbash --help # start-here + cheat sheet
bloodbash --help-advanced # full flag tables + all examples
مزيد من الوصفات: docs/cookbook.md.
يتم تسجيل النتائج وتلخيصها في جدول النتائج ذات الأولوية (تندمج فئات النظافة العامة عالية الحجم؛ استخدم --all-findings للحصول على القائمة الكاملة المدمجة). تقترح لوحات الاستغلال أدوات/أوامر لكل فئة.
هذا محلل استدلالي دون اتصال من SquidSec، وليس بديلاً كاملاً عن BloodHound CE. يُفضَّل التحقق من النتائج مقابل BloodHound CE على نفس الملف المضغوط لضمان تطابق المسارات.
استبدل ./sharpout بدليل SharpHound/AzureHound أو بالملف المضغوط. عند استخدام نسخة من المصدر: استخدم python3 BloodBash.py بدلاً من bloodbash.
bloodbash --help bloodbash --help-advanced
bloodbash ./sharpout bloodbash ./sharpout --quick-wins bloodbash ./sharpout --quick-wins --domain CORP.LOCAL bloodbash ./2024-collection.zip --quick-wins
bloodbash ./sharpout --wizard
bloodbash ./sharpout --all bloodbash ./sharpout --all --fast bloodbash ./2024-collection.zip --all bloodbash ./sharpout --all --inventory
bloodbash ./lowpriv.zip --merge ./da.zip --all --fast bloodbash ./forest-root --merge ./child-a.zip ./child-b.zip --quick-wins
bloodbash ./sharpout --all --domain CORP.LOCAL bloodbash ./azureout --azure-privileged-roles --domain
bloodbash ./sharpout --trust bloodbash ./sharpout --all --trust
bloodbash SampleSharphoundADData --quick-wins bloodbash SampleSharphoundADData --all --fast --all-findings bloodbash SampleAzurehoundData --azure-privileged-roles --azure-guest-access --all-findings
### ماذا يشغّل `--quick-wins`
مجموعة منسّقة عالية الإشارة (تتضمن `--fast`، ملخصًا مفصّلًا، جدولًا كاملًا بالنتائج). **ليست** تفريغًا كاملًا للمخزون/Azure. الأقسام الفارغة تبقى صامتة.
| المجال | الوحدات |
|------|---------|
| الامتيازات | DCSync (غير متوقع)، ADCS، ACLs الخطيرة + ACLs غير HV المثيرة للاهتمام، RBCD + can-configure، غير مقيد (DC مقابل غير DC)، مقيّد، بيانات اعتماد الظل، LAPS (+ القرّاء)، علاقات الثقة |
| بيانات الاعتماد | Kerberoast، AS-REP، **privileged roast**، password-in-description، PasswordNotRequired |
| العمليات | الجلسات / ملخص المسؤول المحلي، صحة جمع البيانات |
| المسارات | أقصر المسارات إلى HV، أكثر المسارات القصيرة ازدحامًا، path-break |
الملف التعريفي المكافئ: `--profile quick-wins` (انظر `profiles/quick-wins.yaml`).
### ملف الاختراق (مستخدم تم اختراقه حديثًا / مستخدم موطئ القدم)
العرض **الصادر**: «لقد اخترقت هذا الكيان للتو - ما الذي يمكنه فعله؟»
| الخيار | المعنى |
|------|---------|
| `--from-user` / `--compromise` | بناء ملف (المجموعات المتداخلة، الحقوق، مسارات HV) |
| `--from-user-export [DIR]` | كتابة قوائم txt/csv/json (الافتراضي `compromise-<user>/`) |
| `--owned` / `--owned-file` | مختلف: المسارات **إلى** ذلك الكيان (وارد)؛ الملف مفصول بأسطر |```bash
# Console dossier only
bloodbash ./sharpout --from-user alice
bloodbash ./sharpout --compromise [email protected]
# Console + export pack
bloodbash ./sharpout --from-user alice --from-user-export
bloodbash ./sharpout --from-user alice --from-user-export ./alice-dossier
# Multiple footholds (one subdir each under ./footholds)
bloodbash ./sharpout --from-user alice,bob,svc_backup --from-user-export ./footholds
# Domain-scoped + full findings table
bloodbash ./sharpout --from-user alice --domain CORP.LOCAL --from-user-export --all-findings
# Sample lab: SCOTT has LocalAdmin via Tier2Support and paths to DA
bloodbash SampleSharphoundADData --from-user SCOTT --from-user-export ./scott-out --fast
# Pair with inspect / explicit path
bloodbash ./sharpout --from-user alice --inspect alice
bloodbash ./sharpout --path-from alice --path-to 'domain [email protected]'
# Inbound (who can reach my loot) - not the dossier
bloodbash ./sharpout --owned alice --owned-inventory --shortest-paths
bloodbash ./sharpout --owned-file ./owned.txt --owned-inventory
# Foothold dossiers from a line-delimited list
bloodbash ./sharpout --from-user-file ./footholds.txt --from-user-export ./out
تخطيط التصدير (لكل كيان):```text compromise-alice/ summary.md README.txt counts.csv membership_direct.txt membership_effective.txt adminto_hosts.txt adminto_hosts.csv # bulk AdminTo/LocalAdmin host list paths_to_high_value.txt paths_to_high_value.csv dossier.json rights/ AdminTo.txt AdminTo.csv CanRDP.txt LocalAdmin.txt GenericAll.txt ...
### مسارات الهجوم والمعالجة```bash
bloodbash ./sharpout --shortest-paths
bloodbash ./sharpout --shortest-paths --indirect --fast
# Prefer multi-hop abuse chains (FCP / AdminTo / session / ACL) over pure MemberOf
bloodbash ./sharpout --shortest-paths --path-mode abuse
# Deep discoverability: deeper hops, alternate paths, stepping stones, path-break
bloodbash ./sharpout --deep-paths
bloodbash ./sharpout --path-mode deep --path-depth 16 --path-sources 400 --max-paths 20
# One path to Domain Admins only (stdout = single plain-text path; exit 1 if none)
bloodbash ./sharpout --golden-path
bloodbash ./sharpout --golden-path --from-user alice --domain CORP.LOCAL
bloodbash ./sharpout --busiest-paths short --busiest-paths-top 10
bloodbash ./sharpout --busiest-paths all --busiest-paths-top 5
bloodbash ./sharpout --path-break --path-break-top 20
bloodbash ./sharpout --busiest-paths short --path-break --fast \
--report-pack ./path-reports --export-zip path-reports.zip
bloodbash ./sharpout --path-from helpdesk --path-to 'domain [email protected]'
bloodbash ./sharpout --path-from alice,bob --path-to 'domain admins,enterprise admins'
bloodbash ./sharpout --deep-analysis
bloodbash ./sharpout --inspect 'DOMAIN [email protected]'
bloodbash ./sharpout --dcsync --adcs --dangerous-permissions --verbose bloodbash ./sharpout --dcsync --adcs --dangerous-permissions --all-findings
bloodbash ./sharpout --kerberoastable --as-rep-roastable --password-descriptions
bloodbash ./sharpout --privileged-roast bloodbash ./sharpout --password-never-expires --password-not-required --password-age
bloodbash ./sharpout --unconstrained-delegation --constrained-delegation --rbcd bloodbash ./sharpout --shadow-credentials
bloodbash ./sharpout --trust --sessions --laps --sid-history bloodbash ./sharpout --gpo-abuse --gpo-parsing bloodbash ./sharpout --gpo-abuse --gpo-content-dir ./sysvol-gpo-xml
### المخزون، الملفات التعريفية، والمخرجات```bash
# List domains / tenants in a collection (then exit)
bloodbash ./sharpout --list-domains
# Inventory modules (opt-in; not part of --all). Stats dashboard still prints on --all.
bloodbash ./sharpout --inventory
bloodbash ./sharpout --stale-accounts --password-age --privilege-inventory
bloodbash ./sharpout --owned alice --owned-inventory
# Built-in YAML profiles (see profiles/)
bloodbash ./sharpout --profile quick
bloodbash ./sharpout --profile quick-wins # same set as --quick-wins
bloodbash ./sharpout --profile adcs-heavy
bloodbash ./sharpout --profile hygiene
bloodbash ./sharpout --profile ./my-engagement.yaml
# Multi-page HTML report pack + zip
bloodbash ./sharpout --inventory --busiest-paths short --path-break \
--report-pack ./reports --export-zip bloodbash-reports.zip --log-file ./bloodbash.log
# PlumHound-style multi-CSV pack (task CSVs + index.csv; optional zip)
bloodbash ./sharpout --csv-pack ./ph-reports
bloodbash ./sharpout --csv-pack ./ph-reports --export-zip ph-reports.zip
bloodbash ./sharpout --all --fast --csv-pack ./ph-full --export-zip ph-full.zip
# Single-file exports
bloodbash ./sharpout --all --export=md
bloodbash ./sharpout --all --export=html
bloodbash ./sharpout --all --export=csv
bloodbash ./sharpout --all --export=json --export-bh --dot graph.dot
bloodbash ./sharpout --all --export=yaml
# Graph cache (automatic by default — re-run different checks without re-ingest)
bloodbash ./sharpout --dcsync # builds + caches graph
bloodbash ./sharpout --kerberoastable # cache hit; only runs kerberoast check
bloodbash ./sharpout --all --rebuild-cache # force re-ingest
bloodbash ./sharpout --all --no-cache # disable cache
bloodbash ./sharpout --cache-dir /tmp/bb-cache --all
# Explicit SQLite path (still fingerprint-validated against sources)
bloodbash ./sharpout --all --db bloodbash.db
bloodbash . --db bloodbash.db --from-user alice --from-user-export
--csv-pack DIR يكتب ملف CSV واحدًا لكل مهمة جرد بالإضافة إلى index.csv / README.txt (بدون Neo4j):
bloodbash ./azureout --azure-privileged-roles
bloodbash ./azureout --azure-app-secrets --azure-sp-abuse
bloodbash ./azureout --azure-mfa-bypass --azure-guest-access
bloodbash ./azureout
--azure-privileged-roles --azure-app-secrets --azure-mfa-bypass
--azure-guest-access --azure-sp-abuse --all-findings --export=html
bloodbash SampleAzurehoundData
--azure-privileged-roles --azure-guest-access --all-findings
### وصفات المشاركة المجمعة```bash
# Nightly full + deliverable
bloodbash ./sharpout --all --fast --all-findings \
--report-pack ./nightly --export-zip nightly.zip --log-file nightly.log
# Dual collection (low-priv then DA) in one pass
bloodbash ./lowpriv.zip --merge ./da.zip --all --fast --csv-pack ./ph-full
# Foothold day-0 then domain hygiene
bloodbash ./sharpout --from-user alice --from-user-export ./dossiers
bloodbash ./sharpout --profile hygiene --report-pack ./hygiene --export-zip hygiene.zip
# ADCS-focused with path remediation
bloodbash ./sharpout --profile adcs-heavy --path-break --busiest-paths short \
--report-pack ./adcs-paths --export-zip adcs-paths.zip
يُضمَّن أيضًا ضمن --all / الخيارات الانتقائية: لافتة الحالة الصحية للبيانات المجمّعة؛ إساءة استخدام ACL مُثيرة للاهتمام خارج الأهداف عالية القيمة؛ وسوم سياق الامتيازات على نتائج الروست؛ انقسام DCSync غير المتوقع؛ وحدات تحكم النطاق غير المقيدة مقابل غيرها؛ قرّاء LAPS؛ القابلون لتهيئة RBCD؛ النسب المئوية للوحة الإحصائيات؛ إخفاء الأقسام الفارغة في التشغيلات الواسعة.
مفاتيح خاصة بـ Azure فقط: --azure-privileged-roles, --azure-app-secrets, --azure-mfa-bypass, --azure-guest-access, --azure-sp-abuse.
شغّل bloodbash --help للاطلاع على نقطة البداية + بطاقة مرجعية سريعة، أو --help-advanced لجداول الخيارات الكاملة والأمثلة.
يفهم محرك الاستيعاب مخرجات أداة الجمع الحديثة: Members للمجموعات، وAllowedToAct (RBCD)، وSessions / LocalGroups، وTrusts[] للنطاقات، وسجل SID، وأسماء خصائص CE البديلة، والاستخراج الآمن للملفات المضغوطة (مع حظر Zip Slip). يتطلب DCSync صلاحيتي GetChanges + GetChangesAll. تتبع تسميات ADCS تصنيف SpecterOps ESC1-ESC8 (+ مرشحات ESC9/ESC13 عند توفر الخيارات). تبقى كائنات أجهزة وحدات تحكم النطاق أهدافًا عالية القيمة. لا تُغرِق خيارات highvalue الخاصة بمحطات العمل في مجموعات المسؤولين المحليين مجموعة الأهداف عالية القيمة (HV).
تُغلّف واجهة SquidSec BloodBash CLI (v1.4+) وتُدخل النتائج في قاعدة بيانات Metasploit.
تتبع الخيارات واجهة CLI: فحوصات AD/Azure، والجرد، وbusiest-paths / path-break،
وملفات اختراق --from-user، وملفات التعريف، وحزم التقارير، والتصديرات، والتخزين المؤقت للرسم البياني (--db / التخزين التلقائي).```bash
cp modules/auxiliary/analyzer/bloodbash_analyzer.rb
/opt/metasploit-framework/modules/auxiliary/analyzer/
The input chunk is empty — no content was provided to translate. Please supply the Markdown text for chunk 33.```text
use auxiliary/analyzer/bloodbash_analyzer
set BLOODBASH_PATH /path/to/BloodBash/BloodBash.py
set JSON_DIR /path/to/collector_json_or.zip
set ALL_CHECKS true
run
I apologize, but I don't see any content in the "INPUT:" section of your message. The chunk appears to be empty. Could you please provide the actual content you'd like me to translate?```text
set FROM_USER alice set FROM_USER_EXPORT set PASSWORD_NEVER_EXPIRES true set KERBEROASTABLE true set ALL_FINDINGS true run
اضبط `PYTHON` إذا لم يكن `python3` موجودًا في `PATH`. وجّه `BLOODBASH_PATH` إلى ملف ثنائي مستقل (غير `.py`) لتخطي مفسّر بايثون. تصفية النطاق غير حساسة لحالة الأحرف (تطابق CLI).
## التطوير```bash
pip install -r requirements-dev.txt
python3 -m pytest test_bloodbash.py test_members_ingest.py \
test_detection_variations.py test_compromise_dossier.py \
test_synthetic_corpus.py test_ludus_collections.py \
test_real_data_reliability.py test_graph_cache.py \
test_owned_file.py test_golden_path.py test_deep_paths.py \
test_ci_pytest_suite.py -q
الملفات المجمّعة العامة صغيرة ومنخفضة الإنتروبيا. من أجل اختبار انحدار الكاشف، نُرفق مختبر SharpHound CE الاصطناعي (testData/synthetic-corp-lab/) مع حقيقة أرضية معروفة (DCSync غير متوقع، كتابة GPO لمستخدمي المصادقة، تكوين RBCD بالجملة، ESC1، roast، مزيج LAPS، إلخ). لا توجد بيانات حقيقية من عمليات ميدانية.```bash
python3 tools/generate_synthetic_sharphound.py --out testData/synthetic-corp-lab
python3 BloodBash.py testData/synthetic-corp-lab --all --fast --all-findings python3 BloodBash.py testData/synthetic-corp-lab --from-user alice.low --fast
python3 tools/run_scenario_battery.py python3 tools/run_scenario_battery.py --count 20 --seed 42 -v python3 tools/run_scenario_battery.py --list-profiles python3 tools/run_scenario_battery.py --keep --work-dir /tmp/bb-engagements
CI (PR + main) يشغّل اختبارات الوحدة/التكامل **و** `run_scenario_battery.py --count 20 --seed 42`
(20 سلسلة مهام). تتطلب حماية الفرع فحص الحالة **للاختبار**.
أدوات مساعدة للدقة (بدون بيانات عملاء):```bash
# Mutate synthetic corpus (dup ACEs, orphan SIDs, null ACEs, partial drops)
python3 tools/mutate_corpus.py --in testData/synthetic-corp-lab --out /tmp/mut --seed 1
python3 BloodBash.py /tmp/mut --all --fast
# GPP / cPassword XML fixtures
python3 BloodBash.py testData/synthetic-corp-lab \
--gpo-content-dir testData/gpo-xml-fixtures --gpo-parsing
python3 -m venv .venv-build && source .venv-build/bin/activate pip install -r requirements.txt -r requirements-build.txt pyinstaller --onefile --console --name bloodbash-linux-x64 BloodBash.py
CI (عند كل push إلى `main`) يشغّل الاختبارات، ويبني ملفات ثنائية أحادية الملف لنظامي Linux وWindows باستخدام PyInstaller، وينشر إصدارًا بأسماء أصول (assets) مستقرة لروابط `/releases/latest/download/...` أعلاه. تبدو الوسوم مثل `v1.4.1-build.N`.
## الترخيص والإسناد
MIT - للاختبارات الأمنية **المصرّح بها** وأنشطة الفريق الأحمر فقط.
**BloodBash** هو مشروع مفتوح المصدر أُنشئ ويُدار بواسطة **[SquidSec](https://squidoffense.com/)**.
| المنظمة | SquidSec |
| الموقع الإلكتروني | https://squidoffense.com/ |
| إصدار التطبيق | v1.4.2 |
| أحدث ملف تنفيذي | |
| الترخيص | MIT |
| بيئة التشغيل (المصدر) | Python 3.9+ |
| المنطقة | الفحوصات |
|---|
| امتيازات AD | DCSync (GetChanges+GetChangesAll؛ تتم معالجة DA/EA المتداخلة كما هو متوقع)، قوائم ACL خطيرة على الكائنات عالية القيمة، استغلالات ACL غير-HV المثيرة للاهتمام (ForceChangePassword / GenericAll / GenericWrite على المستخدمين/أجهزة الكمبيوتر/المجموعات؛ يتم كتم ضجيج GenericWrite الجماعي لأجهزة الكمبيوتر)، استغلال GPO، RBCD (مُهيأ + يمكن تهيئته)، التفويض المقيد/غير المقيد (أقسام DC مقابل غير DC)، سجل SID، علاقات ثقة المجال (--trust) |
| بيانات اعتماد AD | قابلة للهجوم عبر Kerberoast، قابلة للهجوم عبر AS-REP (مع وسمات AdminCount / OWNED / LASTLOG)، التحميص المميز (--privileged-roast: قابلة للتحميص + DA/EA متداخلة / AdminCount)، بيانات اعتماد الظل، كلمة مرور في الوصف، PasswordNeverExpires / PasswordNotRequired. لا تستبعد خاصية sensitive (NOT_DELEGATED) في SharpHound مرشحي التحميص |
| ADCS | ESC1-ESC7 (+ ESC8/ESC9/ESC13 عند وجود خصائص المجمّع). تتطلب ESC10-12 بيانات دور السجل/HTTP التي غالبًا ما تكون غائبة عن SharpHound. رسالة تنبيه بسيطة عندما لا يحتوي الملف المضغوط على كائنات شهادات |
| Azure / Entra | الأدوار المميزة، مسارات التحكم في بيانات اعتماد التطبيق/SP، تعطيل MFA الصريح، المستخدمون الضيوف، صلاحيات إساءة استخدام SP |
| المسارات | أقصر المسارات إلى الأهداف عالية القيمة (مجموعة محدودة في --fast؛ تشمل HV مجموعة Builtin Administrators وأجهزة كمبيوتر وحدات تحكم المجال)، الكيانات المملوكة (--owned = وارد)، مخصص --path-from / --path-to |
| ملف التسوية | --from-user / --compromise: العضوية الصادرة، عدد AdminTo/RDP/ACL، المجموعات المتداخلة، مسارات تلقائية إلى HV، تصدير txt/csv بما في ذلك قوائم مضيفي AdminTo الجماعية |
| معالجة المسارات | ترتيب أكثر المسارات ازدحامًا (--busiest-paths)، توصيات إزالة الحواف (--path-break) |
| الجرد | سلالم عمر كلمات المرور، الحسابات القديمة/غير النشطة، مجموعات الامتيازات، الهيكلية (المجالات/وحدات تحكم المجال/علاقات الثقة)، جرد الكائنات المملوكة، لوحة إحصائيات بالنسبة المئوية % |
| حزمة CSV بأسلوب PlumHound | --csv-pack DIR: جرد متعدد CSV (المجالات، DA، القابلة للتحميص، LAPS، حواف Everyone/الصلاحيات المفرطة، كمبيوتر AdminTo كمبيوتر، مسؤول محلي + امتياز مزدوج، مضيفو AdminTo الجماعيون) + index.csv |
| مدخلات متعددة | --merge PATH… يدمج الأدلة/الملفات المضغوطة الإضافية في رسم بياني واحد (مجالات متعددة / مجموعات مزدوجة منخفضة الامتياز + DA) |
| أخرى | لافتة صحة الجمع (عدد الكائنات، تغطية الجلسات/AdminTo/RDP، وجود ADCS)، تغطية LAPS (haslaps) + قارئو كلمات مرور LAPS (ReadLAPSPassword)، GPO XML (--gpo-content-dir)، حواف Trusts[] للمجال، تداخل المجموعات، --list-domains |
| CSV | الوصف |
|---|
domains.csv | نطاقات AD في المجموعة |
domain_admins.csv | الكيانات المتداخلة داخل مجموعات DA/EA |
users.csv / computers.csv / groups.csv | جرد الكائنات الأساسي |
kerberoastable.csv / asrep_roastable.csv | مرشحو هجمات الروست على الاعتمادات (+ وسوم) |
password_never_expires.csv | مستخدمو PNE |
laps_not_enabled.csv | أجهزة الكمبيوتر بدون LAPS |
local_admins_users.csv | مستخدم/مجموعة → جهاز AdminTo/LocalAdmin |
user_sessions.csv | HasSession جهاز ↔ مستخدم |
relationships_everyone.csv (و Auth Users و Domain Users و …) | حواف من الكيانات الواسعة جدًا |
overprivileged_relationships.csv | حواف مجمعة من Everyone/Auth/Domain Users/... |
computer_adminto_computer.csv | جهاز ← جهاز AdminTo |
dual_privileged_and_local_admin.csv | أعضاء DA/EA الذين لديهم أيضًا AdminTo (التدرج الطبقي) |
bulk_adminto_hosts.csv | الكيانات مرتبة حسب عدد مضيفي AdminTo |
index.csv | فهرس التقرير (ملف → عدد الصفوف) |
| الخيار | الغرض |
|---|
--from-user / --compromise USER | ملف اختراق (صادر): المجموعات المتداخلة، وأعداد AdminTo/RDP/ACL، والمسارات إلى الأهداف عالية القيمة |
--from-user-export [DIR] | تصدير ملف الاختراق txt/csv/json + قوائم adminto_hosts (الافتراضي compromise-<user>/) |
--busiest-paths [short|all] | ترتيب الكيانات صاحبة أكبر عدد من المسارات إلى الأهداف عالية القيمة |
--path-break | اقتراح العلاقات التي يجب إزالتها لكسر أكبر عدد من مسارات الهجوم |
--inventory | جرد بنيوي + جرد أعمار كلمات المرور + جرد الحسابات القديمة + جرد الامتيازات |
--password-age / --stale-accounts / --privilege-inventory | وحدات الجرد المستقلة |
--owned-inventory | جرد AdminTo / MemberOf للكيانات المُخترَقة عبر --owned / --owned-file |
--owned-file FILE | كيانات مُخترَقة مفصولة بأسطر (تُدمج مع --owned) |
--from-user-file FILE | نقاط ارتكاز مفصولة بأسطر لملفات الاختراق (تُدمج مع --from-user) |
--report-pack DIR | مجموعة صفحات HTML متعددة + index.html + ملفات CSV لكل قسم |
--csv-pack DIR | حزمة CSV متعددة على غرار PlumHound (جرد + امتيازات زائدة + تقارير AdminTo + index.csv) |
--export-zip [FILE] | ضغط مجلد --report-pack أو --csv-pack في ملف تسليم واحد |
--profile FILE|name | ملف تعريف تحليل بصيغة YAML (quick، quick-wins، adcs-heavy، hygiene، أو مسار) |
--log-file [FILE] | سجل تشغيل قابل للإلحاق (الافتراضي bloodbash.log) |
--all-findings | في نهاية التشغيل: طباعة جدول بكل النتائج دون استثناء (حتى لو كانت فارغة) |
| الخيار | الغرض |
|---|
--all | تشغيل جميع وحدات التحليل (يتم إخفاء أقسام Active Directory الفارغة) |
--quick-wins | فرز اليوم الأول عالي الإشارة (وهو الافتراضي أيضًا عند عدم تحديد خيارات فحص؛ يستلزم --fast) |
--merge PATH… | مجلدات أو ملفات مضغوطة إضافية من SharpHound/AzureHound لدمجها في رسم بياني واحد |
--trust | فحوصات الثقة بين النطاقات / إساءة استخدام ترشيح SID |
--wizard | منتقي الوضع التفاعلي (quick-wins / full / dossier / profile) |
--help-advanced | جداول الخيارات الكاملة + جميع الأمثلة (اختصار --help يغطي نقطة البداية فقط) |
--fast | قصر البحث عن المسارات على الأهداف الرئيسية من نوع DA/EA (وليس تخطيًا كاملًا). يُفعَّل تلقائيًا للرسوم البيانية الكبيرة مع --all |
--domain X | التصفية على نطاق AD واحد أو tenantId في Azure (دون تمييز بين الأحرف الكبيرة والصغيرة) |
--list-domains | عرض نطاقات AD / مستأجري Azure في المجموعة ثم الخروج |
--owned a,b | المسارات إلى الكيانات المُخترَقة (وارد) |
--owned-file FILE | مثل --owned، من ملف مفصول بأسطر (التعليقات بـ # مسموحة) |
--from-user-file FILE | مثل --from-user، من ملف مفصول بأسطر |
--path-from / --path-to | أقصر المسارات بين أي نقطتين |
--inspect NODE | تفريغ خصائص وحواف عقدة |
--indirect | تضمين المسارات/الصلاحيات عبر المجموعات |
--deep-analysis | تحليل بطيء لتداخل المجموعات + كشف الحلقات |
--privileged-roast | مستخدمو Kerberoast/AS-REP المتداخلون في مجموعات DA/EA أو مجموعات الامتيازات الأخرى (أو AdminCount) |
--gpo-content-dir DIR | تحليل ملفات GPO XML (المهام، والسكربتات، وcPassword) |
--export {md,json,html,csv,yaml} | كتابة تقرير (الأهداف عالية القيمة + النتائج مرتبة حسب الأولوية) |
--export-bh | مخطط JSON على غرار BloodHound |
--dot [FILE] | تصدير Graphviz DOT |
--db FILE | مسار SQLite للرسم البياني (الافتراضي: تخزين تلقائي حسب بصمة المجموعة تحت ~/.cache/bloodbash/) |
--cache-dir DIR | تجاوز مجلد التخزين المؤقت التلقائي للرسم البياني |
--no-cache | إعادة الاستيعاب دائمًا؛ دون قراءة/كتابة التخزين المؤقت للرسم البياني |
--rebuild-cache | فرض إعادة الاستيعاب وتحديث التخزين المؤقت للرسم البياني |
--debug | تسجيل مفصّل للتحليل والبناء |