Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ghosthound — GhostHound هي إضافة لـ BloodHound OpenGraph تعيد عرض تنشيط الكائنات المحذوفة (tombstone reanimation) في Active Directory كمسار هجوم من الدرجة الأولى، حيث تقوم بتعداد الكائنات المحذوفة عبر SHOW_DELETED، ورسم خريطة لمن يمكنه استعادتها، والكشف عن الوقت الذي تستعيد فيه هوية مُعاد تنشيطها العضوية في مجموعة متميزة. | Kitploit
أدوات/GitHubGitHub/jvbotelho/ghosthound
تصعيد الامتيازاتالاستطلاعالاستغلالالحركة الجانبيةجمع المعلوماتما بعد الاستغلالاختبار الاختراقالفريق الأحمر
GitHubjvbotelho/ghosthound

ghosthound

عرض المستودع
422منذ 12 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →

حول

GhostHound هي إضافة لـ BloodHound OpenGraph تعيد عرض تنشيط الكائنات المحذوفة (tombstone reanimation) في Active Directory كمسار هجوم من الدرجة الأولى، حيث تقوم بتعداد الكائنات المحذوفة عبر SHOW_DELETED، ورسم خريطة لمن يمكنه استعادتها، والكشف عن الوقت الذي تستعيد فيه هوية مُعاد تنشيطها العضوية في مجموعة متميزة.

مشاركة

GhostHound

Crates.io docs.rs OpenSSF Scorecard

GhostHound هو إضافة OpenGraph لـ BloodHound لـ Active Directory. يتجاهل SharpHound وكل مجمع AD آخر CN=Deleted Objects: الكائنات المحذوفة (شواهد القبور) غير مرئية لتحليل مسار الهجوم القياسي في BloodHound، على الرغم من أن سلة المحذوفات في AD وآليات إعادة تنشيط شواهد القبور يمكن أن تسمح لمستخدم يتمتع بامتيازات كافية باستعادة أحدها - والسيطرة على أي هوية يمثلها. يقوم GhostHound بتعداد شواهد القبور عبر LDAP باستخدام عنصر التحكم SHOW_DELETED، ويحدد من يمكنه إعادة تنشيط كل منها، ويصدر حمولة JSON بتنسيق OpenGraph بالإضافة إلى تعريف إضافة model.json ليتمكن BloodHound CE v8+ من عرض هذا كجزء أساسي من الرسم البياني.

للاستخدام المصرح به فقط. هذه أداة أمان هجومية / فريق أحمر مخصصة لاختبارات الاختراق المصرح بها وأبحاث مختبرات الكشف. قم بتشغيلها فقط ضد بيئات Active Directory التي لديك إذن صريح لاختبارها.

المتطلبات الأساسية

  • صلاحيات تعادل صلاحيات Administrators (أو تفويض صريح لقراءة CN=Deleted Objects) على المجال الهدف. لا يمكن للحسابات غير المميزة رؤية الحاوية على الإطلاق، بغض النظر عن طريقة المصادقة المستخدمة - هذا قيد تفرضه AD، وليس شيئًا يمكن لـ GhostHound تجاوزه.
  • قابلية الوصول الشبكي إلى وحدة تحكم المجال عبر LDAP (389) أو LDAPS (636).
  • BloodHound CE v8+ إذا كنت ترغب في استيراد الرسم البياني الناتج (الجمع وإخراج JSON يعملان بشكل مستقل بدونه).

الاستخدام

root@kitploit:~
ghosthound -d ghost.local --dc-ip 10.0.0.10 -u alice -o tombstones.json

ترتيب حل كلمة المرور: --password (تجنبه - مرئي عبر ps//proc/<pid>/cmdline وسجل الصدفة)، ثم متغير البيئة LDAP_PASSWORD، ثم موجه تفاعلي إذا لم يتم تعيين أي منهما.

افتراضيًا، يتصل GhostHound عبر LDAPS (636) مع تفعيل التحقق من الشهادة. هناك علامتان للبيئات التي لا يناسبها ذلك:

  • --disable-ldaps - الرجوع إلى LDAP بنص واضح (389). يتم إرسال كلمة مرور الربط بنص عادي؛ تجنب هذا ضد أي شيء باستثناء مختبر معزول.
  • --insecure-tls - الاحتفاظ بـ LDAPS (نقل مشفر) ولكن تخطي التحقق من الشهادة، للشهادات الموقعة ذاتيًا / شهادات المختبر غير الموجودة في مخزن الثقة الخاص بك. فضل هذا على --disable-ldaps عندما تكون شهادة DC هي المشكلة الوحيدة.

--timeout-secs (الافتراضي 30) يحدد زمن كل من الاتصال الأولي وكل عملية LDAP لاحقة، بحيث يفشل DC غير قابل للوصول أو --dc-ip خاطئ خلال تلك النافذة بدلاً من التجميد.

قم بتشغيل ghosthound --help للحصول على قائمة كاملة بالعلامات.

تخطيط مساحة العمل

تم بناء GhostHound كمساحة عمل تعتمد على المكتبة أولاً - راجع docs/adr/0001-language-rust-library-first.md للتبرير:

  • bloodhound-opengraph: باني JSON لـ BloodHound OpenGraph (النظير في Rust لـ bhopengraph في Python).
  • ad-secdesc: محلل من الصفر وبترخيص متساهل لـ ntSecurityDescriptor/DACL/ACEs (راجع docs/adr/0003-security-descriptor-parsing-strategy.md لمعرفة لماذا لا يمثل هذا اعتمادًا على النظير الوحيد الموجود في Rust، وهو GPL-3.0).
  • ad-secdesc-oracle: مجموعة اختبار تفاضلي داخلي غير منشورة تقارن ad-secdesc مع تلك الحزمة GPL-3.0 كمرجع أسود الصندوق - معزولة عن البناء الافتراضي وكل رسم بياني للتبعيات لأي حزمة منشورة.
  • ad-tombstone: تعداد LDAP SHOW_DELETED، ونمذجة حالة سلة المحذوفات في AD، وتحليل حقوق إعادة التنشيط.
  • ghosthound: واجهة سطر الأوامر التي تنظم ما سبق.

الاستيراد في BloodHound

  1. في صفحة إدارة OpenGraph في BloodHound CE، قم برفع crates/ad-tombstone/model.json مرة واحدة لتسجيل أنواع العقد GhostHound_TombstoneUser/GhostHound_TombstoneComputer/GhostHound_TombstoneGroup وأنواع العلاقات GhostHound_CanReanimate/GhostHound_WasMemberOf/GhostHound_SameAs (كلها مسجلة كقابلة للتنقل، لذلك تشارك في استعلامات أقصر المسارات).
  2. قم برفع JSON الذي أنتجه GhostHound (عبر واجهة المستخدم أو واجهة برمجة التطبيقات للإدخال) كحمولة بيانات OpenGraph عادية.
  3. قم بتشغيل crates/ad-tombstone/bridge_shadow_nodes.cypher مباشرة ضد Neo4j (شريط البحث عن Cypher في BloodHound CE هو للقراءة فقط وسيرفضه):
    root@kitploit:~
    docker exec -i <graph-db-container> cypher-shell -u neo4j -p <password> < crates/ad-tombstone/bridge_shadow_nodes.cypher
    
    حواف GhostHound إلى المبادئ الموجودة في AD (Domain Admins، إلخ) تهبط على عقد مكانية بدلاً من العقد الحقيقية التي يمتلكها BloodHound بالفعل - قيود إدخال OpenGraph، وليس خطأ في هذه البيانات؛ راجع docs/adr/0006-opengraph-cross-source-node-identity.md. يقوم هذا البرنامج النصي بربطها لتكون المسارات قابلة للتنقل بالفعل. يمكن إعادة تشغيله بأمان بعد كل استيراد.

بمجرد الربط، يتم عرض مسار إعادة التنشيط كمسار عادي قابل للتنقل - شاهد قبر كان عضوًا في Domain Admins قبل الحذف، يمكن الوصول إليه بواسطة كل مبدأ لديه حق إعادة تنشيط شواهد القبور، ومربوط في عقدة Domain Admins الحقيقية:

مسار إعادة تنشيط GhostHound من تشغيل اختبار في بيئة منزلية: عدة مبادئ بحقوق GhostHound_CanReanimate تشير إلى مستخدم مقبور، والذي يحتوي على حافة GhostHound_WasMemberOf إلى عقدة مكانية، مربوطة عبر GhostHound_SameAs في مجموعة Domain Admins الحقيقية.

وضع سلسلة التوريد

يعطي هذا المشروع الأولوية للأمان عالي الثقة من اليوم الأول (docs/adr/0005-supply-chain-openssf-posture.md):

  • cargo deny لحظر صارم للتراخيص المحظورة / GPL وتدقيق الثغرات الأمنية.
  • سير عمل OpenSSF Scorecard.
  • cargo fuzz لسلامة الذعر في تحليل الواصفات الثنائية الخام.
  • لا يوجد unsafe في المكتبات الأساسية.

تبرير التصميم

يسجل دليل docs/adr/ القرارات الكامنة وراء هذا التصميم (اختيار اللغة، نطاق المصادقة، قيد الترخيص لـ ad-secdesc، نموذج بيانات سلة المحذوفات في AD، وضع سلسلة التوريد)، ويحتوي docs/research/tombstone-viability-findings.md على البحث الأساسي.

تنزيل الأداة
  • قم باستيراد الاستعلامات المبدئية في crates/ad-tombstone/queries.json، واختياريًا، قم بتشغيل crates/ad-tombstone/privilege_zones.cypher مرة واحدة لوضع علامات على شواهد القبور تحت وحدات تنظيمية من المستوى الصفري كعالية القيمة - وهذا يحتاج أيضًا إلى cypher-shell بدلاً من شريط البحث، لنفس السبب في الخطوة 3 (جمل SET الخاصة به هي جمل تحديث أيضًا).