w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af?...

27
[Un framework de test de intrusión web] IV OWASP Spain Chapter Meeting 21 Noviembre 2008, Barcelona, España José Ramón Palanco. Hazent Systems S.L [email protected].

Transcript of w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af?...

Page 1: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

[Un framework de test de intrusión web]

IV OWASP Spain Chapter Meeting21 Noviembre 2008, Barcelona, España

José Ramón Palanco. Hazent Systems [email protected].

Page 2: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

•¿Qué es w3af?•¿Por qué w3af?•¿Quién debería conocer este framework?•Características•Preguntas

Page 3: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

¿Qué es w3af?

Page 4: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

¿Qué es w3af?

Web Application Attack and Audit Framework

•Es un framework de test de intrusión web•Está desarrollado en Python•Bajo licencia GPLv2 •Tiene funcionalidad de scanner de vulnerabilidades.

¿Qué es w3af?

Características

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Page 5: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

¿Por qué w3af?

Page 6: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

¿Por qué w3af?

Nos permite compartir know-how

•Buenas herramientas libres (falta sinergia)•Productos comerciales caros•Automatiza las tareas repetitivas de pentest

¿Qué es w3af?

Características

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Page 7: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

¿Quien debería conocerlo?

Page 8: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

¿Quién debería conocerlo?

A todo experto en seguridad web

•Este framework está diseñado para ser utilizado para la auditoría de un entorno web•Puede utilizarse por expertos en seguridad que no sean necesariamente programadores•También a investigadores de vulnerabilidades o de productos de seguridad

¿Qué es w3af?

Características

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Page 9: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Características

Page 10: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Características

Los módulos trabajan conjuntamente con la misma información

•Arquitectura modular•Web 2.0•Servicios Web•Perfiles•Remote File Inclusion Service•Virtual Daemon

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Page 11: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Arquitectura modular

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Tipos de plugins

•discovery•audit •grep •attack •output •mangle •evasion •bruteforce

Page 12: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Discovery

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Se ejecutan continuamente enviado su salida a la entrada del siguiente plugin hasta que no se localicen peticiones fuzeables u obtener datos para afinar la funcionalidad de los siguientes plugins.. Muchos de los métodos pueden considerarse explotacionec tácticas

Los plugins obtienen información analizando dom en busca de form actions, descubrimiento de métodos HTTP soportados, ficheros con información interesante en path predecibles, información de buscadores, ghdb, google sets, pykto, webspider, HTTP load balancer detection, archive.org..

Page 13: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Audit

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Obtienen información de los plugin discovery para localizar vulnerabilidades como:•sqli•bof•evali•command execution•Xss•...Las vulnerabilidades se almacenan para su posterior posible explotación.

Page 14: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Grep

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Parsean los response de las peticiones que vamos haciendo en busca de:•comentarios en código•emails•direcciones ip privadas•code disclosure•cookies•idioma•path disclosure•...

Page 15: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Attack

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Leen información de la base de datos de vulnerabilidades recolectada por los plugins audit para intentar explotarlos.

•mysqlWebShell•localFileReader•osCommandingShell•remoteFileIncludeShell•sqlmap•xssBeef•...

Page 16: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Output

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Estos plugins se encargan de generar un tipo y formato de salida:

•console•gtkOutput•htmlFile•textFile•...

Page 17: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Mangle

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Alteran peticiones y respuestas en función de expresiones regulares.

Page 18: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Evasion

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Nos permiten modificar las peticiones o parte de las peticiones para evadir IDS e IPS.

•mod_security < 2.1.0 bypass•rndCase•dndHexEncode•rndParam

Page 19: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Bruteforce

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Descripción

Utilizando información recopilada de los módulos grep, podemos hacer lanzar un ataque de fuerza bruta basicAuth o de formulario. Estas son algunas de las configuraciones:

•passEqUser•useMailUsers•useSvnUsers•useMails•...

Page 20: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Arquitectura modular

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Page 21: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Web 2.0

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Los módulos trabajan conjuntamente con la misma información

•Es posible analizar páginas que uses AJAX (grep)•Análisis de peticiones para alimentar un fuzzer interno

Page 22: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Servicios Web

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

•Descubriemiento de wsdl:•discovery.wsdlFinder•grep.wsdlGreper

•Todos los audit plugins funcionan para servicios web •Todos los de exploit deberían funcionar también.•Para parsear WSDL se usa SOAPpy

Page 23: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Perfiles

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

•Es posible crear o usar perfiles preconfigurados que cargan una colleción de plugins.•Perfiles por defecto:

•OWASP Top 10•Fast Scan•Full Audit•Full Audit Manual Disc

•Podriamos incorporar otros perfiles como PCI DSS. De hecho hay un módulo grep que detecta números de tarjetas de crédito.

Page 24: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Remote File Inclusion Proxy

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Aprovechando una vulnerabilidad file inclusion es posible levantar un servidor proxy para lanzar ataques hacia la DMZ o la red interna.

Page 25: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Virtual Daemon

¿Qué es w3af?

Carácterísticas

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Es posible utilizar payloads de metasploit para explotar vulnerabilidades en aplicaciones web.

Para ello, se ha desarrollado un plugin para metasploit que permite a este último enviar los payloads a través de virtual daemon, un attack plugin que recibe el payload y crea un pequeño ejecutable ELF/PE.

Page 26: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

Virtual Daemon

¿Qué es w3af?

Características

Preguntas

¿Por qué w3af?

¿Quén debería conocerlo?

Page 27: w3af - Un framework de test de intrusión web · Carácterísticas Preguntas ¿Por qué w3af? ¿Quén debería conocerlo? Descripción Se ejecutan continuamente enviado su salida

FINFIN¿Preguntas?

http://w3af.sf.net