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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
jackdaw — جمع جمع جمع | Kitploit
أدوات/GitHubGitHub/skelsec/jackdaw
كسر كلمات المرورجمع المعلوماتاختبار الاختراقكشف الشذوذ
GitHubskelsec/jackdaw

jackdaw

جمع جمع جمع

عرض المستودع
58586منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

jackdaw

اجمع اجمع اجمع jackdaw_card

ما هذا؟

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

معلومات سريعة عن الاستخدام

  • إذا لم تستخدم الجمع التلقائي (مثلًا لا تعمل على Windows)، فستحتاج إلى إنشاء قاعدة بيانات فارغة أولية عبر dbinit
  • أولاً، تحتاج إلى تنفيذ enum. يمكن القيام بذلك تلقائيًا على Windows بالنقر المزدوج على الملف التنفيذي، أو كتابة jackdaw.exe auto.
  • ثانيًا، ستحتاج إلى تشغيل nest للحصول على واجهة الويب. بشكل افتراضي، يتم تقديمها تحت http://127.0.0.1:5000/nest وهناك واجهة برمجة تطبيقات موثقة بـ SWAGGER تحت http://127.0.0.1:5000/ui.
  • واجهة الويب: ستحتاج إلى الذهاب إلى عرض المجال والنقر على Generate graph cache مرة واحدة فقط للحصول على معلومات الحواف في ملف ذاكرة تخزين مؤقت. قد يستغرق ذلك بعض الوقت لكن في سطر الأوامر سترى شريط تقدم.
  • بعد اكتمال ذاكرة التخزين المؤقت للرسم البياني، يمكنك اللعب بالرسم البياني في graph view لكن لا تنسَ تحديد رقم ذاكرة التخزين المؤقت الصحيح في الأعلى يسارًا.

حيل/نصائح للأداء

سيتم تحديث هذا القسم بانتظام بناءً على ملاحظات المستخدمين.

جمع البيانات

لا توجد نصيحة هنا، فبينما يمكن إجراء بعض التحسينات في الكود، لا يوجد شيء يمكن لمستخدم عادي فعله.

توليد ملف ذاكرة التخزين المؤقت لبيانات الرسم البياني

يجب توليد ملف ذاكرة التخزين المؤقت لبيانات الرسم البياني لكل رسم بياني مرة واحدة (ومرة واحدة فقط)، وقد يستغرق ذلك بعض الوقت باستخدام أداة sqlalchemy الافتراضية.
يمكن تحسين الأداء والسرعة بشكل كبير (أكثر من 50 ضعفًا في السرعة و20 ضعفًا أقل في الذاكرة) إذا استخدمت خلفية sqlite AND وضعت أداة سطر الأوامر "sqlite3" في PATH. أوصي بذلك لكل مستخدم.

حساب المسار وتحميل بيانات الرسم البياني

هنا يأتي الجزء الأكبر من المقايضة. التنفيذ المبكر لجاكداو استخدم وحدة networkx كخلفية للرسم البياني لأنها مكتوبة بالكامل بلغة Python. لكن هذا جاء بتكلفة كبيرة جدًا في الذاكرة والسرعة. لكي يكون جاكداو خالصًا بلغة Python، لا يزال هذا الخيار موجودًا، لكن استخدام خلفية igraph هو الافتراضي الآن.
ملاحظة: igraph هي مكتبة C++ مع روابط Python. تحتوي على حزم مجمعة مسبقًا لنظام Windows ومعظم توزيعات Linux الرئيسية، لكن إذا استخدمت جاكداو على شيء آخر (أنظمة مدمجة/هواتف محمولة/متصفحات ويب)، فستحتاج إما إلى العودة إلى networkx أو المعاناة مع وقت التجميع الطويل.

أمثلة على الأوامر

التعداد التلقائي - Windows فقط، مع مستخدم منضم للمجال -

لا حاجة لتهيئة قاعدة البيانات مسبقًا، سيتم ذلك تلقائيًا. باستخدام الملف الثنائي الموزع يمكنك فقط النقر المزدوج على jackdaw.exe
باستخدام كـ script بايثون jackdaw auto

تهيئة قاعدة البيانات

jackdaw --sql sqlite:///<المسار الكامل هنا>/test.db dbinit
في أنظمة LINUX، <المسار الكامل هنا> يتضمن أول / لذا سيكون لديك //// أربعة (4) شرطات قبل اسم الملف. لا تنزعج.

التعداد

تعداد كامل مع sspi مدمج - Windows فقط

jackdaw --sql sqlite:///test.db enum 'ldap+sspi-ntlm://<المجال>\<نائب>@10.10.10.2' 'smb+sspi-ntlm://<المجال>\<نائب>@10.10.10.2'

تعداد كامل مع اسم مستخدم وكلمة مرور - مستقل عن المنصة

كلمة المرور هي Passw0rd!
jackdaw --sql sqlite:///test.db enum 'ldap+ntlm-password://TEST\victim:[email protected]' 'smb+ntlm-password://TEST\victim:[email protected]'

تعداد LDAP فقط مع اسم مستخدم وكلمة مرور - مستقل عن المنصة

كلمة المرور هي Passw0rd!
jackdaw --sql sqlite:///test.db ldap 'ldap+ntlm-password://TEST\victim:[email protected]'

تشغيل واجهة الويب التفاعلية لرسم الرسم البياني والوصول إلى الميزات الإضافية

jackdaw --sql sqlite:///<المسار الكامل إلى قاعدة البيانات> nest

افتح http://127.0.0.1:5000/ui للوصول إلى API

يرجى الاطلاع على قسم Building the UI أدناه لتعلم كيفية بناء واجهة المستخدم. بمجرد بنائها:

افتح http://127.0.0.1:5000/nest لواجهة الرسم البياني (تعرض الرسم البياني، لكنها بعيدة عن العمل)

الميزات

اكتساب البيانات

عبر LDAP

مرحلة تعداد LDAP تكتسب بيانات حول معلومات AD، المستخدم، الجهاز، الوحدة التنظيمية، كائنات المجموعة والتي سيتم تمثيلها كعقدة في الرسم البياني، وكجدول منفصل في قاعدة البيانات. بالإضافة إلى ذلك، سيتم تحليل موصّف الأمان لجميع الكائنات المذكورة أعلاه وإضافة قوائم التحكم في الوصول (ACLs) لـ DACL إلى قاعدة البيانات. هذا، إلى جانب معلومات العضوية، سيتم تمثيله كحواف في الرسم البياني. بالإضافة إلى ذلك، يمكن إجراء استعلامات SQL مخصصة على أي من أنواع البيانات المذكورة أعلاه عند الحاجة.

عبر SMB

مرحلة تعداد SMB تكتسب بيانات حول المشاركات، المجموعات المحلية، الجلسات، بيانات NTLM عبر الاتصال بكل جهاز في المجال (الذي يتم الحصول عليه عبر LDAP)

عبر Kerberos

وحدة Kerberos تقوم بـ kerberoasting و aspreproasting تلقائيًا

عبر تفريغات LSASS (اختياري)

يسمح الإطار للمستخدمين برفع تفريغات ذاكرة LSASS لتخزين بيانات الاعتماد وتوسيع جدول معلومات الجلسة. سيتم استخدام كلاهما كحواف إضافية في الرسم البياني (كلمة مرور مشتركة وجلسة على التوالي). كما يستخدم الإطار هذه المعلومات لإنشاء تقرير كلمة مرور حول بيانات الاعتماد الضعيفة/المشتركة/المكسورة.

عبر نتائج DCSYNC (اختياري)

يسمح الإطار للمستخدمين برفع ملفات DCSYNC الخاصة بـ impacket لتخزين بيانات الاعتماد. سيتم استخدام هذا كحواف إضافية في الرسم البياني (كلمة مرور مشتركة). كما يستخدم الإطار هذه المعلومات لإنشاء تقرير كلمة مرور حول بيانات الاعتماد الضعيفة/المشتركة/المكسورة.

عبر الرفع اليدوي (اختياري)

يسمح الإطار بتمديد قاعدة البيانات المتاحة يدويًا في كل جانب. مثال: عند اكتشاف معلومات جلسة المستخدم على جهاز معين (خارج التعداد التلقائي)، هناك إمكانية لرفع هذه الجلسات يدويًا، مما سيؤدي إلى ملء قاعدة البيانات وكذلك رسم الرسم البياني الناتج

الرسم البياني

يمكن للإطار توليد رسم بياني باستخدام المعلومات المتاحة في قاعدة البيانات ورسمه عبر واجهة الويب (nest). علاوة على ذلك، يمكن استدعاء توليد الرسم البياني وحسابات المسارات برمجيًا، إما باستخدام API الويب (نقطة نهاية /ui) أو وظائف كائن الرسم البياني.

كشف الحالات الشاذة

يمكن للإطار تحديد التكوينات الخاطئة الشائعة في AD دون توليد رسم بياني. حاليًا فقط عبر API الويب.

المستخدم

يتضمن كشف الحالات الشاذة للمستخدم كشف أذونات UAC غير الآمنة وقيم وصف المستخدم الواسعة. من المتوقع أن تنمو هذه المجموعة من الميزات في المستقبل مع تنفيذ ميزات جديدة.

الجهاز

يتضمن كشف الحالات الشاذة للجهاز كشف أذونات UAC غير الآمنة، توقيع SMB غير إلزامي، إصدار نظام تشغيل قديم، الأجهزة خارج المجال. من المتوقع أن تنمو هذه المجموعة من الميزات في المستقبل مع تنفيذ ميزات جديدة.

كسر كلمات المرور

الإطار لا يقوم بأي كسر، فقط تنظيم التجزئات ونتائج الكسر
حاليًا التركيز الرئيسي على نتائج dcsync الخاصة بـ impacket و aiosmb! تجزئات NT و LM فقط!
العملية النموذجية كالتالي:

  1. حصاد بيانات الاعتماد كملف نصي عبر impacket/aiosmb أو كتفريغات ذاكرة لعملية LSASS عبر أي أداة تراها مناسبة.
  2. رفع بيانات الاعتماد المحصودة عبر API
  3. استعلام عن التجزئات غير المكسورة عبر API
  4. كسرها (hashcat؟)
  5. رفع النتائج إلى الإطار عبر API
  6. توليد تقرير عن المستخدمين المكسورين/غير المكسورين وقوة كلمة المرور ومشاركة كلمة المرور

ملاحظة من المؤلف: تم تنفيذ هذه الميزة لكل من المهاجمين والمدافعين. شخصيًا لا أرى قيمة مضافة كبيرة على أي من الجانبين، لأنه عند الحصول على تجزئة NT لمستخدم، فهي بنفس جودة كلمة المرور... ومع ذلك، تقوم المزيد والمزيد من الشركات بإجراء تمارين قوة كلمة المرور، وهذه الميزة ستساعدهم. بالنسبة للمهاجمين: إنها مجرد استعراض في هذه المرحلة، لكن تفضل. ربما تخيف الإدارة للحصول على نقاط إضافية.

مهم

هذا المشروع في مرحلة تجريبية! هذا يعني عدة أشياء:

  1. قد يتعطل
  2. قد تتغير عناصر التحكم التي تستخدمها في المستقبل (على الأرجح)
  3. (الأسوأ) تصميم قاعدة البيانات ليس بالضرورة مناسبًا للطلبات المستقبلية، لذا قد يتغير. لن يكون هناك أي جهد للحفاظ على التوافق مع الخلف مع هيكل قاعدة البيانات في المرحلة التجريبية!

الجزء الفني

خلفية قاعدة البيانات

يستخدم جاكداو وحدة ORM الخاصة بـ SQLAlchemy، مما يمنحك خيار استخدام أي خلفية قاعدة بيانات SQL تريد. تتم الاختبارات بشكل رئيسي على SQLite لأسباب واضحة. لن يتم استخدام أوامر خاصة بخلفية معينة في هذا المشروع تحد من استخدامك.

بناء واجهة المستخدم

هذا مطلوب فقط إذا قمت بالتثبيت عبر GIT و/أو قمت بتغيير شيء في كود واجهة المستخدم
واجهة المستخدم مكتوبة بـ React. قبل الاستخدام/التثبيت الأول، يجب بناؤها. لهذا، ستحتاج إلى تثبيت nodejs و npm. ثم:

  1. اذهب إلى jackdaw/nest/site/nui
  2. نفّذ npm install
  3. نفّذ npm run build

بمجرد الانتهاء مما سبق، واجهة المستخدم جاهزة للاستخدام.

الشكر

"إذا رأيت أبعد، فذلك لأنني وقفت على أكتاف العمالقة."

للفكرة الأصلية

فريق BloodHound

لحساب حافة ACL

@dirkjanm (https://github.com/dirkjanm/)

لواجهة المستخدم الرائعة

Zsolt Imre (https://github.com/keymandll)

لأجزاء جمع البيانات

يرجى الاطلاع على قسم الشكر في وحدات aiosmb و msldap

في حال نسيت ذكر شخص ما، يُرجى إرسال PR

تنزيل الأداة