Write-ups

Resolución del CTF EL CLIENTE

💢NUEVO CTF DISPONIBLE EN TheHackersLabs💢

❌Nombre: El Cliente
📈Nivel: Avanzado
💻OS: Linux
💢Caregoría: Seguridad Ofensiva
🙋🏽‍♂️Creador: d4redevil
https://thehackerslabs.com/el-cliente/

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.

En este caso nos encontramos con una web bastante interesante.

La cual para acceder a los demás directorios que apuntan al dominio arka.thl tenemos que añadirlo como es de costumbre al /etc/host.

Y vemos el formulario de contacto.

Vamos a ver si hubiese algún subdominio por el que acceder.

Y efectivamente tenemos el subdominio de inicio de sesión pero sin credenciales.

El campo mensaje es vulnerable a XSS (Cross Site Scripting) y para llevar a cabo la explotación completaremos el formulario y en el campo de mensaje utilizaremos el siguiente payload:
Al cargarse la imagen anterior, se ejecutará el evento onerror ya que no se proporciono una ruta de imagen valida.

Nos ponemos en escucha con netcat y recibimos la cookie.

Volvemos al sitio web de admin.arka.thl y asignamos el valor de la cookie.

Recargamos y tenemos acceso al panel de administración.

tenemos acceso a subir archivos creando un nuevo proyecto. En este caso, otra de las extensiones que permite cargar además de las nombradas anteriormente es .phar, por lo que cargamos un archivo el cual nos permita ejecutar comandos.

Creamos un archivo que nos permita ejecutar comandos.

Lo subimos.

Si accedemos al enlace del documento que nos proporciona, logramos acceder a nuestro script.

Ahora solo faltaría cargar una revshell.

Para poder obtener la conexión revesa.

Si investigamos vemos que tenemos una base de datos con credenciales.

Y vemos que podemos escalar al usuarios «scott» con esa credencial.

Vemos que tenemos como SUID poder ejecutar el binario tar si necesidad de proporcionar contraseña.

Por lo que podemos escalar al usuario «kobe» de la siguiente manera.

Una vez con el usuario «kobe» volvemos a tener como SUID el binario systemctl, el cual lo podemos ejecutar sin necesidad de proporcionar contraseña.

Tal y como vemos el GTFOBins podemos crear un servicio que asigne permisos suid a la /bin/bash.

Tras ejecutarlo podemos ver que el binario /bin/bash tiene los permisos convirtiéndonos en root.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *