Hacemos el reconocimiento de puertos con nmap, donde vemos abiertos los puertos 22 y 80:
Si inspeccionamos el servidor web, vemos que nos encontramos con una plantilla de apache por defecto:
Realizamos fuzzing para detectar directorios o archivos dentro de la web; y si utilizamos la extensión -x de gobuster podemos encontrar un archivo llamado penguin.html:
Accedemos al directorio penguin.html y tenemos esta página web:
La imagen que vemos en la web vamos a descargarla para examinarla más en profundidad:
Si intentamos comprobar la existencia de archivos ocultos dentro de esta imagen, vemos que nos pide un salvo conducto, el cual no tenemos:
Por lo que tenemos que hacer un ataque de fuerza bruta para tratar de descubrir cual es esta contraseña y así poder ver los archivos dentro de la imagen, por lo que haremos el siguiente script de bash:
#!/bin/bash imagen="$1" diccionario="$2" while IFS= read -r password; do echo "Probando contraseña: $password" steghide extract -sf "$imagen" -p "$password" &>/dev/null if [ $? -eq 0 ]; then echo "Extracción exitosa con contraseña: $password" exit 0 fi done < "$diccionario" echo "No se pudo extraer el archivo oculto. Se probaron todas las contraseñas." exit 1
Ejecutamos el script y le pasamos como argumentos tanto la imagen como el diccionario rockyou, donde vemos que nos encuentra la contraseña chocolate:
Extraemos el contenido de la imagen con steghide proporcionando la contraseña:
Y vemos que nos devuelve un keepass, por lo que tenemos que hacerle otro ataque de fuerza bruta con keepass2john de la siguiente forma, donde nos encuentra la contraseña password1:
Entramos en la base de datos del keepass proporcionando esta contraseña y vemos que funciona:
El nombre de usuario no nos coincide por ssh, pero podemos probar el mismo nombre de la máquina hackpenguin; y en este caso vemos que funciona:
Una vez dentro, además de la flag de user podemos ver un script y un archivo de texto:
Vemos que root es el propietario de este script y además tenemos permisos sobre él:
Revisamos si este script se ejecuta de forma recurrente con pspy:
Y vemos que el script se ejecuta cada cierto tiempo:
Editamos el script y añadimos un comando para que nos cambie permisos a la bash:
Lanzamos una bash con privilegios y vemos que se han cambiado los permisos a la bash: