Técnicas por Fuerza Bruta utilizando Zed Attack Proxy

  • Posted on: 17 October 2014
  • By: ReYDeS

En un contexto de captura de información se puede utilizar la automatización para realizar una enorme cantidad de peticiones hacia el servidor web, intentando adivinar nombres de usuarios o identificadores de funcionalidades ocultas.

Utilizando el Spidering dirigido por el usuario y el Spidering automático con Zed Attack Proxy, ya ha sido factible identificar contenidos de la aplicación, como los siguientes directorios:

ht tp://DireccionIP/DoingBusiness/
ht tp://DireccionIP/Procedures/
ht tp://DireccionIP/cgi-bin/
ht tp://DireccionIP/images/
ht tp://DireccionIP/scanbot/
ht tp://DireccionIP/supplier/

El primer paso en un esfuerzo automatizado para identificar contenido oculto, podría implicar realizar peticiones a diversos nombres de directorios para encontrar directorios adicionales válidos.

Utilizando Zed Attack Proxy esto se realiza utilizando el “Fuzzer” y un archivo conteniendo una lista de palabras correspondiente a los nombres directorios a evaluar.

Seleccionar en el panel inferior la pestaña de nombre “History” o Historial, para luego seleccionar una de las interacciones. Luego en el panel superior derecho seleccionar la pestaña de nombre “Request” o Petición, para luego hacer clic en la parte final del símbolo “/”. Hacer clic derecho y seleccionar la opción “Fuzz”.

En la nueva ventana presentada seleccionar en el campo “Fuzz Category” la opción “Custom fuzzers”. Luego seleccionar el nombre del archivo a utilizar, para el propósito del ejemplo se utiliza el archivo de nombre “directory-list-2.3-small.txt”. Para iniciar el proceso hacer clic en el botón de nombre “Fuzz”.

Este procedimiento demanda una considerable cantidad de tiempo, factor dependiente del número de palabras contenidas en el archivo utilizado, congestión de la red, configuración del servidor web, entre otros.

En la pestaña de nombre “Fuzzer” ubicada en el panel inferior es factible realizar ordenamientos en base a los contenidos de cada columna, por ejemplo la columna de nombre “Status” o Estado.

No se debe asumir el hecho de interpretar la respuesta “200 Ok” como la existencia de un recurso solicitado, y una respuesta “404 Not Found” como la no existencia del mismo. Diversas aplicaciones manejan las peticiones para recursos inexistentes de un manera personalizada, algunas veces devolviendo un mensaje de error con una respuesta “200 Ok”.

Para el ejemplo realizado se ha encontrado un nuevo directorio de nombre “Backup”. La respuesta devuelta por el servidor web se visualiza en la pestaña de nombre “Response” del panel superior derecho. Adicionalmente es factible abrir este nuevo directorio en un navegador web.

Se sugiere que este procedimiento sea realizado de manera recursiva con todos los directorios descubiertos.

Fuentes:

https://code.google.com/p/zaproxy/wiki/HelpStartConceptsFuzz
https://code.google.com/p/zaproxy/
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense