Cuando se trata de aprender las diferentes técnicas de ataques web, tenemos dos opciones:

1.-) Sentarnos delante del PC y arrearle a la página web de Nintendo pruebayveras.com, para una vez encontrados los fallos, arriesgarnos a que al notificarlo con pruebas suficientes, contraataquen y nos metan entre rejas.

2.-) Juguetear en un entorno controlado y cerrado sobre una aplicación web repleta de vulnerabilidades a la que, si logramos entrar hasta la cocina, no tendrá repercusiones legales.

Así pues, como no tenemos intención de perder lectores por no tener acceso a Internet desde la cárcel (culpa de una noche entretenida), hoy os recomendamos uno de los entornos del segundo tipo, probablemente el más fácil y rápido de desplegar: badstore.net.

Tiempo atrás propusimos una lista recopilación de aplicaciones web vulnerables en la que aparecía nombrada la que nos referimos ahora.

La principal ventaja de Badstore es que es un ISO (de sólo 10 MB!) que arranca una distribución Linux (en concreto Trinux) en modo Live (ya sea en un equipo completo o en una máquina virtual), por lo que no pasará nada después de todas las perrerías que le hagamos durante una sesión. Con un nuevo reinicio volveremos a tener un entorno recién instalado para comenzar. Además los requisitos hardware necesarios son mínimos (Pentium 200MMX, 64 MB RAM), no consumiendo apenas recursos del PC cuando se ejecuta en una máquina virtual (probado en VMware y en Parallels sobre Mac OS X), haciéndola ideal para demos y mucho más recomendable que entornos más pesados como los clásicos Hacme (Bank, Books, Casino, Travel...) de Foundstone/Mcafee, que requieren un sistema operativo Windows con MSDE/SQL Server, IIS, etc,… o WebGoat de OWASP que requiere disponer de un Tomcat. Cierto es que estos otros entornos son mucho más completos y complejos que Badstore y pueden ser utilizados para fases posteriores o en instalaciones en máquinas independientes.


Badstore presenta la típica aplicación web de una tienda online, con un portal de compra de artículos en la que podemos encontrar vulnerabilidades, entre otras, como las siguientes:


No he encontrado manuales, ni guías de todos los fallos documentados sobre Badstore. De hecho, el autor, en la documentación que acompaña el proyecto, Kurt R. Roemer, no desvela paso a paso los detalles de cómo explotar cada vulnerabilidad, aunque más o menos menciona unas cuantas pistas por las que deberíamos mirar.

Sin embargo, si que he dado con un par de documentos que guían inicialmente cómo afrontar la aplicación, un punto de partida y una metodología a seguir [1] y [2].

Conclusiones:


Recomiendo badstore.net ante otras plataformas vulnerables que he probado, por varios motivos.
  1. El más importante es la sencillez y velocidad de tener un entorno funcional. Sólo con inicializar la red con una IP "alcanzable" desde la máquina local es suficiente.
  2. Los pocos recursos necesarios: Arranca en una máquina virtual sin disco duro, son 10 MB de ISO y no se nota que tienes otra máquina virtual más. De hecho podríamos destacar la portabilidad como otra de las ventajas, pudiendo llevar la máquina virtual y el ISO en casi cualquier pendrive USB.
  3. Tiene ejemplos de casi todas las vulnerabilidades web más comunes. Para mi trabajo, que consiste en proteger esos fallos de seguridad haciendo las peticiones web a través de un WAF, es más que suficiente para abrir mentes y en algunos casos… bocas que decían que sus webs eran seguras!