Desarrollar pruebas de hacking ético y test de penetración implican la realización de ataques, en la actualidad hablamos de que un alto porcentaje de ataques son orientados a plataformas web tales como sistemas de información, plataformas de gestión de contenidos (CMS, Weblog) y como se ha observado en los últimos 2 años, al mismo navegador del usuario, pero de esto no hablaré en esta entrada.
Establecer metodologías y procedimientos para establecer un posible ataque es lo que diferencia un hacker ético o pentester de un usuario de herramientas de exploración y explotación de vulnerabilidades, e incluso de los tan odiados «script kiddies». Sin embargo, basados en la ética y la responsabilidad que conllevan este tipo de actividades en algunos entornos consideradas como delitos, es necesario establecer entornos de prueba en los cuales sea posible explotar vulnerabilidades y llegar a realizar ataques tales como la inyección de comandos (sql, del sistema, etc), XSS, robo de sesiones (hijacking), entre muchos otros, en un listado que crece a diario. A continuación presento algunos recursos que resultan de utilidad para lo antes mencionado:
DVWA: Se trata de un entorno educativo que contiene ejemplos de código vulnerable a diversos ataques, además de comparaciones de código mejor desarrollado o código que se puede considerar seguro, esto de la mano con un sistema de IDS denominado PHPIDS el cual puede identificar posibles ataques que se estén realizando con la plataforma. Es muy educativo y vale la pena darle una mirada. Más info aqui.
Moth: Se trata de una máquina virtual para ser ejecutada bajo Vmware, la cual cuenta con aplicaciones web de diversos tipos (CMS, Webapp en tomcat, ruby). A pesar de que ya ha pasado un tiempo considerable desde su último lanzamiento, sigue siendo una excelente oportunidad, de código abierto, para contar con un entorno con aplicaciones vulnerables listas para ser analizadas y posteriormente atacadas. Más info aquí.
Finalmente, nada mejor que hacer la implementación de versiones de software tipo CMS tal como Joomla, Drupal, WordPress, PHPbb, Mambo y muchos más, a partir de esto, será posible realizar ataques con exploits disponibles y entender como funcionan y por que no, mejorarlos tal vez para nuevas versiones, para esto podemos emplear máquinas virtuales en las cuales vamos sacando snapshots o instantáneas antes de los ataques para restablecer en caso de que algo falle o todo funcione :).
Finalizo con una frase que ha sido mi mantra en los estudios para la certificación CEH de la que hablaré próximamente: «Para ser el mejor policia, debes saber pensar como el mejor ladrón».
Aprovecho esta entrada para agradecer el apoyo y enseñanza de una personas que me ha colaborado y guiado por esta senda de la seguridad en el último año: @darkoperator quien lleva mucho tiempo en este cuento y ha sido una gran guía.
Zethabyte
Buen articulo , no conocía DVWA , por otra parte , si que me he divertido encontrando y atacando las fallas de seguridad de joomla .
Nos vemos .
jeffto
Resulta muy interesante este recurso, muy educativo. Pronto comentaré sobre otras herramientas similares que no sólo ayudan en el aprendizaje de hacking sino aportan a equipos de desarrollo en temas como buenas prácticas de desarrollo y codificación.
Certified Ethical Hacker : El Jeffto
[…] Emplear un sandbox o caja de arena para atacar, esto puede hacerse con máquinas virtuales o entornos de ataques como los mencionados aquí […]
Edgar
Buen aporte mi amigo… buen aporte 🙂
jeffto
Gracias, espero te sean de ayuda en el proceso de aprendizaje de este interesante tema de actualidad.