Sitemap
shadowdancer9

shadowdancer9

Canape — HackTheBox

4 min readApr 13, 2021
Press enter or click to view image in full size

Canape es una máquina Ubuntu. Descubriremos un directorio .git que nos permitirá buscar en commits anteriores y analizar el código de la web. Veremos que utiliza un módulo de python llamado Pickle que se utiliza para serializar objetos pero que contiene una vulnerabilidad que lleva a RCE. Podremos escalar privilegios explotando una base de datos llamada couchdb. Finalmente escalaremos a root gracias a Gtfobins.

Hacemos un escaneo con furious:

Press enter or click to view image in full size

Luego uno más completo con nmap:

Press enter or click to view image in full size

Visitamos la web:

Press enter or click to view image in full size

Si analizamos con Burp Suite el apartado de Submit Quote vemos las variables character y quote:

Press enter or click to view image in full size

Hacemos una búsqueda de directorios:

(root💀kali)-[~/htb/Canape]
└─# gobuster dir -u http://10.10.10.70 -w /usr/share/SecLists/Discovery/Web-Content/raft-small-words.txt -b 403,404,200

Encontramos un repositorio .git con ficheros:

El fichero config muestra lo siguiente:

Clonamos el repositorio:

(root💀kali)-[~/htb/Canape]
└─# git clone http://git.canape.htb/simpsons.git

Hacemos un git log:

(root💀kali)-[~/htb/Canape/simpsons]
└─# git log
Press enter or click to view image in full size

Vemos las diferencias en el commit que habla sobre una vulnerabilidad:

(root💀kali)-[~/htb/Canape/simpsons]
└─# git diff c8a74a098a60aaea1af98945bd707a7eab0ff4b0
Press enter or click to view image in full size
Press enter or click to view image in full size

Vemos que utiliza el módulo Pickle que se utiliza para serializar objetos. Pero contiene una vulnerabilidad que lleva a RCE.

Get shadowdancer9’s stories in your inbox

Join Medium for free to get updates from this writer.

Preparamos el payload:

Press enter or click to view image in full size

Y obtenemos una shell como www-data

Press enter or click to view image in full size

Linpeas nos muestra que hay una base de datos llamada couchdb release 2.0.0

Press enter or click to view image in full size

Vemos que escucha en el puerto 5984:

www-data@canape:/$ curl 127.0.0.1:5984
Press enter or click to view image in full size

Siguiendo la documentación de la API listamos las bases de datos:

www-data@canape:/$ curl 127.0.0.1:5984/_all_dbs
Press enter or click to view image in full size

Listamos la base de datos passwords:

www-data@canape:/$ curl 127.0.0.1:5984/passwords
Press enter or click to view image in full size

Buscamos exploits:

Press enter or click to view image in full size

Ejecutamos el script en python:

www-data@canape:/dev/shm$ python 44913.py --priv -c "id" http://localhost:5984
Press enter or click to view image in full size

Nos ha creado el usuario guest con password guest

Ahora ya podemos dumpear los passwords:

www-data@canape:/dev/shm$ curl --user guest:guest 127.0.0.1:5984/passwords
Press enter or click to view image in full size

Y con el password encontrado escalamos a homer:

Hacemos un sudo -l

Es la típica escalada de privilegios de Gtfobins:

Press enter or click to view image in full size

--

--