Hydra es una herramienta de auditoría de inicio de sesión que trabaja con múltiples tareas en paralelo, soporta una gran variedad de protocolos. Es muy rápido y flexible, y los nuevos módulos son fáciles de agregar. Esta herramienta permite a los investigadores y consultores de seguridad mostrar lo fácil que sería obtener acceso no autorizado a un sistema de forma remota.
Protocolos Admitidos: Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST , HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL , NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin, Rsh, RTSP, SAP / R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1 + v2 + v3, SOCKS5, SSH (v1 y v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC y XMPP.
Cuando un atacante quiere ganar acceso no autorizado a algún sistema, puede usar ataques de fuerza bruta o ataques de diccionario contra sistemas de inicio de sesión. En este artículo explicaremos ambos ataques y cómo obtener acceso a los sistemas usando la herramienta Hydra.
DESCARGO DE RESPONSABILIDAD: EL CONTENIDO EXPUESTO ES ÚNICAMENTE PARA FINES EDUCATIVOS, DIDÁCTICOS Y PREVENTIVOS.
INSTALACIÓN
En sistemas operativos como Kali Linux o Parrot OS, la herramienta ya se encuentra instalada por defecto.
Lo primero que tenemos que hacer es clonar el código fuente. Para ellos usaremos el siguiente comando: git clone https://github.com/vanhauser-thc/thc-hydra.git
Para configurar, compilar e instalar hydra, simplemente escribimos:
./configure
make
make install
Finalmente comprobamos su correcto funcionamiento con el comando: ./hydra -h
ATAQUE SSH
Hydra puede ser una herramienta realmente sencilla y efectiva, pero también cuenta con algunos parámetro interesantes que valen la pena investigar. Para realizar ataques por diccionarios a protocolos comunes usaremos la siguiente sintaxis.
Sintaxis básica:
hydra -l o -L <usuario, lista> -p, -P <contraseña o diccionario> <dirección IP> <protocolo>
Como podemos ver el ataque ha sido exitoso, y hemos obtenido la contraseña del usuario “sys" (batman). Parámetros utilizados:
-l: especificamos el nombre del usuario
-P: ingresamos el diccionario a utilizar
-e nsr: esta opción nos permite ingresar una contraseña vacía (n), el nombre
del usuario como contraseña (s), y el mismo usuario invirtiendo las letras (r)
-t: número de tareas en paralelo
ssh: especificamos el protocolo
:// | usamos la nomenclatura “://” para especificar la IP
-V: usamos el modo detallado
-f: termina los procesos si ha encontrado una combinación válida
ATAQUE FTP
En el siguiente ejemplo estaremos atacando un servicio ftp en Linux, usando la misma sintaxis básica, pero con algunos parámetros distintos. Logrando obtener una lista de credenciales válidas y guardar los resultados en un archivo de texto.
Como podemos observar, hemos encontrado dos credenciales válidas para el inicio de sesión y guardar los resultados en un fichero. Parâmetro Utilizados:
-L: ingresamos la lista de usuarios a utilizar
-P: usamos el mismo diccionario de contraseñas
IP: especificamos la dirección IP
ftp: protocolo a utilizar
-s: número de puerto especifico
-o: guardamos los resultados del ataque
ATAQUE A UN FORMULARIO WEB
Burp Suite puede ser la forma más fácil de ejecutar este tipo de ataques, pero la efectividad de la herramienta se reduce en gran medida cuando se usa la versión comunitaria gratuita. En lugar de lidiar con ataques lentos, podemos utilizar Hydra.
Nuestro siguiente objetivo será el aplicativo DVWA incorporado en la misma máquina de Metasploitable, que cuenta con formulario de inicio de sesión que se transmiten mediante peticiones post.
Para poder realizar este tipo de ataque, necesitamos proporcionar la siguiente información:
- Usuario o lista de usuarios.
- Contraseña o diccionario de contraseñas.
- Dirección IP.
- Método de consulta (Get-Post).
- Página de inicio de sesión.
- Cuerpo de la solicitud.
- Mensaje de error de inicio de sesión.
En la siguiente imagen se muestra los resultados, donde podemos ver el método de consulta (Post), la dirección IP, y la página de inicio de session (/dvwa/login.php)
Posteriormente dentro de la misma pestaña de Red, nos dirigimos a la sesión de “Request” donde se encuentran los datos de la petición, los cuales necesitamos copiar marcando la opción “raw”. Y para finalizar copiaremos el mensaje de error de la página, en nuestro caso “Login Failed”
Finalmente tendríamos que reunir todos los valores para realizar el ataque como se muestra en la siguiente imagen, para ellos necesitamos reemplazar el usuario por la nomenclatura “^USER^” y la contraseña por “^PASS^".
Nota: tenga en cuenta que deberá especificar el método de consulta en mi caso http-post-form, para más información sobre el módulo use el comando hydra -U http-post-form
. También deberá tener en consideración las “ ” y los signos ":" que separa cada valor.
Recursos:
https://github.com/vanhauser-thc/thc-hydrahttps://information.rapid7.com/download-metasploitable-2017.html
https://github.com/digininja/DVWA
https://www.hackingarticles.in/comprehensive-guide-on-hydra-a-brute-forcing-tool/
Escrito Por:
Jesús Flores
Security Engineer