Fileception - DockerLabs
| OS | Dificultad | Creator |
|---|---|---|
| Linux | Medio | ElPinguinoDeMario |
Reconocimiento
Durante el reconocimiento inicial del sistema objetivo, identificamos que los puertos 21, 22 y 80 estaban abiertos. Esta información es crucial para planificar nuestros siguientes pasos en la evaluación de la seguridad.
FTP
Al probar el acceso FTP, logramos conectarnos utilizando el usuario anonymous. Dentro del servidor FTP, encontramos varios archivos, incluyendo una imagen que podría contener información oculta. Procedimos a descargar esta imagen utilizando el comando get para explorarla más a fondo.
WEB
Al acceder al puerto 80 con un navegador, nos encontramos con la página por defecto de Apache2 en Debian, lo cual indica que no se ha personalizado la configuración inicial del servidor web.
Al inspeccionar el código fuente de la página, descubrimos un comentario que podría ser una pista importante para avanzar en nuestra evaluación.
A partir de este punto, tenemos dos pistas principales: la primera sugiere que deberíamos aplicar técnicas de esteganografía a la imagen descargada del FTP; la segunda pista es una contraseña cifrada que probablemente necesitaremos descifrar para avanzar.
Después de probar varios métodos de desencriptación, descubrimos que el cifrado utilizado era base85. Logramos descifrar la contraseña en la siguiente página web:
https://www.rfctools.com/base85-decoder/
La contraseña obtenida es: base_85_decoded_password.
Esteganografía en la imagen
Utilizando la herramienta Steghide, aplicamos la contraseña desencriptada a la imagen. Como resultado, obtuvimos un archivo de texto que parecía no contener información útil a primera vista. Sin embargo, al analizarlo detenidamente, identificamos un posible nombre de usuario: [peter].
Investigando más sobre el contenido del archivo, descubrimos que estaba escrito en un lenguaje de programación esotérico. Encontramos un decodificador para este tipo de código en la siguiente URL:
https://www.cachesleuth.com/bfook.html
Al ejecutar el código esotérico en el decodificador, conseguimos una posible contraseña para el usuario Peter: 9h889h23hhss2. Decidimos probar esta contraseña en el siguiente paso.
SSH
Con la contraseña en mano, intentamos acceder al sistema a través de SSH como el usuario Peter y tuvimos éxito.
Una vez dentro, ejecutamos el comando ls para explorar los archivos disponibles en el directorio actual.
Nos dirigimos al directorio /tmp para continuar nuestra exploración.
Nos preguntamos si cambiar la extensión del archivo .odt a .txt nos permitiría leer su contenido. Descargamos el archivo a nuestro equipo atacante y cambiamos la extensión usando el comando mv.
Aunque intentamos convertir el archivo en varios formatos, no encontramos información relevante hasta que lo convertimos a .zip. Dentro del archivo comprimido, encontramos varios documentos, incluido uno llamado leerme.xml. Al abrir este archivo con cat, descubrimos el nombre de usuario octopus y su contraseña cifrada.
La contraseña estaba cifrada en base64, así que procedimos a desencriptarla.
Finalmente, comprobamos los privilegios del usuario Octopus con sudo -l y descubrimos que podía ejecutar cualquier comando como superusuario. Ejecutamos sudo su para elevar nuestros privilegios y convertirnos en administradores del sistema.