WriteUps Vacaciones
Este WriteUp documenta la solución para la máquina “Vacaciones” de DockerLabs. A través de varias etapas de reconocimiento, explotación y elevación de privilegios, el objetivo es obtener acceso a la máquina y escalar privilegios para convertirnos en el usuario root.
Resumen:
- Nombre: Vacaciones
- Sistema Operativo: Linux
- Dificultad: Muy Fácil
- Autor: Romabri
- Enlace: Dockerlabs
Progreso del WriteUp
- Reconocimiento inicial
- Análisis de servicio
- Fuerza bruta
- Acceso por SSH
- Escalada de privilegios
- Aprendizaje
- Comandos
Reconocimiento inicial
El primer paso consiste en iniciar la máquina. Esto se puede lograr ejecutando el siguiente comando, una vez que se haya descargado la máquina:
Una vez iniciada la máquina, el script de despliegue me proporciona la dirección IP de la máquina, por lo que procedo a realizar un escaneo de puertos para identificar los servicios disponibles:
El resultado del escaneo de puertos fue:
Resultado clave: El escaneo de puertos reveló dos servicios importantes:
- Puerto 22: Servicio SSH abierto.
- Puerto 80: Servicio HTTP abierto.
Análisis de servicio
El siguiente paso es explorar el servicio HTTP. Al visitar la página en el puerto 80, encontré una página en blanco, pero al inspeccionar el código fuente encontré el siguiente mensaje:
Este mensaje revela la existencia de dos posibles usuarios, juan
y camilo
, y sugiere buscar algún directorio relacionado con correos electrónicos, específicamente en la ruta /var/mail/
.
Fuerza bruta
Ya que el código fuente me proporciona dos posibles usuarios, procedí a realizar un ataque de fuerza bruta utilizando hydra
. Para ello, creé un archivo llamado users.txt
que contenía los usuarios juan
y camilo
.
Luego de un tiempo, logré encontrar la contraseña del usuario camilo
. Con esta información, me conecté al sistema utilizando SSH:
Acceso por SSH
Con acceso al sistema como el usuario camilo
, intenté elevar privilegios utilizando el comando sudo -l
. Sin embargo, este usuario no tenía permisos para ejecutar sudo
. También intenté listar otros usuarios del sistema con compgen -u
, pero el comando no estaba disponible. Explorando el directorio /home
, encontré los siguientes directorios: camilo
, juan
y pedro
.
Recordé que el código fuente mencionaba que juan
le había dejado un correo a camilo
, así que revisé el directorio /var/mail
y encontré un archivo de texto llamado correo.txt
dentro del directorio camilo
. Este archivo contenía la clave SSH para el usuario juan
.
Escalada de privilegios
Ahora conectado como el usuario juan
, ejecuté el comando sudo -l
para verificar posibles privilegios elevados. Encontré que el usuario juan
podía ejecutar el comando /usr/bin/ruby
sin necesidad de contraseña. Consulté GTFOBinsy encontré una forma de aprovechar este permiso para obtener acceso como root
ejecutando el siguiente comando:
Con este comando, logré obtener acceso completo como root
.
Aprendizaje
La máquina Vacaciones permitió practicar técnicas de reconocimiento y explotación, incluyendo la fuerza bruta de credenciales SSH y la escalada de privilegios utilizando permisos específicos con el comando ruby
. Este ejercicio subraya la importancia de configurar adecuadamente los permisos y los servicios para evitar brechas de seguridad.
Comandos
- Despliegue de la máquina:
- Escaneo de puertos:
- Acceso al servicio SSH:
- Exploración del directorio de correo:
- Escalada de privilegios con
ruby
: