Resolución del CTF SCAPEROOM
Enumeración
Escaneo de puertos
Realizamos un escaneo de todos los puertos para saber cuáles están activos.

Los parámetros utilizados son:
- -p- : Escaneo de todos los puertos. (65535)
- -sS : Realiza un TCP SYN Scan para escanear de manera rápida que puertos están abiertos.
- -sC : Realiz una escaneo con los scripts basicos de reconocimiento
- -sV : Realiza un escaneo en buqueda de los servicios
- –min-rate 5000: Especificamos que el escaneo de puertos no vaya más lento que 5000 paquetes por segundo, el parámetro anterior y este hacen que el escaneo se demore menos.
- -n: No realiza resolución de DNS, evitamos que el escaneo dure más tiempo del necesario.
- -Pn: Deshabilitamos el descubrimiento de host mediante ping.

Y además podemos ver que hay un subdominio en los encabezados con curl

En el cual nos encontramos un texto en base64.

Así que lo decodeamos.

Como no sacamos nada en claro sacaremos metadatos de la imagen principal que encontramos con un comentario en base64.

Y vemos lo que parece ser unas credenciales.

Fuzzearemos un poco mas para ver que encontramos y donde podemos usar esas credenciales.

Y efectivamente conseguimos encontrar un panel de login donde utilizarlas.

Pero al no funcionar las utilizaremos en mysql donde enumeraremos bases de datos y tablas.

En este caso nos llama la atención la tabla login de la base de datos «SensorData».

Y veremos los eventos.

Y nos llama la atención unas credenciales encriptadas

Ahora, la tabla login
genera credenciales cada minuto. Desencriptamos la contraseña directamente en MySQL:

Ahora si que las podemos usar en el anterior panel de login.

Si enumeramos target encontramos el acabado 15.

Con el cual podemos entrar por ssh.

Y tiene un fichero cifrado en GPG, asi que nos lo traemos a nuestro host principal

Lo convertimos en un hash con gpg2john y lo rompemos con john.

Ahora si lo podemos descifrar ya que tenemos la contraseña.

La pista sobre “pre-carga” nos lleva a investigar las bibliotecas precargadas del sistema. Utilizamos el comando ldd
para inspeccionar las dependencias de /bin/ls


Confirmamos que esta biblioteca está siendo precargada revisando el archivo /etc/ld.so.preload

Usamos readelf
para inspeccionar las cadenas de texto incrustadas en la sección .rodata
y usamos la contraseña para conseguir ser root.


Especial agradecimiento al compañero Oscar por la creación y el conocimiento aportado en esta máquina. Un fuerte abrazo!!