domingo, 17 de febrero de 2013

OWASP OWTF. Automatizando tareas

OWTF
Offensive Web Testing Framework. Abraham Aranguren Suena bien...
Como todos sabeís, en una auditoría web hay que realizar muchas fases, muchas "pasadas", usar varias herramientas, por supuesto el uso de la herramienta "humana" realizando las peticiones http a mano... También sabéis que hay un colectivo, OWASP, que intenta aglutinar todo el conocimiento sobre vectores de ataque, técnicas de explotación de fallos, y lo más interesante, un conjunto de herramientas para cada fase... También sabéis que para la parte más genérica de pentesting está PTES un conjunto de herramientas agrupadas por fases dentro de la realización de un test de intrusión.
Estaría interesante tener un framework, un conjunto de herramientas lo más automatizadas posibles, que nos facilitaran el trabajo con las distintas fases. Esto es OWTF. Vale... pero ya hay muchos scanners de vulnerabilidades web que realizan casi todas las pruebas a vectores conocidos... pues con OWTF tenemos un report no solo identificando los hallazgos, sino que me enlaza con la sección de la guia OWASP que trata sobre el tema. I love it !!!!
Este framework no instala ninguna herramienta nueva ( en el caso de que useis backtrack 5 ) pero con una sola ejecución podemos realizar cierto trabajo de golpe.
Vamos a probarlo porque siento que hoy me explico como el culete xD.


apt-get install owtf
cd /pentest/web/owtf/tools
./bt5_install.sh
cd /pentest/web/owtf/install
./install.sh

Ojo porque al final del proceso te propone un distro-upgrade, que en mi caso fueron unos 300 megas y un valioso rato.
Una vez instalado, podemos configurar, o ejecutar primero para ver que falta por configurar xD.
./owtf.py -t  quiet  http://demo.testfire.net
nos aparecerá una advertencia de todas las herramientas que va a intentar cargar, y que no tenemos instaladas o no están bien definidas las rutas.
Modificamos el fichero .cfg con las rutas y listo !!!.
Podemos volver a ejecutar  la prueba a ver que pasa.
Una vez terminado el "ataque", nos vamos a file:///pentest/web/owtf/owtf_review/index.html y podéis ver que tenemos con que jugar un poco para aprender a usar la herramienta.
Vamos a profundizar un poco más en esta herramienta.
Podeis ver la definición OWASP de la prueba, el script usado, y pinchando sobre Browse vemos el resultado, lo comprobamos !!!.
Cosas a saber de la herramienta...
OWTF clasifica los plugins de tres maneras, web, net y aux. Para url y analisis de web. Para equipos y redes, al mas puro estilo nmap( no implementado aún?). El resto de plugins que queramos usar no clasificables.
Aparte, se definen los plugins por el tipo, copio y pego:
  • passive: No traffic sent to target (analysis via third party services)
  • semi_passive: Only normal-looking traffic sent to target (no malicious traffic sent)
  • active: Direct vulnerability probing <= THIS REQUIRES PERMISSION
  • quiet: Convenience shortcut for passive + semi_passive
  • grep: Simply searches the HTTP transactions of the other plugins to look for vulnerabilities, etc
Interesante passive... vamos a probar con alguna web. Pasivo es sin tráfico !!! sin permiso. !!!
./owtf.py -t passive http://www.telepizza.es


 Veo salidas que me suenan mucho... pero... que estoy haciendo? Estoy lanzando búsquedas sin saber como, menos mal que son pasivas. ./owtf.py -l web

[*] **************************************** Passive Plugins ****************************************
        [*]  passive: Application_Discovery_____________________________(OWASP-IG-005)________Third party discovery resources
        [*]  passive: HTTP_Methods_and_XST______________________________(OWASP-CM-008)________Third party resources
        [*]  passive: Old_Backup_and_Unreferenced_Files_________________(OWASP-CM-006)________Google Hacking for juicy files
        [*]  passive: Search_engine_discovery_reconnaissance____________(OWASP-IG-002)________General Google Hacking/Email harvesting, etc
        [*]  passive: Spiders_Robots_and_Crawlers_______________________(OWASP-IG-001)________robots.txt analysis through third party sites
        [*]  passive: Testing_for_Admin_Interfaces______________________(OWASP-CM-007)________Google Hacking for Admin interfaces
        [*]  passive: Testing_for_Captcha_______________________________(OWASP-AT-008)________Google Hacking for CAPTCHA
        [*]  passive: Testing_for_Cross_site_flashing___________________(OWASP-DV-004)________Google Hacking for Cross Site Flashing
        [*]  passive: Testing_for_Error_Code____________________________(OWASP-IG-006)________Google Hacking for Error codes
        [*]  passive: Testing_for_SQL_Injection_________________________(OWASP-DV-005)________Google Hacking for SQLi
        [*]  passive: Testing_for_SSL-TLS_______________________________(OWASP-CM-001)________Third party resources
        [*]  passive: Web_Application_Fingerprint_______________________(OWASP-IG-004)________Third party resources and fingerprinting suggestions
        [*]  passive: WS_Information_Gathering__________________________(OWASP-WS-001)________Google Hacking/Third party sites for Web Services


Os recomiendo usar la ayuda del programa para lanzar tanto plugins individualmente, como por grupo o por tipo.
Bueno, voy a lanzar algún scaneo pasivo más y ver si encuentro algo real.


Con razón no encuentro nunca yo mis ofertas favoritas :-).

Esto es todo sobre OWTF. Como siempre espero que os haya gustado esta simple herramienta.
Solo pretendo dar a conocer un poco la herramienta, y animar a los menos iniciados a probar estas cosas. Si quereis tener una buena info para profundizar podeis mirar en http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012

 Como comentaba el SR. Lorenzo Martinez hace unos días, no uséis este tipo de reports como material entregable a un cliente, ya que esto hay que trabajarlo, y puede que esteis solo "viendo" un pequeño parte del problema, y engañando al cliente.

Saludossssss.