Ataque Remoto de Contraseñas utilizando THC-Hydra
En los ataques remotos de contraseñas se intenta hacer "login" o registrar el ingreso en un sistema a través de la red. En la fase correspondiente a la captura de información e identificación de vulnerabilidades existen altas probabilidades de haber capturado posibles nombres de usuarios "logins". En esta fase se utilizará esta información para intentar acceder al sistema como un usuario autorizado. THC-Hydra permite realizar un ataque por fuerza bruta de contraseñas contra servicios del sistema de manera remota.
THC-Hydra
Hydra es una herramienta que permite realizar ataques para intentar adivinar las contraseñas, el cual funciona en paralelo con soporte de diversos protocolos. Actualmente soporta Asterisk, Cisco auth, FTP, HTTP, IMAP, MS-SQL, MYSQL, entre muchos otros más. Para HTTP, POP3, IMAP y SMTP, incluye diversos mecanismos de login como Plain y MD5 digest, etc.
THC-Hydra es un código de prueba de concepto (PoC), para proporcionar a los investigadores y consultores en seguridad la posibilidad de mostrar cuan fácilmente se puede obtener acceso no autorizado remoto hacia un sistema.
Al momento realizar el presente escrito, Kali Linux no brinda la versión más reciente de THC-Hydra, por lo tanto se procede a descargar y compilar la versión más reciente desde la sitio web del proyecto.
# wget http://www.thc.org/releases/hydra-8.0.tar.gz
Descomprimir y desempaquetar el archivo descargado.
# tar xzvf hydra-8.0.tar.gz
Se configura, compila e instala hydra.
# ./configure
# make
# make install
Para las siguiente prácticas se utilizará una máquina virtual con Kali Linux y otra máquina virtual con Metasploitable2.
Mencionar un directorio importante en Kali Linux “/usr/share/wordlists”, donde se incluyen referencias a listas de palabras incluidas en otras herramientas, como metasploit, sqlmap, w3af, etc.
El directorio de nombre “metasploit” corresponde a Metasploit Framework, en el cual se incluyen diversos archivos conteniendo listas de palabras de usuarios y contraseñas. “/usr/share/metasploit-framework/data/wordlists”.
Se ejecuta THC-Hydra con la opción “-L” la cual permite definir un archivo conteniendo una lista de palabras de posibles usuarios del sistema. La opción “-P” define un archivo conteniendo una lista de palabras de posibles contraseñas para la lista de usuarios definidos con la opción “-L”. La opción "-t" define el número de conexiones en paralelo por objetivo, en este caso tres conexiones. En la parte final se define el texto “postgres” el cual es el nombre del servicio a atacar.
# hydra -t 3 -V -L /usr/share/metasploit-framework/data/wordlists/postgres_default_user.txt -P /usr/share/metasploit-framework/data/wordlists/postgres_default_pass.txt 192.168.0.16 postgres
En la siguiente práctica se utiliza la opción “-l”, la cual define un único “usuario” contra el cual se probarán todas las contraseñas contenidas en el archivo definido con la opción “-P”. Anotar que en este caso, una vez encontrada la contraseña para el usuario “root” el proceso culmina. En esta oportunidad se está acatando el servicio ssh.
# hydra -t 3 -V -l root -P /usr/share/wordlists/500-worst-passwords.txt 192.168.0.16 ssh
Una de las funcionalidades básicas pero en ciertos escenarios muy efectiva, es la definida utilizando la opción “-e”. Esta opción tiene tres parámetros, “s” para intentar el mismo login como contraseña, “n” para intentar una contraseña vacía, y “r” para invertir el login y utilizarlo como contraseña.
# hydra -t 3 -e nsr -V -L /usr/share/metasploit-framework/data/wordlists/unix_users.txt 192.168.0.16 ssh
Adicionalmente hydra tiene un modo de Fuerza Bruta definida utilizando la opción “-x”. En esta práctica se generarán contraseñas en minúsculas con una longitud mínima de 1 caracter y una longitud máxima de 3 caracteres. Además se define el ataque de un único usuario contra el servicio ftp.
# hydra -t 3 -l user -x 3:5:a -V 192.168.0.16 ftp
Los ataques remotos de contraseñas generan tráfico que puede activar los mecanismos de seguridad implementadas en los objetivos en evaluación. Una manera de evitar esto es reducir el número de pruebas o intentos a realizar, utilizando nombres de usuarios de los cuales se tenga una alta certeza de su existencia. Se sugiere también definir un tiempo considerable entre cada prueba a realizar. Además de utilizar listas personalizadas de nombres de usuarios y sus probables contraseñas generadas de la información capturada desde el objetivo de evaluación.
Fuentes:
https://www.thc.org/thc-hydra/
https://www.thc.org/thc-hydra/README
http://www.kali.org/downloads/
http://sourceforge.net/projects/metasploitable/files/Metasploitable2/
Sobre el Autor
Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/