Post

Kerberoasting

Description:

‫ مرحبًا، راح أشرح اليوم بإذن الله الـ Kerberoasting . ولكن قبل ما أبدأ بشرحه راح اتكلم عن ال Kerberos بشكل مبسط لكي يتضح لنا التكنيك.

Kerberos:

‫ الـ Kerberos يحتوي على الكثير من الانستركشرز، لكن راح نتطرق للنقطة المهمه لنا في شرحنا اليوم ألا وهي تسجيل الدخول من المستخدم إلى الـ workstation. بدايةً سيقوم جهاز المستخدم بإرسال AS-REQ إلى الـ Key Distribution Center (KDC) او مايسمى أيضًا بـ Domain Controller (DC) . الهدف من إرسال الـ AS-REQ هو لطلب الـ Ticket Granting Ticket (TGT) وهي user authentication token يتم إنشاؤها عن طريق الـ Key Distribution Center (KDC) بإستخدام secret key مستمد من الباسوورد الخاص بالمستخدم، بعد ذلك يقوم الـ KDC بالتأكد من الـ SECRET KEY مع الباسوورد الخاص بالمستخدم المخزن في الـ Active Directory ، وبعدما يتم تأكيد ذلك يقوم ال KDC بإرسال ال TGT مخزنه في AS-REP message ، الـ TGT تحتوي على معلومات اليوزر مشفره عن طريق ال KDC SECRET KEY لليوز krbtgt. وبعد الانتهاء من جزئية تسجيل الدخول هنالك جزئية اخرى مهمه، الا وهي طلب الدخول لخدمه مثل الـ FILE SHARE مثلًا. عندما يقوم المستخدم بطلب الدخول لخدمة معينه يتم ارسال TGS-REQ لطلب الـ Ticket Granting Service Ticket (TGS) الخاص بالخدمه من الـ KDC. ونأتي الان للنقطة المهمه ألا وهي النقطة اللتي سنقوم بإستغلالها في الشروحات القادمة، يقوم المستخدم أيضا بإرسال ال TGT الخاص به ضمن الطلب المرسل لتأكيد انه مستخدم صالح ومسجل للدخول، بعد ذلك يقوم ال KDC بإرسال ال TGS للخدمه التي طلبها المستخدم في رسالة TGS-REP لجهاز المستخدم.

Kerberoasting:

‫ بعدما أتضح لنا ماهو الـ Kerberos الان اصبح لدينا فكرة لكيف ستتم الهجمة التي سنشرحها. ‫ الخدمة اللتي تعمل على جهاز تكون مسجلة تحت اسم المستخدم المشغل لها، سواءً كان اليوزر هذا لوكال على الجهاز نفسه او كان دومين اكاونت، Service Principal Name (SPN) هو معرف فريد للخدمه اللتي تعمل على هذا الجهاز وهي تستخدم عن طريق الكيربروس لعمل انستنس للخدمه على اليوزر المتواجد حاليًا ( المسجل للدخول) وكذلك متواجدة في ال User Object في الاكتف دايركتوري. ‫ ومثلما شرحنا في هذه المقالة ان ال TGS المرسله من ال KDC تحتوي على معلومات اليوزر المسجل للدخول أو المشغل للخدمة ومن ضمنها الباسوورد ولكنها تكون مشفره. والـ Kerberoasting هو تكنيك لطلب ال TGS لخدمة تعمل تحت الدومين اكاونت وفك تشفيرها للحصول على الباسوورد غير مشفر. تنويه : هذا التكنيك الـ OPSEC الخاص به سييء جدًا لانه راح يقوم بعمل الريت على السيم سليوشن او يترك LOG بـ Windows event 4769 - A Kerberos service ticket was requested

‫ وفي هذا التكنيك راح نتعرف على اداة تساعدنا في عمل هذا التكنيك ألا وهي Rubeus . فعن طريق Rubeus وبالايرقومنت kerberoast نستطيع بدأ هذا الهجوم

1
 $ Rubeus.exe kerberoast

وستظهر لنا النتيجة التاليه : image ‫ وبكذا أتضح لنا اسم اليوزر المشغل للخدمة ألا وهو svc_mssql وبكذا راح نقدر نطلع ال TGS الخاص به

1
 $ Rubeus.exe kerberoast /user:svc_mssql

image

‫ وبكذا نقدر نفك تشفيرها عن طريق john

1
john --format=krb5tgs --wordlist=wordlist filename
This post is licensed under CC BY 4.0 by the author.