martes, enero 08, 2013

Nuevo Plugin para FOCA PRO: IIS Short Name Fuzzer

Ya había para la FOCA PRO - y siguen estando disponibles - un plugin para listar los ficheros en formato 8:3 de servidores web con IIS que tuvieran esa vulnerabilidad y un web fuzzer. FOCA detecta la vulnerabilidad de listados 8:3, así que nos parecía fundamental tener ese plugin en su momento. Además, también tiene FOCA PRO un web fuzzer para buscar diccionarios de términos en URLs.

Sin embargo, tras una reciente auditoría de seguridad de una aplicación web en que encontramos esta vulnerabilidad de los servidores IIS del cliente, nos dimos cuenta de que era necesario que funcionaran conjuntamente los tres: FOCA, el Web Fuzzer y el ISS Short Name Scanner. Así que, hemos dedicado unas jornadas de trabajo a desarrollar este plugin que se ha currado nuestro amigo Josemi, y ya está disponible para descarga desde la web de la FOCA. Ya sabes que si quieres conseguir la FOCA PRO, puedes ponerte en contacto con nosotros en i64@infomatica64.com.

Carga del plugin

El nombre del plugin es IIS Short Name Fuzzer (el del icono de IIS) y se puede descargar desde la web de los plugins de la FOCA. El plugin se carga como todos los otros desarrollados para FOCA.

Figura 1: Carga del plugin en FOCA PRO

Configuración

En la parte superior está el menú de configuración. Hay cuatro pestañas para configurar el plugin:

1. En la primera se selecciona la URL a atacar, el tipo de servidor, si se desea utilizar el fuzzer de carpetas para nombres de menos de 8 caracteres de longitud, los diccionarios para reconstruir las carpetas de 8:3 y un listado de USER-AGENTs a utilizar.

Figura 2: Configuración general del plugin

En esta versión, a diferencia del plugin anterior, se soportan 3 tipos distintos de servidores distintos: IIS 5-6, IIS 7 y Ngix (en fase de pruebas aún). A pesar de que en todos más o menos se explota la vulnerabilidad de manera similar, hay variaciones entre ellos. De hecho, el servidor Nginx es también vulnerable a este bug pero no tiene todas las posibilidades que ofrece en los servidores IIS.

2. En la siguiente pestaña se encuentran los controles avanzados de rendimiento, en ellos se puede configurar el número de hilos del fuzzer, el del scanner de short names viene prefijado, el máximo número de hilos concurrentes, el número máximo de reintentos en caso de error en la petición de la URLs y el retraso en el lanzamiento de cada hilo según el tipo.

Figura 3: Configuración de rendimiento del plugin

Hay que tener en cuenta que tanto el scanning de ISS Short name - que es un ataque Blind - como el del fuzzer - que es una fuerza bruta - son intensivos, así que para no tumbar el servidor conviene poder regular la intensidad del plugin.

3. En la parte de los diccionarios aparece la ruta relativa a cada uno de los diccionarios utilizados. Hay que tener en cuenta que el único utilizado en el fuzzer es el que viene indicado con el nombre, el resto se utilizan para recomponer el nombre de archivos y carpetas, (el del USER-AGENT no es configurable) y si se hace doble clic en los textbox aparece un cuadro de dialogo para seleccionar un diccionario propio.

Figura 4: Diccionarios utilizados en el plugin

4. En esta pestaña se pueden configurar parámetros especiales como son el rango de símbolos a probar, el rango de carpetas con el mismo nombre a abarcar y la posibilidad de alterar el comportamiento del programa en caso de que el servidor tenga un tipo de protección que arroje código de redirección en caso de error.

Figura 5: Configuración de caracteres especiales

Guardado y carga manual y automático

De manera automática el plugin está preparado para guardar el progreso del mismo cada 10 minutos en la carpeta “C:\Users\Ususario\FOCA”. Del mismo modo, al arrancar buscará dicho archivo para precargar el estado antes del último cierre*. De modo adicional se presenta la posibilidad de realizar el proceso manual.

Figura 6: Salvar y recuperar un trabajo del plugin

*En el estado actual de desarrollo el plugin es capaz de distinguir entre los elementos analizados y los pendientes de analizar tanto en el fuzzer como en el shorter. No obstante si se cierra la FOCA estando a mitad de analizar una URL, dicha URL aparecerá como no analizada.

Panel de monitorización

En este panel se puede encontrar un resumen sobre el estado del plugin, el número de hilos en uso y la cantidad de elementos encontrados hasta el momento. Es el que muestra un resumen de lo hecho hasta el momento.

Figura 7: Proceso general del plugin

Panel de seguimiento

En este otro panel se puede ver en mayor detalle las peticiones que se están haciendo y otros mensajes sobre el estado del plugin para conocer si está funcionando correctamente o está pasando alguna situación anómala.

Figura 8: Log de queries que está realizando el plugin

Panel gráfico de resumen

Este panel permite apreciar de manera más gráfica los resultados obtenidos mediante un árbol autogenerado a partir del sitio web y las extensiones de los ficheros que causan un comportamiento especial por parte del servidor, generalmente errores 500.

Figura 9: Lista de ficheros descubiertos con el plugin

Integración con la FOCA

Tras iniciar el plugin lo primero que hace es enviarle la URL a la FOCA para que ésta busque en internet elementos como el robot.txt u otras URLs. Después se queda esperando a recibir las direcciones URL reconocidas para pregenerar un árbol de directorios del sitio web ya conocidos y hacer que el escaneo sea mucho más rápido.

Cada vez que reconoce una URL completa y procede a analizarla con el plugin, es devuelta otra vez la URL a la FOCA para que la analice buscando los métodos HTTP soportados, listados de directorios abiertos, ficheros .listing, etcétera.

Resulta obvio, pero digno de mención, que al configurar la FOCA para que use un Proxy, los paquetes generados por el plugin también son redireccionados a través del proxy.

Correcciones manuales

En el mismo panel en el que se encuentran las opciones de carga y guardado se puede acceder a un menú especial que permite interactuar directamente con los resultados obtenidos por el plugin.

Figura 10: Probar nombres manualmente

En dicho panel se muestra un listado desplegable con todas las direcciones URL encontradas y un campo de texto para las sugerencias. Si selecciona la opción “check” el plugin comprobará, de manera muy ligera, la validez de las opciones encontradas, en caso contrario forzará los cambios. El botón “Remove” eliminará la dirección url del plugin y el botón “Apply” procederá a efectuar los cambios.

Saludos Malignos!

1 comentario:

  1. Perfecto! Muy útil que se hayan integrado las utilidades short IIS y Fuzzer. Utilizo mucho Foca en los análisis de auditoria.

    Muchas Gracias a todos!!
    Un abrazo

    ResponderEliminar