Resolución del CTF CAMPANA FELIZ
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 con una web en blanco que no da ningun error…

Así que conociendo a nuestro gran pupilo Oscar, sabemos que hay algo escondido, en esta caso texto encodeado en base64 😉 Grande!!!.

Si lo decodeamos encontramos un villancico, y repite mucho «campana».

Vamos a enumerar un poco mas en profundidad en búsqueda de nuevos directorios, en el cual encontramos un shell.php.

Nos pide acceso, pero no tenemos credenciales.

Pero si hacemos fuerza bruta con un pide usuario campana nos da la contraseña.
$hydra l campana -P /usr/share/wordlists/rockyou.txt f 192.168.1.96 s 8088 httppostform "/shell.php:username=^USER^&password=^PASS^F=Username or password invalid" Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is nonbinding, these ignore laws and ethics anyway). [DATA] max 16 tasks per 1 server, overall 16 tasks, 14344399 login tries (l:1/p:14344399), ~896525 tries per task [DATA] attacking httppostform: 192.168.1.968088/shell.php:username=^USER^&password=^PASS^: F=Username or password invalid [8088][httppostform] host: 192.168.1.96 login: campana password: lovely
Una vez dentro vemos que podemos inyectar comandos y encontramos un txt.

Si lo leemos tenemos unas credenciales las cuales apuntan al puerto 10000.

Así que accederemos.

Una vez dentro vemos que además hay una shell que se esta ejecutando como root. Consiguiendo ser root, podríamos establecernos una revshell pero en este caso no lo veo necesario.

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