Page cover

🟠Zipping

En esta ocasión vamos a hacer el writeup de la máquina Zipping de Hack the Box, una máquina Linux de dificultad medium.

Primer acceso

Accedemos a la IP 10.10.11.229 a través del navegador. A priori parece una tienda de relojes online.

Encontramos el apartado /shop, pero lo más interesantes es la parte de "Work with Us" en /upload.php, que nos permite subir un archivo:

En principio solo se puede subir un .zip:

Al probar a subir una webshell comprimida en un zip nos dice que solo puede contener un pdf:

Escaneo con Nmap

Nos encontramos abiertos los puertos 22 y 80. Los típicos.

Fuzzing

Al fuzzear con dirsearch nos encontramos el directorio /uploads, donde se suben los archivos:

Test de subida de archivos

Vamos a utilizar simlink para intentar acceder a /etc/passwd , crear un archivo pdf, y comprimirlo para la subida:

Bingo. test.zip se sube correctamente y nos da un link:

Al acceder nos da un código en base64:

Lo guardamos en un archivo code y lo decodificamos usando:

E Voilá. Tenemos el passwd y nos encontramos el usuario rektsu con permisos de ejecución en la shell:

Con el mismo procedimiento, cambiamos la ruta a /home/rektsu/user.txt y conseguimos el user flag:

Al intentar ese procedimiento para acceder a archivos como el shadow donde se almacenan todos los hashes de contraseñas o a la carpeta root, nos devuelve un error "Not found", no es capaz de acceder, por lo que tendremos que encontrar otra manera:

Exploit

Vamos a crear un exploit en python para conectarnos al host y tener un mayor control. Lo que hace el siguiente script es crear una reverse shell y devolvernos una conexión reversa a nuestro netcat listener:

Para ejecutarlo seguimos los siguientes pasos:

E voilá! Ya estamos dentro, obteniendo una reverse shell. De la misma manera obtenemos de nuevo el user flag:

Escalada de Privilegios

Como es típico en todas las máquinas Linux, vamos a ejecutar un Linpeas para ver que información nos saca:

Nos encuentra un archivo interesante marcado como crítico en /tmp/bash:

Al intentar explotarlo con /tmp/bash -p parece que no nos da resultados porque algunos comandos no los ejecuta bien, pero en realidad si hacemos un cat /root/root.txt obtenemos el root flag 🏆

Para comprometerlo completamente vamos más allá y si hacemos un cat /etc/shadow nos devuelve todos los hashes que podemos crackear:

Última actualización

¿Te fue útil?