Introducción
DVWA (Damn Vulnerable Web Application) es una herramienta de evaluación de seguridad diseñada específicamente para ayudar a los desarrolladores y profesionales de la seguridad a probar y aprender sobre las vulnerabilidades de las aplicaciones web. Su propósito principal es proporcionar un entorno seguro donde se puedan realizar pruebas de penetración y exploración de seguridad sin comprometer sistemas reales. Esta aplicación se dirige principalmente a estudiantes, investigadores de seguridad y expertos que desean profundizar en el ámbito de la ciberseguridad. En escenarios profesionales, DVWA se utiliza como un laboratorio para practicar técnicas de pentesting y para desarrollar conocimientos en el manejo de vulnerabilidades como SQL Injection, XSS y más.
Requisitos previos
Antes de instalar DVWA en Kali Linux, asegúrate de tener los siguientes requisitos cumplidos:
- Kali Linux: La distribución debe estar actualizada. Verifica ejecutando:
sudo apt update && sudo apt upgrade - Servidor web: Apache debe estar instalado y en funcionamiento. Puedes verificar su estado con:
systemctl status apache2 - PHP: Debes tener PHP y las extensiones necesarias instaladas. Comprueba la versión con:
php -v - MySQL: Se requerirá un servidor MySQL para gestionar las bases de datos. Comprueba su instalación con:
systemctl status mysql
Funcionamiento de DVWA
DVWA es una aplicación web que simula vulnerabilidades comunes en un entorno seguro. Utiliza PHP y MySQL como tecnología subyacente, lo que la convierte en un entorno práctico para la prueba de aplicaciones web. La funcionalidad de DVWA se basa en diferentes niveles de dificultad en la explotación de vulnerabilidades, que permiten al usuario ajustar el entorno según su nivel de experiencia. Los niveles de DVWA incluyen:
- Low: Vulnerabilidades con poca o ninguna protección que son fáciles de explotar.
- Medium: Presenta medidas de seguridad básicas, haciendo que la explotación sea moderadamente difícil.
- High: Incluye mecanismos de seguridad robustos que dificultan la explotación, proporcionando así un desafío mayor.
Instalación de DVWA
- Actualizar el sistema : Abre la terminal y ejecuta:
sudo apt update - Instalar Apache: Si no lo tienes instalado, ejecuta:
sudo apt install apache2 - Instalar PHP y extensiones necesarias: Ejecuta:
sudo apt install php php-mysql php-gd php-xml - Instalar MySQL: Ejecuta:
sudo apt install mysql-server - Descargar DVWA: Clona el repositorio oficial con:
git clone https://github.com/digininja/DVWA.git - Mover DVWA a la carpeta web: Ejecuta:
sudo mv DVWA /var/www/html/ - Configurar permisos: Asegúrate de que la carpeta tenga los permisos correctos ejecutando:
sudo chown -R www-data:www-data /var/www/html/DVWA - Configurar MySQL: Abre MySQL con:
y crea la base de datos para DVWA:sudo mysqlCREATE DATABASE dvwa; GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT; - Ajustar el archivo de configuración de DVWA: Edita el archivo config/config.inc.php con:
sudo nano /var/www/html/DVWA/config/config.inc.phpy ajusta las credenciales de la base de datos, asegurándote de cambiar ‘password’ según lo que hayas definido.
- Iniciar servicios: Asegúrate de que Apache y MySQL estén en funcionamiento con:
sudo systemctl start apache2 && sudo systemctl start mysql - Acceder a DVWA: Abre un navegador y accede a http://localhost/DVWA para completar la configuración inicial.
Uso avanzado y opciones más utilizadas
Algunos de los caminos más avanzados que permiten explorar DVWA incluyen:
- Opciones de configuración: Puedes modificar diferentes aspectos de la configuración en el archivo config, lo que te permitirá ajustar el nivel de dificultad y probar competencias específicas.
- Ejercicios de explotación: DVWA incluye finales de prueba para SQL Injection, XSS (Cross-site Scripting), CSRF (Cross-site Request Forgery) y más, cada uno de los cuales proporciona un conjunto de herramientas para su explotación.
- Módulo de reportes: Recopila información sobre tus pruebas y explota resultados para analizar y mejorar tus habilidades.
Casos de uso reales en entornos profesionales
En entornos reales, DVWA puede ser usado de las siguientes formas:
- Formación de equipos de ciberseguridad: Permite a los analistas probar habilidades y adquirir experiencia práctica en un entorno controlado.
- Desarrollo de técnicas de pentesting: Los expertos en seguridad pueden probar nuevas herramientas, técnicas y metodologías antes de aplicarlas en entornos de producción.
- Análisis de vulnerabilidades: DVWA se usa como una plataforma para realizar análisis de vulnerabilidad de las aplicaciones web antes de su lanzamiento.
Errores comunes
Al instalar y utilizar DVWA, es posible que enfrentes los siguientes errores:
- Problemas de conexión a MySQL: Asegúrate de que los datos de conexión en config/config.inc.php son correctos.
- Error 403 – Prohibido: Asegúrate de que los permisos de archivos son correctos y que la carpeta DVWA es accesible por el servidor web.
- Versiones incompatible de PHP: Comprueba que las versiones de PHP y sus extensiones son compatibles con DVWA. Puedes verificar con:
php -m
Checklist final
- ¿Se completó la instalación de Apache y MySQL?
- ¿Se han ajustado correctamente las credenciales en config/config.inc.php?
- ¿Se están ejecutando los servicios de Apache y MySQL?
- ¿Se han establecido permisos adecuados para la carpeta DVWA?
- ¿Se ha probado el acceso a DVWA a través del navegador?
