Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Berserko — إضافة Burp Suite لإجراء مصادقة Kerberos | Kitploit
أدوات/GitHubGitHub/nccgroup/berserko
بروكسيات الويب والاعتراضأمن الويباختبار الاختراقالمصادقة
GitHubnccgroup/berserko

Berserko

إضافة Burp Suite لإجراء مصادقة Kerberos

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Berserko - مصادقة Kerberos لـ Burp Suite

تم إصداره كمصدر مفتوح بواسطة NCC Group Plc - http://www.nccgroup.trust/

تم تطويره بواسطة Richard Turnbull، richard [dot] turnbull [at] nccgroup [dot] com

http://www.github.com/nccgroup/Berserko

تم إصداره بموجب رخصة AGPL، راجع ملف LICENSE لمزيد من المعلومات


❗ ملاحظة مهمة ❗

سيستمر التطوير الإضافي لـ Berserko في https://github.com/rteatea/Berserko


مقدمة

Berserko هو امتداد لـ Burp يضيف دعمًا لإجراء مصادقة Kerberos. وهذا مفيد للاختبار داخل نطاق ويندوز عندما لا تكون مصادقة NTLM مدعومة (يتعامل Burp بالفعل مع NTLM). لا يتطلب Berserko أن يكون الجهاز الذي يعمل عليه Burp منضمًا إلى النطاق (أو حتى أن يكون يعمل بنظام ويندوز).

الحل الوحيد الموجود حاليًا الذي نعرفه لاختبار تطبيقات Kerberos باستخدام Burp هو المرور عبر Fiddler في سلسلة بروكسي، مع إعداد المصادقة وفقًا لهذه التعليمات. لكن Fiddler يعمل على ويندوز فقط، كما أن ربط البروكسيات في سلسلة يضيف تعقيدًا ويُضعف الأداء، لذا من الجيد توفر إمكانية Kerberos داخل Burp نفسه.

متطلبات النظام

  • Burp Suite
  • تم اختباره على ويندوز ولينكس (Kali)

التثبيت

احصل على أحدث ملف jar لـ Berserko من تبويب Releases، أو من مجلد berserko\releases

انتقل إلى تبويب Extender في Burp، واختر Add، وتأكد من تحديد Java كـ Extension type (نوع الامتداد)، ثم وجّهه إلى ملف jar. إذا سارت الأمور على ما يرام، فسيتم إضافة تبويب Berserko إلى واجهة Burp.

البدء السريع

  • انتقل إلى تبويب Berserko وحدد خانة الاختيار Do Kerberos authentication.
  • انقر على زر Change في لوحة Domain Settings وقدّم اسم DNS للنطاق (وليس اسم NETBIOS) واسم المضيف (أو عنوان IP) لخادم KDC (وحدة تحكم النطاق).
  • اضغط على زر Test domain settings وتأكد من حصولك على استجابة Successfully contacted Kerberos service.
  • انقر على زر Change في لوحة Domain Credentials وقدّم اسم مستخدم وكلمة مرور لحساب في النطاق (اسم المستخدم العادي فقط، وليس MYDOMAIN\user أو [email protected] أو ما شابه ذلك).
  • فعّل تفويض Kerberos بالسماح لـ Berserko بإنشاء ملف krb5.conf لك. انقر على زر Create krb5.conf file في لوحة Delegation واختر موقعًا مناسبًا يمكن إنشاء الملف فيه. أي مكان سيفي بالغرض. لا ترغب في الكتابة فوق أي ملف krb5.conf موجود على مستوى النظام. أجب بنعم عندما يسألك Berserko إذا كنت تريد تعيين هذا الملف كملف krb5.conf. إنه لأمر مزعج أن نضطر للقيام بذلك (إنشاء ملف) لكنه ليس خطأ Berserko وليس خطأ Burp - إنه قيد في واجهات برمجة تطبيقات Kerberos الخاصة بـ Java. لمزيد من المعلومات راجع الملاحظات حول التفويض (Delegation) أدناه.
  • اضغط على زر Test credentials وتأكد من حصولك على استجابة "TGT successfully acquired". ونأمل أيضًا أن تظهر عبارة "TGT is forwardable so delegation should work".
  • يجب أن تكون مصادقة Kerberos الآن جاهزة للعمل مع المضيفات في النطاق المحدد.

الإعدادات

توجد عناصر تحكم متعددة في تبويب Berserko داخل Burp.

خانة الاختيار Do Kerberos authentication هي مفتاح رئيسي. وطالما لم يتم تفعيلها، لن يقوم Berserko بأي شيء على الإطلاق.

زر Restore defaults يعيد Berserko إلى الإعداد الافتراضي (الذي لا يحتوي على أي تفاصيل نطاق أو بيانات اعتماد مستخدم).

زر Clear Kerberos state يمسح جميع تذاكر Kerberos وغيرها من الحالة على العميل. السبب الوحيد الذي قد تحتاج فيه لاستخدام هذا هو إذا كانت قد أُجريت تغييرات على إعداد Kerberos في جانب الخادم وأردت البدء من حالة نظيفة.

زر Write tickets to log يكتب معلومات حول تذاكر Kerberos الحالية إلى دفق سجل Berserko - وهذا قد يكون مفيدًا للتصحيح واستكشاف الأخطاء. لعرض السجلات انتقل إلى تبويب Extender في Burp، وحدد Berserko، ثم انظر إلى تبويب Output بالأسفل. قد يكون من المنطقي استخدام خيار Save to file هنا، لأن بيانات التذاكر يمكنها بسهولة ملء المخزن المؤقت للسجل في الواجهة الرسومية.

تحتوي بعض عناصر التحكم على زر مساعدة يعرض مزيدًا من المعلومات.

إعدادات النطاق

حدد Domain DNS Name (اسم DNS للنطاق) وKDC Host (مضيف KDC) باستخدام عناصر التحكم في هذا القسم. لا يمكن تحرير مربعات النص مباشرة؛ يجب استخدام زر 'Change' لتعديلها.

يجب أن يكون Domain DNS Name هو اسم DNS للنطاق الذي ترغب في المصادقة ضده (بدقة أكبر، هذا هو في الواقع عالم Kerberos (Realm)). يجب أن يكون شيئًا مثل mydomain.acme.local. ويجب ألا يكون اسم NETBIOS للنطاق (والذي سيكون شيئًا مثل MYDOMAIN).

يجب أن يكون KDC Host هو اسم المضيف (أو عنوان IP) لخادم KDC الخاص بـ Kerberos (مركز توزيع المفاتيح). في نطاق ويندوز، يكون KDC ببساطة وحدة تحكم النطاق.

بعد توفير Domain DNS Name، يمكنك استخدام زر Auto لمحاولة تحديد موقع KDC تلقائيًا. يقوم بذلك عن طريق إرسال استعلام DNS SRV لخدمة Kerberos. إذا كان أحد خوادم DNS لديك هو وحدة تحكم نطاق للنطاق الصحيح، فيجب أن يعمل هذا. وإلا فلن يعمل. ❗لن تعمل هذه الوظيفة في الإصدارات الحديثة من Burp، لأن مكتبات DNS المطلوبة لا تُشحن كجزء من JRE المرفقة. يمكنك تجاوز ذلك بالتشغيل باستخدام JRE كاملة كما هو موضح في أعلى هذا README.❗

عند إدخال Domain DNS Name وKDC Host، استخدم زر Test domain settings لاختبار الاتصال. إذا سارت الأمور على ما يرام، فستحصل على استجابة Successfully contacted Kerberos service.

راجع هذا الملف لمزيد من المعلومات حول الحصول على القيم الصحيحة لإعدادات النطاق هذه.

بيانات اعتماد النطاق

حدد Username (اسم المستخدم) وPassword (كلمة المرور) لحساب في النطاق باستخدام عناصر التحكم في هذا القسم. لا يمكن تحرير مربعات النص مباشرة؛ يجب استخدام زر 'Change' لتعديلها.

يجب أن يكون Username هو اسم المستخدم العادي فقط. يجب أن يكون شيئًا مثل bob. ويجب ألا يكون MYDOMAIN\bob أو [email protected] أو ما شابه.

بعد توفير بيانات الاعتماد، يمكنك استخدام زر Test credentials. سيحاول هذا الحصول على تذكرة منح التذاكر (Ticket-Granting Ticket) الخاصة بـ Kerberos للمستخدم المحدد. إذا نجح الأمر، ستحصل على استجابة TGT successfully acquired. إذا لم ينجح، فاعلم أن هذه محاولة مصادقة على النطاق، لذا كن حريصًا على عدم قفل حسابك.

لن يتم حفظ كلمة المرور في إعدادات Berserko للمرة القادمة ما لم تكن خانة الاختيار Save password in Burp config? محددة. ومع ذلك، سيتم حفظ جميع الإعدادات الأخرى.

التفويض (Delegation)

تستخدم بعض التطبيقات تفويض Kerberos في جانب الخادم لإعادة توجيه هوية العميل إلى خوادم أخرى (لكن لا توجد طريقة سهلة لتحديد ما إذا كان هذا قيد الاستخدام من جانب العميل).

يدعم Berserko هذا، لكن هناك عقبة. التفويض يعمل فقط إذا كان المستخدم لديه TGT قابل للتحويل (forwardable) (تذكرة منح التذاكر). وللأسف، لا يوفر تنفيذ Java لـ Kerberos طريقة لتحديد برمجيًا أنه يجب الحصول على تذكرة قابلة للتحويل. لا يمكن فعل ذلك إلا بإضافة إدخال مناسب إلى ملف الإعداد krb5.conf.

لذا، لكي يعمل التفويض، يجب توجيه Berserko إلى ملف krb5.conf مناسب، وهناك طريقتان محتملتان هنا.

أسهل ما يمكن فعله، وهو النهج الموصى به، هو استخدام زر Create krb5.conf file. سينشئ لك ملفًا مناسبًا في الموقع الذي تختاره. يمكنك وضعه في مجلد مؤقت، أو في مجلد مشروعك، أو في أي مكان. لكن يمكن إعادة استخدام الملف نفسه إلى أجل غير مسمى، لذا قد يكون من المنطقي وضعه في مكان أكثر ديمومة. يتيح لك زر Change تحديد ملف مختلف لاستخدامه.

إذا كنت مهتمًا، فإن ملف krb5.conf الذي يتم إنشاؤه بسيط جدًا وسيحتوي على المحتوى التالي:

[libdefaults]
    forwardable = true

بدلاً من ذلك، يمكنك استخدام زر Change للإشارة إلى ملف krb5.conf موجود على النظام. السبب الوحيد الذي قد يجعلك ترغب في فعل ذلك هو إذا كانت هناك إعدادات Kerberos مهمة أخرى في هذا الملف تريد أن يلتقطها Berserko (وهو ما يجب أن يعمل جيدًا من الناحية النظرية، لكن لم يتم اختباره عمليًا). لاحظ أن الموقع الافتراضي لهذا الملف على لينكس هو /etc/krb5.conf - أما أنظمة التشغيل الأخرى فمن غير المرجح أن تحتوي على واحد. إذا كنت تشير إلى ملف krb5.conf موجود، فتأكد من تحريره لتفعيل التحويل (Forwarding) - أضف forwardable = true إلى قسم [libdefaults] (أو لكل عالم Realm على حدة). لكن كن حذرًا. مطالبة Berserko بإنشاء الملف لك ستكون الخيار الأفضل في 99% من الحالات.

تنزيل الأداة