En esta presentación, el sistema Kali-Linux se utilizará como atacante y el sistema Metasploitable2 como víctima.
Se atacará la base de datos mysql, que funciona de forma predeterminada en el puerto 3306.
Se utilizará el framework metasploit. Para ello hay que abrir un nuevo terminal en el sistema atacante y ejecutar el comando msfconsole.
msfconsole
En primer lugar, puede resultar interesante abrir un módulo auxiliar para efectuar un escaneo que identifique la versión de mysql utilizada. Para ello hay que utilizar el comando use e indicar la ruta module auxiliary/scanner/mysql/mysql_version que se empleará para efectuar el escaneo.
use auxiliary/scanner/mysql/mysql_version
Ahora que el módulo está cargado, las opciones pueden consultarse con el comando show options y deberán definirse a continuación.
show options

La opción RHOSTS debe definirse, ya que la columna Required indica yes y la columna Current Setting está actualmente vacía.
Para definir una opción hay que utilizar el comando set seguido del nombre de la opción RHOSTS y de su valor 192.168.133.128, la dirección IP de nuestro objetivo. (IP que debe adaptarse)
set RHOSTS 192.168.133.128
Si la base de datos objetivo está abierta en un puerto distinto del 3306, habrá que cambiarlo mediante la opción RPORT.
El comando run se utiliza para lanzar el módulo seleccionado.
run

Este escaneo recupera la versión utilizada por MYSQL y no realiza ninguna acción dañina.
Aquí, la versión recuperada es la 5.0.
Una vez llegados a este punto, hay varias formas de proceder para penetrar en la base de datos.
La más evidente consiste en utilizar las credenciales de conexión de un usuario que disponga de privilegios, como el usuario root.
El método más utilizado es, por supuesto, un ataque de fuerza bruta, que consiste en utilizar un gran número de combinaciones distintas de credenciales/contraseñas.
Para efectuar este ataque habrá que utilizar otro módulo accesible por la ruta auxiliary/scanner/mysql/mysql_login, que se indicará con el comando use.
use auxiliary/scanner/mysql/mysql_login
Como con el módulo anterior, siempre conviene consultar las opciones.
show options

La dirección IP del objetivo remoto RHOSTS debe introducirse de nuevo.
set RHOSTS 192.168.133.128
La lista de contraseñas que se probarán para abrir la sesión debe definirse mediante la opción USERPASS_FILE. Existe una adecuada ya accesible desde el directorio de metasploit con la ruta /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
La opción del nombre de usuario USERNAME ya está definida con el valor root y puede cambiarse si es necesario.
Para lanzar el ataque de fuerza bruta hay que utilizar de nuevo el comando run.
run

El sistema indica que ha conseguido identificarse en la línea Success: 'root: '
El hecho de que no haya ninguna contraseña después de root significa que la cuenta no estaba protegida por una contraseña. Esto se debe a que el objetivo es un Metasploitable 2 concebido para ser extremadamente vulnerable.
Ahora que se han encontrado las credenciales, es posible establecer una conexión remota con el comando mysql -u username -h ip_address -p.
mysql -u root -h 192.168.128.133 -p

Ahora es fácil explorar el contenido del sistema de gestión de bases de datos.

Hay otras páginas disponibles para aprender más sobre las pruebas de intrusión.
