Kerberoasting
كسر تذاكر الخدمات
Kerberoasting درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ما هو Kerberoasting؟
إن Kerberoasting هجوم يستهدف حسابات الخدمة في Active Directory. ويمكن لأي مستخدم نطاق تمت مصادقته طلب تذكرة خدمة لحساب لديه Service Principal Name (SPN).
يُشفّر جزء من تلك التذكرة باستخدام تجزئة كلمة مرور حساب الخدمة، لذلك يستطيع المهاجم كسرها دون اتصال من دون التفاعل مع الحساب على الإطلاق.
لماذا ينجح؟
عندما يطلب مستخدم تذكرة خدمة (TGS)، يشفّر KDC جزءًا منها باستخدام تجزئة NTLM لكلمة مرور حساب الخدمة.
وبما أن أي مستخدم نطاق يمكنه طلب هذه التذكرة، وبما أنه لا حاجة إلى امتيازات خاصة، يجمع المهاجم التذاكر ببساطة ويكسرها على مهل على جهازه الخاص.
العثور على حسابات SPN
ابدأ باستكشاف الحسابات التي تم تعيين SPN لها. وتكون هذه الحسابات عادةً حسابات خدمة تشغّل SQL أو الويب أو خدمات أخرى.
تُعد حسابات المستخدمين (لا حسابات الأجهزة) التي لديها SPN أهدافًا مثالية، لأن البشر غالبًا ما يضبطون كلمات مرورها ونادرًا ما يغيرونها.
# PowerView
Get-DomainUser -SPN | select samaccountname,serviceprincipalnameطلب التذاكر باستخدام Rubeus
إن Rubeus أداة C# شائعة لإساءة استخدام Kerberos. ويطلب الأمر kerberoast تذاكر TGS لحسابات SPN ويخرجها بتنسيق قابل للكسر.
تتسم هذه الخطوة بالهدوء؛ إذ تبدو كحركة Kerberos عادية من مستخدم شرعي.
Rubeus.exe kerberoast /outfile:hashes.txtطلب التذاكر باستخدام Impacket
من Linux، ينفذ GetUserSPNs.py ضمن Impacket الهجوم نفسه عن بُعد باستخدام بيانات اعتماد نطاق صالحة.
يفيد ذلك أثناء عمليات الاختبار الخارجية أو عمليات الاختراق المفترض، عندما تكون لديك بالفعل مجموعة واحدة من بيانات الاعتماد منخفضة الصلاحيات.
GetUserSPNs.py corp.local/lowuser:Password1 -dc-ip 10.0.0.10 -requestتنسيق التجزئة
تُحفظ التذكرة الملتقطة بتنسيق يتعرف عليه Hashcat باعتباره الوضع 13100 (Kerberos 5 TGS-REP etype 23، RC4).
تبدأ كل تجزئة بـ $krb5tgs$23$، ثم يتبعها SPN والحساب والكتلة المشفرة. وهذا هو ما تقدمه إلى أداة كسر التجزئات.
$krb5tgs$23$*svc_sql$CORP.LOCAL$MSSQL/...*$a1b2c3...اختراق باستخدام Hashcat
يستخدم الاختراق دون اتصال قائمة كلمات (غالبًا مع قواعد) ضد التجزئات الملتقطة. ونظرًا إلى سرعة اختبار تذاكر RC4، سرعان ما تُخترق كلمات مرور الخدمات الضعيفة.
ولهذا ينبغي أن تكون كلمات مرور حسابات الخدمات طويلة وعشوائية، ومن الأفضل إدارتها باستخدام Group Managed Service Accounts (gMSA).
hashcat -m 13100 hashes.txt rockyou.txt -r best64.ruleأهمية أنواع التشفير
إذا كان الحساب يدعم RC4 (etype 23)، يكون الاختراق سريعًا. أما إذا كان يسمح فقط بـ AES (etype 17/18)، فيكون الاختراق أبطأ بكثير، لكنه يظل ممكنًا (Hashcat modes 19600/19700).
وقد يخفض المهاجمون حتى نوع التشفير المطلوب لإجبار النظام على إصدار تذكرة RC4 الأضعف.
الكشف والدفاع
يراقب المدافعون الأحجام غير المعتادة من طلبات TGS، ولا سيما تذاكر RC4 (معرّف الحدث 4769). تشمل إجراءات التخفيف ما يلي:
- كلمات مرور طويلة وعشوائية لحسابات الخدمات (25 حرفًا أو أكثر).
- استخدام حسابات gMSA مع التدوير التلقائي.
- تعطيل RC4 وفرض استخدام AES.
لماذا حسابات الخدمات؟
تُعد حسابات الخدمات هدفًا جذابًا لأنها غالبًا ما تكون أعضاء في مجموعات ذات امتيازات، ولأن كلمات مرورها قديمة، ولأنها غير مرتبطة بشخص واحد قد يلاحظ السلوكيات غير المعتادة.
قد يتيح اختراق أحدها الحصول على Domain Admin إذا مُنح حساب الخدمة امتيازات زائدة بإهمال.
موضعها في مسار الهجوم
يُنفَّذ Kerberoasting عادةً بعد وقت قصير من الحصول على أي موطئ قدم في النطاق. فهو يجمع بين الاستطلاع منخفض الضجيج والاختراق دون اتصال، ولذلك نادرًا ما يؤدي إلى إطلاق التنبيهات.
وغالبًا ما يتيح حساب الخدمة المخترق الحركة الجانبية أو تصعيد الامتيازات، مما يجعله أسلوبًا أساسيًا في اختبارات الاختراق الداخلية وعمليات الفريق الأحمر.
تحقق سريع
تذكّر المتطلب الأساسي لـ Kerberoasting.
مراجعة
أصبحت الآن تفهم Kerberoasting:
- يمكن لأي مستخدم في النطاق طلب TGS tickets لحسابات SPN.
- تُشفَّر التذاكر باستخدام تجزئة حساب الخدمة، ثم تُخترق دون اتصال.
- الأدوات: Rubeus وImpacket GetUserSPNs.py، مع الاختراق باستخدام Hashcat mode 13100.
- للدفاع، استخدم كلمات مرور طويلة وgMSA وتشفير AES فقط.
ستعيد في الخطوة التالية استخدام بيانات الاعتماد مباشرةً باستخدام Pass-the-Hash.
تعلم Ethical Hacking Academy مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 31
- الدروس
- 111
الأسئلة الشائعة
هل درس «Kerberoasting» مجاني؟
نعم — نص درس «Kerberoasting» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ماذا ستتعلم في «Kerberoasting»؟
كسر تذاكر الخدمات تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟
لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «Kerberoasting»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟
نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات AD
- Kerberoasting
- Pass-the-Hash
- BloodHound