26 julio 2012

OWASP Broken Web Applications Project VM v1.0

Ayer, un post en el blog principal de OWASP anunciaba una nueva publicación del Broken Web Applications Project.

Este proyecto, que comenzó a mantenerse dentro de OWASP desde el 31 de Enero de 2010, consiste en la creación de una máquina virtual en la que se ejecutan un conjunto de aplicaciones que contienen vulnerabilidades, con el objetivo de practicar técnicas conocidas y relacionadas con la seguridad en aplicaciones web, tanto de forma manual, como para sacar el máximo partido a herramientas automáticas tanto de auditoría web como de código fuente. También nos permite ponernos "en el otro lado", defensa, para conocer el compartamiento de dichas aplicaciones en caso de que sean explotadas, probar firewalls de aplicaciones web (WAFs) o piezas de código fuente. 

Con esta recopilación nos ahorramos el tener que preparar un entorno o crear pruebas de conceptos o servicios vulnerables, así como evitar realizar ataques sobre entornos reales totalmente ajenos...

Dentro del conjunto de aplicaciones que se incluyen, se dividen en tres tipologías diferentes:
  • Aplicaciones de entrenamiento
Dentro de estas aplicaciones se incluyen aquellas que guían al usuario en la explotación satisfactoria de vulnerabilidades. Algunas de sobra conocidas por todos, se incluyen las siguientes:
    • OWASP WebGoat version 5.4+SVN (Java)
    • OWASP WebGoat.NET version 2012-07-05+GIT
    • OWASP ESAPI Java SwingSet Interactive version 1.0.1+SVN
    • Mutillidae version 2.2.3 (PHP)
    • Damn Vulnerable Web Application version 1.8+SVN (PHP)
    • Ghost (PHP)
  • Aplicaciones vulnerables "realistas"
Son como las de entrenamiento, pero en este caso las aplicaciones son más complejas y su comportamiento y funcionalidad pretende ser mucho más realista:
    • OWASP Vicnum version 1.5 (PHP/Perl)
    • Peruggia version 1.2 (PHP)
    • Google Gruyere version 2010-07-15 (Python)
    • Hackxor version 2011-04-06 (Java JSP)
    • WackoPicko version 2011-07-12+GIT (PHP)
    • BodgeIt version 1.3+SVN (Java JSP)
  • Versiones anticuadas de aplicaciones reales
Aquí se incluyen proyectos de aplicaciones web completamente reales y de uso extendido, cuyas versiones  o ramas tuvieron que requerir actualizaciones a causa de contener vulnerabilidades conocidas. Lo curioso de todo, es que, si bien pueden ya no estar mantenidas por los desarrolladores del proyecto, estas se pueden encontrar todavía.
    • WordPress 2.0.0 (PHP, released December 31, 2005) que incluye los plugins:
      • myGallery version 1.2
      • Spreadsheet for WordPress version 0.6
    • OrangeHRM version 2.4.2 (PHP, released May 7, 2009)
    • GetBoo version 1.04 (PHP, released April 7, 2008)
    • gtd-php version 0.7 (PHP, released September 30, 2006)
    • Yazd version 1.0 (Java, released February 20, 2002)
    • WebCalendar version 1.03 (PHP, released April 11, 2006)
    • Gallery2 version 2.1 (PHP, released March 23, 2006)
    • TikiWiki version 1.9.5 (PHP, released September 5, 2006)
    • Joomla version 1.5.15 (PHP, released November 4, 2009)
    • AWStats version 6.4 (build 1.814, Perl, released February 25,2005)
  • Aplicaciones creadas para probar herramientas
    • OWASP ZAP-WAVE version 0.2+SVN (Java JSP) - Prueba de OWASP ZAProxy
    • WAVSEP version 1.2 (Java JSP) - Aplicación utilizada para el benchmark de scanners de seguridad
    • WIVET version 3+SVN (Java JSP)
  • Páginas de pruebas o pequeñas aplicaciones
    • OWASP AppSensor Demo Application (Java)
Si bien en otras ocasiones ya hemos mencionado (por ejemplo, aquí y aquí) diferentes programas concretos o webs vulnerables a propósito sobre las que realizar pruebas, con este nuevo proyecto dispondremos de más variedad y como no, de un entorno mucho más controlado para que, como hemos mencionado antes, podamos actuar de una forma más defensiva.

El creador del proyecto, Chuck Willis, estará presentando esta "major version" en el Arsenal de la Black Hat USA que se está celebrando actualmente, y que comenzó ayer. Podéis seguir cualquier actualización del proyecto tanto en su twitter @owaspbwa, así como en la propia página del proyecto OWASP BWA y el repositorio en Google Code. La guía completa para el usuario se encuentra en esta página Wiki.

¡A practicar! ¡De forma legítima!