Domain Privilege Escalation - Constrained Delegation Attack
السلام عليكم ورحمة الله وبركاته
الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد:
مقدمة:
في هذي المقالة راح نشرح التكينك الرابع لي الـDomain Privilege وهو الـConstrained Delegation
قبل نبدا شرح التكنيك خلونا نعرف ايش هو تكنيك الـConstrained Delegation؟
هذي الـFeature تمكن الـAdministrator من توظيف مستخدم او جهاز انه ينفذ خدمة مثل MSSQL او CIFS موجودة في جهاز اخر
الشرح:
في بداية الشرح راح نسوي Load لي اداة PowerView_dev عن طريق هذا الامر:
Import-Moudle .\PowerView_dev.ps1
الان راح ننفذ امر عشان نشوف هل يوجد مستخدم تم توظيفه لتنفيذ خدمة موجودة في جهاز اخر
Get-Netuser -TrustedToAuth
نلاحظ ان المستخدم websvc يمكنه تنفيذ خدمة CIFS على جهاز dcorp-mssql
ايش هي خدمة CIFS؟
هذي الخدمة تمكنك من تصفح الملفات الخاصة بالجهاز اللي توجد عليه الخدمة
طيب راح نشوف هل يوجد جهاز تم توظيفه لتنفيذ خدمة موجودة في جهاز اخر
عن طريق هذا الامر:
Get-netcomputer -TrustedToAuth
عندنا الجهاز Dcrop-Aadminsrv يمكنه تنفيذ خدمة Time على الـDomain Controller
تنويه: هذا المقالة راح نطبق التكنيك على المتسخدم websvc وليس على جهاز Dcrop-Aadminsrv لكن هذا مايعني انه ماتقدر تطبق التكنيك عن طريق جهاز الـDcrop-Aadminsrv لكن فقط عشان المقالة لا تكون طويلة وممله ف الهدف فقط نعرف كيف راح نستغل هذا التكنيك
خلونا نكمل المقالة زي ماهو موضح فوق انه المستخدم websvc يمكنه تنفيذ خدمة CIFS على جهاز dcorp-mssql لكن نحن مايهمنا تصفح ملفات جهاز dcorp-mssql يهمنا انه نخترقه وننفذ عليه OS command
ف بالتالي يمكننا استغلال اي سيرفس اخرى على جهاز dcorp-mssql غير خدمة CIFS مثل خدمة HOST او HTTP
ايش هي خدمة HOST :
هذي الخدمة تمكننا من انشاء اوامر مجدولة على الجهاز بصلاحية nt\authority ف بالتالي ننفذ امر يجيب لنا Reverse Shell
ايش هي خدمة HTTP:
هذي الخدمة تمكننا من الدخول للجهاز عن طريق PowerShell Remoteing
تنويه: قبل لا تنفذ التكنيك لازم يكون معك ال NTLMS Hash الخاص في المستخدم
الان راح نستغل خدمة HTTP على جهاز dcorp-mssql عن طريق اداة Rubeus عن طريق هذا الامر:
.\Rubeus.exe s4u /user:websvc /rc4:cc098f204c5887eaa8253e7c2749156f /impersonateuser:Administrator /msdsspn:"CIFS/dcorp-mssql.dollarcorp.moneycorp.LOCAL" altservice:HTTP /ptt
طبعا محل الاوبشن altservice ممكن انه تحط خدمة الـHOST بدال HTTP
الان راح ندخل على جهاز dcorp-mssql بما انه عندنا الـTGS الخاصة بخدمة الـHTTP عن طريق هذا الامر:
Enter-PSSession -ComputerName dcorp-mssql.dollarcorp.moneycorp.LOCAL
وصلنا الى نهاية المقالة
شاكر لكم.
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !