Resolución del CTF MELONJAMON
💢Plataforma TheHackersLabs
❌Nombre: MelonJamon
📈Nivel: Avanzado
💻OS: LINUX
🙋🏽♂️Creador: CuriosidadesDeHackers & @condor7777
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.

Si fuzzeamos vemos un subdirectorio algo curioso.

La cual nos permite subir archivos.

Y si vemos el codigo fuente vemos una cadena en base64.

La cual al de codearla nos dice que «la pagina esta en construcción», pero con yaml, asi que ya sabemos que utiliza Python que utiliza YAML, os dejo un articulo que escribí sobre Ataques de deserialización YAML.


Vamos a crear un un objeto para invoca un subproceso el cual nos permitirá ejecutar comando, en esta caso un reverse shell.

Lo subimos.

Y recibimos la conexión.

Vemos que podemos ejecutar como el usuario melon y sin proporcionar contraseña go.

Así que crearemos un script en go que nos dará una shell con permisos del usuario melon.

Lo ejecutamos y somos melon.

Nos vamos a crear un archivo con una politica para indicarle que tarea o comando a de ejecutar tras el «apt update» en este caso le daremos permisos a las bash.

Si esperamos unos segundo, tendremos una bash con permisos de root
![[Pasted image 20240802182815.png]]