A la hora de practicar pentesting web, es evidente que no puedes hacerlo sobre activos en los que no tengas autorización, eso creo que todos lo tenemos completamente asimilado y si no es así, es recomendable que leas los términos básicos en ciberseguridad para entrar más en contexto.
Bien, para poder practicar pentesting web de forma controlada y autorizada, han surgido muchas plataformas, tanto online como de instalación local ¿es obvio no?, hay demanda y personas inteligentes que crean soluciones para satisfacerla, hasta ahí todo bien, hoy veremos una de esas muchas plataformas pero, en este caso, no será del estilo de TryHackMe o HackTheBox sino que más bien, tendremos que instalarla en un sistema operativo, esta es Mutillidae, he de decir que, en máquinas vulnerables ya conocidas que sirven para practicar pentesting, como Metasploitable2, ya viene esta plataforma instalada, pero la gracia es que aprendas cómo es el proceso para instalarla de forma manual y así tener más control sobre las configuraciones de la misma.
¿Qué es Mutillidae? Definición breve
Mutillidae es una plataforma de instalación local, gratis, de código abierto, multiplataforma y extremadamente vulnerable (hecha así a propósito) que nos va a permitir practicar y mejorar las habilidades en materia de pentesting web y es la plataforma que vamos a instalar de forma manual en este artículo.
Requisitos
En este punto y antes de empezar, voy a necesitar que tengas listo lo siguiente:
- Un software de virtualización, si estas empezando te recomiendo VirtualBox.
- Una distribución de GNU/Linux preferiblemente basadas en Debian, puede ser Ubuntu o si tu equipo tiene pocos recursos de hardware, Lubuntu ya instalada en el software de virtualización (no vamos a usar sistemas Windows en este artículo, nada que ver contigo Bill Gates, pero aquí somos Team Linux).
- Estar unida/o al servidor de Discord y al grupo de Telegram de Coldd Security, por si hay alguna duda que la comunidad te pueda ayudar a resolver.
- Una pelota antiestrés color verde, por si uno de los pasos no funciona correctamente, tengas con que sacar la frustración y liberar endorfinas (tiene que ser de color verde o no funcionará).
Instalación y configuración
Primeramente, hay que entender que mutillidae no deja de ser un conjunto de ficheros e información que interactúan con una base de datos, por ende, necesitamos instalar de forma manual un sistema gestor de bases de datos y un servidor web, en este caso usaremos mysql y apache, empecemos con el servicio web:
apt install apache2 -y

Instalación del servidor apache
Ahora vamos a activar el módulo rewrite de apache para poder modificar la URL del sitio más adelante, para ello:
a2enmod rewrite

Módulo rewrite activado
Seguidamente hay que modificar un fichero de configuración de apache, este está ubicado en /etc/apache2 y se llama apache2.conf, en él, hay que localizar la siguiente línea y sustituir “None” por “All”:

Configuración del fichero apache2.conf
En este punto y si todo va bien, deberíamos poder ver la página principal de apache al acceder al sitio web que nos lleva la url “localhost” gracias a las DNS locales:

Servidor apache operativo
Con esto hecho, hay que instalar algunos componentes más, para ello:
apt install php libapache2-mod-php mysql-server php-mysql -y

Instalación de más paquetes necesarios
Ahora, hay que hacer algunas modificaciones en el sistema gestor de bases de datos que instalamos, que es MySql, primero hay que entrar al sistema gestor, para ello podemos ejecutar el siguiente comando:
mysql -u root
Con este comando le estamos especificando que se conecte al sistema gestor y con la bandera -u, le enviamos un usuario con el que nos conectaremos, en este caso root, al acceder como root, no es necesario introducir una contraseña a menos que lo establezcamos:

Acceso al SGBD MySQL
Una vez adentro, hay que ejecutar varias sentencias SQL, te las dejare a continuación con una breve descripción de qué hace cada una:
-- Usar la base de datos llamada “mysql”.
use mysql;
-- Alterar el usuario “root” y asignarle una contraseña.
ALTER USER 'root'@'localhost' IDENTIFIED BY ‘mutillidae’;
-- Cambiar el método de autenticación del usuario root (por defecto suele venir caching_sha2_password en las versiones más recientes de MySQL)
UPDATE user SET plugin='mysql_native_password' WHERE user='root';
-- Se recargan los privilegios
FLUSH PRIVILEGES
Ahora, vamos a instalar más paquetes, ¿por qué no los instalamos con los anteriores?, hazme caso y te ahorraras unas lindas horas de apretar esa pelota antiestrés, bien, los paquetes en cuestión los instalamos con el siguiente comando:
apt install php-curl php-mbstring php-xml -y
En este punto ya este todo preparado para descargar los ficheros de Mutillidae, para ello vamos a su repo de github oficial, copiamos el git y lo clonamos:
cd /var/www/html/ && git clone https://github.com/webpwnized/mutillidae.git
Si no tienes git, lo instalas con:
apt install git -y
Resultado final
Y en este punto, si los planetas se han alineado y crush te ama, podremos acceder ya a la aplicación en cuestión:

Imagina al Wos replicando “Esto es Mutillidae en su máxima expresión”
En algunas ocasiones suele darte un “error” señalando que hay algo mal en la base de datos, ni caso, pulsa en “setup/reset the DB” y debería solucionarse. No es un error que sea “real” pero si puede ser molesto porque en cada nueva sesión que establezcamos con la aplicación nos lo va a mostrar, esto es opcional, pero podríamos quitar este “error” para ello solamente hay que modificar un fichero que viene con los ficheros de mutillidae, para ello:
vi /var/www/html/mutillidae/includes/database-config.inc
Y quitamos el valor de la contraseña, ya que nosotros no tenemos:

Corrección en el fichero database-config.inc
Ya con esto no debería mostrar ese “error” y con esto estaría lista la aplicación para que empieces a hacer prácticas en ella.