BaseME

Fase de reconocimiento
Nmap
Hacemos un escaneo de nmap que nos releva que los puertos 22 (SSH) y 80 (HTTP) se encuentran abiertos:

En la página web encontramos una base64 (Cyberchef) y una lista de nombres:

Lo que entiendo con el mensaje es que hay que pasar a base64 todas las contraseñas incluyendo el usuario lucas y hacer un ataque de fuerza bruta, pero al parecer no van por ahà los tiros:

Fase de intrusión
Bash
Ahora voy a hacer una lista con todas las palabras de la lista del código fuente y voy a hacer fuzzing con ellas, lo intente pero no era por ahà el camino, asà que voy a probar con un diccionario normal. Para ello voy a hacer un pequeño script en bash que automatice el proceso:
while read line; do echo "$line" | base64 >> archivo_codificado.txt; done < archivo_entrada.txt
Gobuster

Los archivos encontrados se llaman sin codificar id_rsa y robots.txt, su interior conteniene:


No encuentro nada...

yyyyyyy bingo!

Intento iniciar sesión por el puerto SSH y el usuario lucas con la private key pero nos pide la key del id_rsa, vamos a tratar de conseguir la contraseña usando ssh2john y john. Primero intente con el rockyou pero tardaba lo suyo, y recordé aquella wordlist de base64 que hice previamente basándome en el comentario de HTML de la web, asà que la uso y rápidamente da con la contraseña valida!

Escalada de privilegios
Una vez dentro del sistema, reviso los permisos SUID y vemos que podemos ejecutar como cualquier usuario /usr/bin/base64, parece que el tipo que hizo esta máquina tiene un serio problema con el base64 jajajajjaj...

En fin, nos vamos a GTFOBins y vemos que podemos leer archivos, asà que vamos a intentar listar la id_rsa de root:

Iniciamos sesión con la id_rsa obtenida y somos root!

Conclusión
Esta máquina ha sido más tipo puzle que una situación realista, pero ha sido divertida y hemos refrescado conceptos como de bash.
Last updated