Introduction

¿Puedes exfiltrar la flag de root?
Getting the Flags
Reconocimiento Inicial
Comenzamos haciendo un escaneo básico de puertos.

Ahora vamos a escanear estos puertos más a fondo.

Nada extremadamente interesante, aparentemente. Vamos a listar directorios web.

Vamos a mirar cómo es la web.
Profundización
Hay un directorio que llama mucho la atención: /sitemap/.ssh/id_rsa. Vamos a ver qué contiene.

Una clave privada, ahora sólo nos queda conocer el nombre de usuario que puede usarla. Investigando, volví al directorio /, que sale una página de configuración. Pero si vamos al código fuente de dicha página vemos esto:

Explotación
Vamos a probar. Ponemos la clave en un archivo y le damos los permisos correspondientes.

Buscamos la flag.
Escalada de Privilegios
Ahora tenemos que encontrar la fórmula para escalar los privilegios hasta root.

Vemos unos cuantos grupos, esto puede ser interesante, volveré aquí si ninguna otra técnica funciona.

Parece que hemos encontrado un comando utilizable con sudo sin contraseña: wget. Vamos a mirar en GTFOBins.

Pero no funciona.

Parece que en esta versión esa opción no está disponible. Vamos a buscar en GitHub. Buscando encontramos este repo. Vamos a hacer lo que dice.
- Obtenemos el contenido de
/etc/shadow.
Para esto nos ponemos en escucha en la máquina atacante:

En la máquina víctima pasamos el contenido del archivo a la máquina del atacante:

Así obtenemos el contenido de /etc/shadow.

- Creamos un nuevo archivo
/etc/shadow.
Pegamos el contenido que hemos obtenido.

- Creamos una nueva contraseña para el usuario
rooty lo añadimos al archivo.
Utilizamos el comando openssl.

Copiamos el hash generado después de root: en el shadow.txt que hemos hecho.
CAUTION: Deja lo que hay después de los segundos dos puntos, déjalo así:
root:NUEVO_HASH:18195:0:99999:7:::.
- Transferimos el contenido al otro archivo shadow.
Abrimos un servidor de python.

Desde la máquina víctima usamos wget con sudo para sustituir el archivo.

- Cambiamos a
root.

Una vez conseguido cambiar de cuenta, sólo buscamos la flag de root y ya está.
Conclusión
Una máquina bastante facilita. Hemos aprendido a no rendirnos después de que una técnica no funcione. Si un método no termina de funcionar pero hay indicios de que es por ese camino siempre hay que seguir intentándolo.
