THC-Hydra

  • 0

THC-Hydra

Hydxhydrara es una herramienta de auditoría que se basa en la fuerza bruta, es especialmente versátil dado que soporta un gran número de servicios con los que puede intentar comunicarse repetidamente, además es multithread (multihilo), con lo cual puede ejecutar varios intentos simultáneamente, claro está, si estos intentos no son rechazados.

https://www.thc.org/thc-hydra/

Puede utilizarse y se ha utilizado para obtener contraseñas, como ya dije, intenta comunicarse con un servicio y como ya es comprensible, al utilizar un servicio normalmente, este necesita que introduzcamos un nombre de usuario y una contraseña. Puede ser nuestro correo, nuestra cuenta de voip, o algo más interno, como la contraseña de configuración de un router wifi. Hydra automatiza el trabajo de prueba y error que supondría tener que intentar esto mismo a mano, es una de esas herramientas que funcionan con la nada sofisticada pero si eficaz técnica de la fuerza bruta.

Hydra es especialmente útil en cuanto a ataques a autenticación web. Podemos adecuar el ataque por fuerza bruta a numerosos escenarios de autenticación web, si antes previamente sabemos cual utiliza.

El descubrimiento de los métodos de autenticación de una página web nos ayudará a conformar un ataque acorde al sistema de autenticación y, a no ser que se hayan implementado unos sistemas muy restrictivos en muchos casos nos vamos a encontrar unos formularios html básicos, simplemente, por ejemplo mirando el código fuente de la página, que normalmente va a contener unas etiquetas como estas:

<form method="POST" action="login">
<input type="text" name="username">
<input type="password" name="password"> </form>

Como se ve el formulario cumple su función, recoge los datos usuario y contraseña y los envía mediante el método POST.

Vamos a poner tres ejemplos de hydra para usar la fuerza bruta contra autenticaciones web:

Ejecutar hydra para que simule la autenticación HTTP Básica. Correspondería al formulario anterior

hydra -L lista_usuarios -P diccionario 168.5.78.95 http-head /zonausuarios/

Fuerza bruta contra HTTP Digest Authentication. Digest authentication añade un poco más de seguridad a la autenticación cifrando la contraseña con el algoritmo MD5, pero básicamente el uso de hydra es el mismo

hydra -l admin -P diccionario 168.5.78.95 http-get /usuarios

Fuerza bruta para HTML Form Based Authentication

Vamos a suponer que nos encontramos una web, con un formulario de autenticación donde podemos ver estas etiquetas html:

<form name="input" action="login.php" method="post">
<input type="text" name="user">
<input type="password" name="password">

Cuando introducimos mal el usuario el sistema nos comunica un error–> Not allowed. Con esta información podemos conformar una ataque con hydra de la siguiente manera

hydra -L lista_usuarios -P diccionario 168.5.78.95
https-post-form "/index.cgi:login&name=^USER^&password=^PASS^&login=Login:Not allowed" &

La potencia de hydra reside en su flexibilidad a través de opciones que nos ofrece, ya que además de soportar una gran cantidad de servicios, podemos modificar su comportamiento, pudiendo conseguir que el ataque no sea detectado como tal si el sistema ofrece alguna protección contra numerosos intentos de autenticación.

Opciones del programa hydra:

.-R restaura una sesión previa, ya sea abortada o interrumpida

-S Conexión SSL

-s <PORT> Especifica el puerto si es distinto al puerto por defecto del servicio

-l <LOGIN> o -L <FILE> si usamos -l tendremos que poner un nombre de usuario único si usamos -L podemos hacer que hydra pruebe con una lista de usuarios

-p <PASS> o -P <FILE> Si usamos -p hydra usará una única password. Esta opción es útil cuando se conoce que un dispositivo de red contiene un usuario y contraseña por defecto en combinación con la opción -M, por ejemplo.Si usamos -P hydra usará un archivo de passwords, o más concretamente un diccionario de passwords

-e <ns> -checkeos adicionales para passwords nulos y/o intentar usar el nombre de usuario como password

-C <FILE> Podemos usar un archivo con el formato “login:pass” en vez de proporcionar las opciones -L y -P

-M <FILE> – Usando esta opción podemos decirle a hydra que ataque en paralelo a una lista de servidores

-o <FILE> Escribirá las contraseñas encontradas en un archivo FILE

-f salir después del primer login/password encontrado. Esto detiene hydra cuando encuentra un resultado positivo.

-t <TASKS> número de conexiones en paralelo que deseamos para le proceso(16 por defecto)

-w Se puede definir el tiempo de espera entre respuestas (30 por defecto)

-v / -V Define el modo de reporte mostrando el modo verbose o mostrando el login + password de cada intento

server El servidor objetivo si no hemos usado la opcion -M

service Servicio a crackear. Protocolos soportados: telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp.

HydraGTK es la versión GUI de hydra, y es útil para el que no quiera perder el tiempo con la consola e ir directamente al ataque, igual de potente y flexible.

hydra

Hydra es una esas herramientas que nos enseñan que es muy fácil forzar la seguridad con un mecanismo tan simple como la fuerza bruta. Ojo, no todos los usos de hydra tienen porqué ser maliciosos, pues ha sido muchas veces utilizado para recuperar contraseñas que otros habían olvidado 😉


Leave a Reply