Maquina Nodejs 03
Descubrimiento de directorios y parametros ocultos
Vamos a iniciar realizando Nmap sobre nuestro tercer servidor con IP publica:

A continuación, accedemos a la aplicación desde el puerto 4000:

Revisamos codigo fuente viendo si hay algo interesante.
Haciendo enumeración manual, se puede identificar un formulario que permite el registro de nuevos usuarios:

Una vez creado un usuario veamos en burpsuite como viaja la petición.


veamos en el intruder:

Intruder solo ataca en lo que esta marcado:

Bien ahora utilizaremos un diccionario para el ataque:
cat /usr/share/wordlists/wfuzz/Injections/All_attack.txt | xclip -i .selection clipboard

clipboard para pegarlo en el burpsuite..."

Presionamos Start attack y esperamos que nos devueleve.

Mientras verificamos que nos econtro el dirb
Encontramos un directorio llamado
/links
Ahora seguimos escaneado ese directorio con dirb

Ya una vez registrados y con inicio de sesión nuevo encontramos que una de las herramientas de enumeración de directorios muestra un link bastante interesante
http://44.199.19.36:4000/links/open

Luego de acceder a esta ruta se puede apreciar lo siguiente:
Encontramos el directorio
/open

Verifiquemos parámetros que tiene ese directorio /open
para ello tenemos que automatizarlo con el intruder, en el parámetro url
para ver que otros parámetros contiene este.

Ahora intersectamos la peticion con Burpsuite y le damos a intruder.

Instalamos el diccionario Seclist

!! Importante tenemos otra herramienta para hacer lo mismo que hace intruder pero en consola.

Utilizando el siguiente comando podemos detectar los parametros para este servicio:
Tenemos que sacar la cokkies despues del -b y como lo hacemos pues en el burpsuite encontramos la cokkies:

Redireccionamos el FFUZ hacia el proxy con el -x:
ffuf -w /usr/share/seclists/Discovery/Web-Content/raft-small-words.txt -u "
http://44.199.19.36
:4000/links/open?FUZZ=123" -b 'connect.sid=s%3AI38hUca2rxDolCx8LTjc4u7IoPIWwQsa.Patqy8gJjLXy7XT3rdC%2BB7xK3dAf8K3JGY2n4Qg2Axo;' -x
http://127.0.0.1
:8080
El comando previo utiliza ffuf, una herramienta diseñada para la enumeración y fuzzing de directorios y archivos en aplicaciones web. En este caso, el comando también se combina con Burp Suite (a través de la opción -x
), lo que permite interceptar y analizar las peticiones enviadas por ffuf a través del proxy de Burp.
Desglose del Comando:
ffuf: Es la herramienta utilizada para realizar fuzzing, enviando múltiples solicitudes HTTP a la URL especificada con el objetivo de descubrir archivos, directorios u otros recursos ocultos.
-w /usr/share/seclists/Discovery/Web-Content/raft-small-words.txt: Este parámetro indica la wordlist que ffuf utilizará para realizar el fuzzing. La wordlist en este caso proviene de SecLists, un conjunto de listas de palabras que son útiles en pruebas de seguridad. Cada palabra de la lista se probará en la URL objetivo.
-u "http://44.199.19.36:4000/links/open?FUZZ=123": Especifica la URL objetivo. El parámetro
FUZZ
será reemplazado dinámicamente por cada palabra de la wordlist. En este ejemplo, el fuzzing se realizará en el valor del parámetro dentro de la URL.-b 'connect.sid=s%3AI38hUca2rxDolCx8LTjc4u7IoPIWwQsa.Patqy8gJjLXy7XT3rdC%2BB7xK3dAf8K3JGY2n4Qg2Axo;': Esta opción envÃa una cookie en cada petición HTTP. La cookie proporcionada (
connect.sid
) podrÃa estar relacionada con una sesión activa en la aplicación web. Esto permite que las peticiones realizadas por ffuf sean autenticadas o válidas dentro de la sesión del usuario que ejecuta el fuzzing.-x http://192.168.1.12:8080: Este parámetro configura el uso de un proxy HTTP a través de la dirección
http://192.168.1.12
:8080
, que normalmente serÃa la instancia de Burp Suite escuchando en ese puerto. De esta manera, todas las peticiones de ffuf pasarán a través del proxy de Burp Suite para ser interceptadas y analizadas.
Análisis mediante Burp Suite:
Al pasar las peticiones de ffuf a través de Burp Suite con el parámetro -x
, puedes aprovechar todas las funcionalidades que Burp ofrece, como:
Intercepción: Burp Suite interceptará cada petición enviada por ffuf, permitiendo que el pentester la revise antes de que se envÃe al servidor. Esto es útil para ajustar manualmente las solicitudes, validar cómo se estructuran las peticiones y observar el contenido que se está enviando.
Registro y Repetición: Burp Suite mantendrá un registro de todas las solicitudes enviadas, permitiendo volver a analizar cada petición y su correspondiente respuesta. Esto es útil para estudiar en detalle cómo reacciona el servidor ante las diferentes palabras de la wordlist.
Análisis de Respuestas: Burp Suite permite examinar las respuestas del servidor para cada petición, incluyendo códigos de estado HTTP, contenido de la respuesta y encabezados. Esto es clave para identificar comportamientos interesantes, como errores del servidor, archivos expuestos o rutas sensibles.
Modificación en Tiempo Real: Durante la intercepción, puedes modificar las peticiones sobre la marcha antes de que sean enviadas. Esto te permite probar manualmente diferentes inputs en base a lo que has descubierto durante el fuzzing automatizado.
Análisis Avanzado de Vulnerabilidades: Burp Suite tiene capacidades avanzadas para analizar vulnerabilidades como inyecciones SQL, Cross-Site Scripting (XSS) y otras técnicas de explotación, lo que permite a los pentesters aprovechar los resultados del fuzzing para realizar pruebas más detalladas.
Flujo de Trabajo:
Ffuf inicia el fuzzing enviando múltiples peticiones a la URL especificada.
Cada petición pasa por el proxy de Burp Suite, que intercepta las solicitudes y las respuestas.
El pentester puede analizar, modificar y registrar las peticiones y respuestas a través de Burp, identificando posibles vulnerabilidades o puntos de interés en el servidor.
Las respuestas del servidor pueden indicar rutas válidas, errores de configuración, archivos ocultos, u otros recursos que se encuentran expuestos a través de la superficie de ataque.

Muy bien ahora que funciona el parámetro
url
veamos que se puede hacer:


La maquina es una AWS como verificamos ello:
whois ip
Utilizando estos parametros del github hacia la url:


Last updated