Domain Privilege Escalation - Unconstrained Delegation

Jehad Alqurashiمنذ سنة

السلام عليكم ورحمة الله وبركاته

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

مقدمة:

 

في هذي المقالة راح نشرح التكينك الخامس لي الـDomain Privilege Escalation وهو الـUnConstrained Delegation


قبل نبدا في تطبيق التكنيك خلونا نعرف ايش هو تكنيك الـUnConstrained Delegation؟

 

بعض الاجهزة تحتوي على Feature تسمى UnConstrained Delegation فكرة هذي الـFeature انه اي مستخدم يسجل دخول على الجهاز سواء كان عنده صلاحية  Domain Admin او غيره وحاول انه يسوي Access لسيرفس موجودة في جهاز اخر عن طريق الـKerberos راح تنحفظ ال TGT الخاصة فيه في الميموري 

 

السبب في حفظ الـTGT في الميموري انه وقت يتم طلب خدمة اخرى مايحتاج انه نسوي مصادقة لي الـTGT عن طريق الـKerberos لانه تم حفظها في الميموري اساسا

 

ف اذا المخترق وصل الى هذا الجهاز اللي يحتوي على Feature تسمى UnConstrained Delegation من الممكن يسحب الـTGT الموجودة في الميموري ويعيد استخدامها ويتمكن من الوصول الى Domian Controller طبعا كل هذا يعتمد على الـTGT الموجودة في الميموري هل تخص مستخدم موجود في قروب الـDomina Admins او لا او انه اساسا لا يوجد TGT في الميموري

 

الشرح:

 

اول شي راح نسوي Load لي اداة PowerView عن طريق هذا الامر:

 

Import-Module .\PowerView.ps1

عن طريق هذا الامر راح نشوف ايش الاجهزة اللي تحتوي على UnConstrained Delegation :

 

Get-NetComputer -Unconstrained

نلاحظ مع بعض ان الجهازين اللي هم dcorp-dc و dcorp-appsrv عندهم UnConstrained Delegation

طبعا اول جهاز هو الـDomain Controller  ف راح دائما تلاقي عليه UnConstrained Delegation ف مايهمنا

 

اللي يهمنا الجهاز  dcorp-appsrv طبعا عشان نطبق التكنيك لازم تكون مخترق هذا الجهاز وعندك صلاحية Local Administrator

 

ليش نحتاج صلاحية Local Administrator؟

عشان بنسحب الـTGT عن طريق اداة Mimikatz ف نحتاج لصلاحية Administrator على نفس الجهاز



ف انا عندي المستخدم appadmin عنده صلاحية Local Administrator على جهاز dcorp-appsrv زي ماهو موضح في الصورة القادمة

الان دخلنا للجهاز اللي يحتوي على  UnConstrained Delegation

 

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

$sess = New-PSSession -ComputerName dcorp-appsrv

Copy-Item -Path C:\AD\Tools\mimikatz_trunk\x64\mimikatz.exe -Destination C:\Users\Administrator\Desktop\ -ToSession $sess

 

الان راح نطلع على جميع الـTickets الموجودة في الميموري عن طريق هذا الامر:
 

.\mimikatz.exe "sekurlsa::tickets" "exit"

نلاحظ انه الـTGT الخاصة في الـ Administrator موجودة في الميموري


الان كل اللي علينا نسوي لها استخراج عن طريق هذا الامر:

 

.\mimikatz.exe "sekurlsa::tickets /export" "exit"

 

الان راح نرجع نحقنها في نفس الـSession الخاصة فينا عن طريق هذا الامر:
 

.\mimikatz.exe "kerberos::ptt [0;8d2043]-2-0-60a10000-Administrator@krbtgt-DOLLARCORP.MONEYCORP.LOCAL.kirbi" "exit"

الان يمديك تتصفح ملفات Domin Controller او تنفذ اوامر عليه او ممكن تنفذ dcsync attack وتاخذ الـNTLM Hash حق الـ Administrator 

 



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


اتمنى انها نالت على اعجابكم

شاكرلكم.

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

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

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

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