Archivo

Artículos etiquetados y‘herramientas’

Un 10 para OWASP ZAP (apología del software libre)

12/05/2012 3 comentarios

Quería dedicar una entrada a elogiar la estupenda respuesta del equipo de desarrollo de OWASP ZAP, y que sirva de ejemplo de cómo el software libre no supone un handicap para las empresas. Si bien yo recomiendo siempre que, si una empresa utiliza una herramienta de software libre como pieza clave de su trabajo diario, se involucre en el desarrollo o mantenimiento de la misma, el caso es que hay proyectos de software libre que tienen unos tiempos de respuesta mejores que muchas empresas de software.

ZAP PROXY

La historia es ésta. Esta semana he encontrado un bug en OWASP ZAP 1.4.0.1 mientras trabajaba que, por su gravedad, me llevó a reportarlo inmediatamente (una vez verificado). El problema en cuestión era que cuando el usuario modificaba un parámetro de una petición POST, la cabecera Content-Length no se actualizaba apropiadamente, por lo que el contenido de la petición llegaba cortado al servidor web, dando lugar a comportamientos más que extraños. El caso es que llevaba notando cosas raras unos días, pero coincidió con las pruebas de una nueva aplicación web, y al principio pensé que era la aplicación la que tenía un comportamiento anormal. La versión 1.4.0.1 se publicó el 9 de Abril de 2012, por lo que presumiblemente todos los usuarios de esa versión durante el último mes han estado padeciendo éste problema sin saberlo.

Pues bien, reporté el problema en el issue tracker de ZAP con el id 298 a la hora de la comida, y avisé al mismo tiempo a mis compañeros de trabajo, ya que se hacía conveniente revisar los resultados del trabajo de las últimas semanas. Volví a mi trabajo encadenando la versión gratuita de Burp con ZAP para evitar el bug. Mientras, recurrí a la guía de Taddong “Building OWASP ZAP with Eclipse (v2.0)” y comencé la descarga del IDE, Subversion para Windows, y todo lo necesario para echar un ojo e intentar averiguar dónde y cómo solucionar el problema. Sin embargo, apenas había terminado de montar el entorno y hacerme una idea rápida de cómo iban los módulos y clases cuando me llegó un correo de nuevo comentario en el hilo del tracker. ¡El parche había sido subido al repositorio y un .jar con el fallo corregido estaba disponible para la descarga en el hilo del problema! Tiempo total desde que reporté el fallo hasta que se subió la solución: ¡3 horas!

Por cierto, para aquellos que no lo sepan, ZAP no es Burp, pero se acerca muy rápido. En mi opinión, si Burp no se pode las pilas es probable que en el plazo de un año o dos ZAP sea mucho más útil para el pentester que Burp.

¡Salud!

Auditando WordPress con plecost

Esta semana he descubierto una nueva herramienta, aún en fase beta, para auditar websites basados en wordpress. Ha sido desarrollada por los chicos de iniqua.com recientemente para facilitarse la tarea de encontrar vulnerabilidades conocidas en plataformas wordpress. La funcionalidad incluye la identificación de la versión y de los plugins instalados, así como su versión y los CVEs asociados al mismo.

Orion:plecost-0.0.1-5beta Adrian$ ./plecost_0.0.1-5beta.py

// Plecost - Wordpress finger printer Tool - 0.0.1-5beta
//
// Developed by:
//        Francisco J. Gomez aka (ffranz@iniqua.com)
//        Daniel Garcia Garcia (dani@iniqua.com)
//
// Info: http://iniqua.com/labs/
// Bug report: plecost@iniqua.com

Usage: ./plecost_0.0.1-5beta.py [options] URL | [options] -G

Options:
    -G        : Google search mode
    -n        : Number of plugins to use (Default all - more than 7000).
    -c        : Check plugins only with CVE associated.
    -R file   : Reload plugin list. Use -n option to control the extension (This take several minutes)
    -o file   : Output file. (Default "output.txt")
    -i file   : Input plugin list. (Need to start the program)
    -s time   : Min sleep time between two probes. Time in milliseconds. (Default 10)
    -M time   : Max sleep time between two probes. Time in milliseconds. (Default 20)
    -h        : Display help. (More info: http://iniqua.com/labs/)

La he probado sobre un par de sitios diferentes, sin embargo al tratar de probarlo sobre este blog da un error (una excepción sin controlar) al no poder abrir la URL.

plecost en acción

plecost en acción

Me parece muy interesante la opción de buscar en google (-G) sitios con plugins que se sabe son vulnerables, si bien es cierto que podrían ofrecer algún modo de controlar el número de resultados de la búsqueda o de seleccionar de la lista uno o varios  plugins con alguna expresión regular o similar.

plecost google search

buscando en google con plecost

La herramienta es útil, aunque aún le quedan aspectos por pulir. Personalmente, echo en falta que tenga una opción de autoupdate, para descargarse una lista actualizada de plugins a testear y/o CVEs relevantes. Además, creo que sería más cómodo si aparte del número CVE mostrase el link al mismo. En general la aplicación no es demasiado rápida, quizá para la versión final incluyan threads que agilicen un poco la tarea de probar tantos plugins. Y, aunque es un detalle menor, de vez en cuando imprime algún salto de linea adicional al mostrar los resultados. No obstante, estaremos atentos a las mejoras que vayan haciendo y presentaremos la versión definitiva una vez esté lista.

<pre>Orion:plecost-0.0.1-5beta Adrian$ ./plecost_0.0.1-5beta.py -i wp_plugin_list.txt -n 50 www.iniqua.com
[*] Num of checks set at: 50

-------------------------------------------------
[*] Input plugin list set to: wp_plugin_list.txt
-------------------------------------------------

==> Results for: www.iniqua.com <==

[i] Wordpress version found:  10.0

[*] Search for installed plugins

Parece que la gente de iniqua sabe como evadir su propia herramienta ;)

[+] http://code.google.com/p/plecost/

Seguir

Get every new post delivered to your Inbox.