Vulnerabilidades en aplicaciones Web - WAPITI

3

Visto 17158 veces | Publicado el 02/01/2010 | www pentest vulnerabilidades


En la actualidad, con la evolución de los dispositivos de seguridad perimetral, la concienciación por parte de los administradores de red y los fabricantes de software, cada vez es más complicado encontrar, durante el proceso de una revisión de seguridad, vulnerabilidades en los sistemas operativos y en el software en general instalado en un servidor.

Por el contrario, es muy común encontrar vulnerabilidades Web ya que los programadores (o más bien el mercado) sigue priorizando la funcionalidad y usabilidad de la aplicación por encima de la seguridad y, normalmente, al desarrollar dichas aplicaciones web, no se tienen en cuenta las metodologías de programación segura para los diferentes lenguajes de programación utilizados, tampoco se revisa el código fuente antes de su paso a producción, etc.

Vulnerabilidades como Inyecciones de SQL, XPATH, Cross Site Scripting (XSS), Cross-site request forgery (XSRF), Inyecciones LDAP o CRLF, fallos en los mecanismos de autenticación de la aplicación, etc. siguen siendo todavía demasiado habituales.

Para facilitar un poco la tarea de descubrir vulnerabilidades Web y como alternativa a los programas comerciales como HP Webinspect o IBM Appscan, esta disponible desde hace tiempo Wapiti que acaba de publicar su última versión 2.2.1 y dispone de licencia GPLv2.

Wapiti está programado en Python, está disponible en español y su uso, a pesar de no disponer de entorno gráfico, es de lo más simple, basta ejecutar el programa con un intérprete de Pyhton versión 2.4 o superior desde Windows o Linux, seguido de la dirección a revisar como opción principal:

python wapiti.py http://www.hacktimes.com

a partir de entonces, se cargará el módulo de Web Crawling de que dispone para intentar descubrir todas las posibles páginas y ficheros existentes en la aplicación analizada. Wapiti utiliza la librería para "web spider" lswww, también programada en Python y del mismo creador:

python wapiti.py http://www.hacktimes.com
Wapiti-2.2.1 (wapiti.sourceforge.net)
...............................................................................

Posteriormente, y una vez que se tiene localizada toda la estructura de directorios de la aplicación, carga los diferentes módulos existentes (si no se le ha indicado lo contrario) y va comprobando las vulnerabilidades de cada módulo:

python wapiti.py http://www.hacktimes.com
Wapiti-2.2.1 (wapiti.sourceforge.net)
................................................................................
...........
Aviso
========
El escaneo ha sido guardado en el fichero \src/scans/hacktimes.com.xml
Puede ser usado para realizar ataques sin necesidad de escanear nuevamente el sitio web utilizando el parámetro "-k"
[*] Cargando módulos :
mod_crlf, mod_exec, mod_file, mod_sql, mod_xss, mod_backup, mod_htaccess, mod_blindsql, mod_permanentxss, mod_nikto
[+] Lanzando módulo crlf

Wapiti detecta las siguientes vulnerabilidades:

  • Errores en la gestión de ficheros (fopen, readfile, includes, ...)
  • Inyección en Bases de Datos (SQL, XPATH, sorpota PHP, JSP y ASP)
  • Inyección XSS
  • Inyección CRLF
  • Inyección LDAP
  • Ejecución de comandos (eval(), system(), passtru(), ...)
  • Inyección CRLF (HTTP response splitting, session fixation, etc.)
  • Búsqueda de archivos potencialmente peligrosos en el servidor web
  • Búsqueda de copias de seguridad (backups) de scripts
  • Configuraciones htaccess débiles que permitan saltárselos

Wapiti permite configurar y personalizar todos los parámetros del análisis, puede trabajar con cookies y con formularios de autenticación y, también, especificar un proxy de la siguiente forma:

python wapiti.py http://www.hacktimes.com -c <cookie_file> (para trabajar con cookies)
python wapiti.py http://www.hacktimes.com -a <login%password> (para utilizar un usuario y una contraseña válidos de la aplicación)
python wapiti.py http://www.hacktimes.com -p <url_proxy> (para especificar un proxy)

Al terminar el análisis , se indica la ruta del informe generado en formato HTML, por defecto, aunque también se puede configurar para que Wapiti cree el informe final en formato XML o, incluso, en texto plano (.txt).

Wapiti destaca por lo detallado de sus reportes, donde se puede observar la descripción de las diferentes vulnerabilidades encontradas, formas de resolverlas y algunas páginas de referencia donde poder ampliar la información sobre los fallos encontrados.

Informe
------
Un informe ha sido generado en el fichero generated_report
Abre generated_report/index.html con un navegador para ver el informe

 




 

Más información sobre la herramienta, opciones, configuraciones y descarga en:

http://www.ict-romulus.eu/web/wapiti/home


junio 08 9:16 p.m.
pata_de_jaguar dijo:

Excelente Noticia, y sigo los pasos aquí...

enero 25 11:59 p.m.
Mr Byte dijo:

Bravo por el articulo. Me parece una herramienta realmente interesante a tener en cuenta para el analisis de seguridad. Por otra parte, estoy absolutamente de acuerdo que hoy dia hablando de entornos web, las vulnerabilidades que mas se encuentran suele ser debidas a una configuracion incorrecta del entorno de la aplicacion o, sobre todo, una programacion que carece claramente de metodologia segura (o que se aplica incorrecta o parcialmente). Hasta que la seguridad no forme una parte integral del desarrollo de las aplicaciones (tanto codificacion como puesta en produccion), estos entornos continuaran siendo el principal foco de fallos de seguridad en entornos web.

enero 08 8:04 p.m.
freed0m dijo:

El software tiene buena pinta, sería interesante indagar en los plugins para ver la batería de pruebas que realiza.


Añadir comentario











Búsqueda

Síguenos


El staff de Hacktimes ruega a cualquier persona interesada en la distribución y/o publicación de estos artículos que lo haga sin alterar su contenido y cite a su autor y/o la fuente original. Muchas gracias.

Todos los artículos publicados se encuentran bajo la licencia Creative Commons