Introduction

Tu misión
Has sido contratado por UltraTech para poner a prueba su infraestructura. Es un tipo de reto grey-box. La única información que sabes es el nombre de la compañía y la dirección IP de su servidor.
Enumeration Time
- ¿Qué software está usando el puerto 8081?

- ¿Qué otro puerto no estándar está siendo usado?

- ¿Qué software usa ese puerto?

- ¿Qué distro de GNU/Linux está usándose? Ubuntu. Lo dice en el servicio del puerto 31331.
- El software usando el puerto 8081 es una api REST, ¿cuántas de sus rutas son usadas por la aplicación web?
Son 2, las que se ven ahí.
Let the Fun Begin
- Hay una base de datos por algún lado, ¿cuál es su filename?
- Vamos a la URL de la base de datos.

- Vamos a enumerar las páginas de esta URL.
Parece que robots.txtestá disponible, vamos a mirar a ver qué hay en ella. - Vamos a
http:<ip>:31331/robots.txt.
- Seguimos los puntos que vamos obteniendo.

- En la única que hay algo interesante es en partners.html.
Parece que hemos encontrado el área de login. - Vamos a intentar entrar con
test:test.
Después de trastear un poco con Burp Suite nos damos cuenta de que por aquí no llegamos a ningún lado. Ni siquiera con hydra, no obtenemos ninguna contraseña para los usuarios obtenidos de la primera página:
- r00t
- P4c0
- Sq4l
- Por esto volvemos a la página de inicio de sesión a ver si nos hemos dejado algo, vamos a inspeccionar la página.
Aquí no parece haber nada, vamos a ver en la sección de red. - Nos metemos en la sección de red de las herramientas de desarrollador.
Parece que está llamando a una función, vamos a investigarlo. - Vamos a intentar hacer ping a la máquina localhost del servidor.
Pues parece que podemos inyectar comandos. - Vamos a intentar listar archivos.
Hemos encontrado el filename.
- Vamos a la URL de la base de datos.
- ¿Cuál es el hash de la contraseña del primer usuario?
- Vamos a leer el archivo
utech.db.sqlite.
- Sabemos que hay un usuario llamado
r00tgracias a la página principal, por lo que el hash debe ser lo que sigue.
- Vamos a leer el archivo
- ¿Cuál es la contraseña asociada a este hash?
- Para crackear la contraseña vamos a ir a CrackStation.

- Para crackear la contraseña vamos a ir a CrackStation.
The Root of All Evil
- ¿Cuáles son los 9 primeros dígitos de la clave privada SSH del usuario root?
- Vamos a iniciar sesión por SSH con el usuario y la contraseña que obtuvimos antes.

- Miraremos qué comandos podemos utilizar.

- No podemos usar
sudo -l. Sin embargo, podemos ver, usando el comandoid, que estamos en el grupodocker.
- Vamos a ver qué imágenes hay.

- Vamos a GTFOBins y buscamos
docker.
- Encontramos una forma de spawnear una shell de root.

- Lo ejecutamos.
En nuestro caso usamos bash porque era la imagen que estaba disponible. - Buscamos la clave privada SSH y sacamos los primeros 9 caracteres.

- Vamos a iniciar sesión por SSH con el usuario y la contraseña que obtuvimos antes.
