Resolución del CTF TEMPLO
💢Plataforma: TheHackersLabs💢
❌Nombre: Templo
📈Nivel: Principiante
💻OS: LINUX
🙋🏽♂️Creador: @r0dgar
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.
Nos encontramos ante una web, pero vamos a fuzzear y ver que encontramos.


En unos de los directorios encontrados nos da la pista de uno de los directorios los cuales visitar.

Vemos que podemos subir archivos.

Y además tenemos un LFI.

Subiremos un shell en php de pentest monkey.


Pero como no sabemos donde lo a guardado, descargaremos el código fuente de la web, la cual nos la da en base64.

La decodeamos y vemos que todos los archivos que sube los encodea a rot13.

Así que en un decodeador online subimos el nombre de nuestro archivo para que lo encode a rot13, y ya sabemos cómo se llamaría nuestro archivo.

Nos dirigimos a la ruta.

Y recibimos la conexión.

Recordemos que teníamos una pista del directorio /opt, nos encontramos un directorio oculto y un backup.zip.


Nos lo traemos a nuestra maquina y sacamos el hash para romperlo con John puesto que esta protegido con contraseña, nos da una contraseña y extraemos todos los archivos, en la cual tenemos una contraseña del usuario rodgar.

Así que entramos cómo root.

Tenemos el permiso de LXD.

Nos traemos el binario y lo ejecutamos.

Nos lo traemos a nuestra maquina victima.

E importamos la imagen.

Lo iniciamos.

Y vemos que se a creado la imagen.

Le añadimos lo privilegios para que se ejecute como root.

Creamos una unidad temporal con bash.

Y lo iniciamos.

Una vez dentro le damos permisos de root a la bash y somos root.

De forma automática.

Le damos permisos de ejecución y entramos como root al contenedor.

De la misma manera que antes, le damos permisos a la bash y salimos.

Especial agradecimiento al compañero R0dgar por la creación y el conocimiento aportado en esta máquina.