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
وستظهر لنا النتيجة التاليه : وبكذا أتضح لنا اسم اليوزر المشغل للخدمة ألا وهو svc_mssql وبكذا راح نقدر نطلع ال TGS الخاص به
1
$ Rubeus.exe kerberoast /user:svc_mssql
وبكذا نقدر نفك تشفيرها عن طريق john
1
john --format=krb5tgs --wordlist=wordlist filename