#Automatización – provisión automática con Vagrant + VirtualBox + ANSIBLE de una máquina DVWA

Todos empezamos en este mundillo de la Cyber Seguridad haciendo pruebas con algún entorno preparado para ello. En mi caso, empecé con el entorno DVWA (Damn Vulnerable Web Application), utilizaba este entorno para hacer mis primeras perrerías con SQLi, XSS, ataques de fuerza bruta, etc, sin romper nada ni vulnerar ninguna ley. Para los que no la hayáis visto, una vez instalada tiene la siguiente pinta:

Pantalla principal DVWA

Y los módulos dónde realizar las pruebas dentro de la web tienen el siguiente formato:

Módulo de fuerza bruta en aplicación DVWA

Pues este sistema que la primera vez tanto me costó montar, no deja de ser por debajo un servidor LAMP en toda la regla y que podemos utilizar aprovisionadores actuales que con los playbooks adecuados nos harán el trabajo más sencillo y todo se instalará de forma automática, de tal modo que nos olvidemos de tener que montar todo esto, dejando que Vagrant, VirtualBox y Ansible lo hagan por nosotros, y centrándonos en lo importante, las pruebas de seguridad.

Para hacer este ejercicio os facilito el siguiente fichero comprimido que contiene lo siguiente:
– Fichero Vagrantfile.
– Directorio provisioning con el Playbook de ansible y los templates necesarios pre-configurados.

Como de Vagrant ya hemos hablado bastante en anteriores post, os remito a ellos por sí queréis conocer como funciona un fichero de Vagrant:

Lo único distinto que comentaré, es el siguiente fragmento de código:

  config.vm.provision "ansible_local" do |ansible|
    ansible.playbook ="provisioning/playbook.yml"
  end

Este fragmento de código lo que realiza es la instalación en local de ANSIBLE, dentro de la máquina que vamos a crear. De este modo invocaremos el playbook desde la propia máquina virtual.

¿Qué contiene nuestro playbook de ANSIBLE?

Nuestro playbook de Ansible está compuesto por nuestro fichero YML principal y un total de 6 plantillas que utilizaremos para levantar la DVWA. El esquema de directorios es el que se muestra a continuación:

El playbook a su vez, lo hemos dividido principalmente en dos secciones, que son:

  • Sección 1: lanzamos las tareas de instalación de la paquetería con apt.
  • Sección 2: clonamos el GIT de DVWA y a través de plantillas lo dejamos configurado y funcionando.

En el siguiente vídeo, se comenta a alto nivel como funciona el playbook y se muestra como se arranca y configura la máquina.

Y con esto, ¡todo listo para trastear!