ACTUALIZADO A DÍA 10/05/2022
Si te interesa el Hacking y la ciberseguridad, no dudes en apuntarte a las formaciones en The Hacker Way:
En este post se explica el uso de una herramienta muy popular a la hora de ejecutar ataques de fuerza bruta contra diferentes servicios de red, tales como FTP, SSH, SMB, SMTP, HTTP, entre muchos otros.
Instalación de THC Hydra
En primer lugar, para instalar THC Hydra es necesario descargar la ultima versión disponible desde su repositorio de GitHub: https://github.com/vanhauser-thc/thc-hydra/releases/tag/v9.1
A la fecha de redactar este post la última versión/release disponible es la 9.1, se recomienda verificar si existe una más reciente.
Descargar e instalar.
>wget https://github.com/vanhauser-thc/thc-hydra/archive/v9.1.tar.gz
>tar -xvf v9.1.tar.gz
>cd thc-hydra-9.1
>./configure
>make
Con las instrucciones anteriores, ahora se podrá ejecutar el comando «hydra» directamente desde el directorio de instalación. Si se ejecuta el comando «make install» dicho comando será incluido en directorio «/usr/sbin» el cual normalmente se encuentra incluido en la variable PATH y en tal caso, se podría ejecutar el comando «hydra» desde cualquier ubicación en la terminal, sin embargo esto es opcional.
Uso de XHYDRA:
XHydra es una aplicación gráfica de usuario (GUI) que permite hacer uso de todas las características que dispone Hydra, es una herramienta que permite entender mucho mejor las opciones disponibles. Se instala desde línea de comandos en el directorio <HYDRA_ROOT>/hydra-gtk tal como se indica tras ejecutar el comando make anteriormente listado. Se trata de una herramienta que entre otras cosas, enseña en la parte de abajo el comando que se llevará a cabo partiendo de las opciones indicadas.
En cada una de las pestañas de la aplicación se configura el ataque de forma visual, tal como se explica a continuación.
TARGET
Se declaran los objetivos del ataque, pueden ser de uno a muchos, definiendo las opciones Single Target o Target List. En el caso de target list se define un fichero con los objetivos del ataque, también se permite establecer que el ataque se debe ejecutar preferiblemente sobre IPV6 en lugar de IPV4. La opción port define el puerto en el cual se encuentra escuchando el servicio que se desea atacar, por ultimo se define el protocolo a atacar, entre los que se destacan: SSH, cisco, cvs, http-head, http-get, http-proxy, https-head, https-form-get, https-form-post, mysql, pop3, smb, svn, etc.
En esta pestaña también se pueden declarar las opciones de salida del comando, permitiendo un nivel mucho más fino de logs. Las opciones disponibles en esta sección son: Use SSL, Be Verbose, Show Attempts y Debug.
PASSWORDS
Esta pestaña es la mas importante dado que aquí se definen los atributos obligatorios para la ejecución del comando hydra, a saber, un nombre de usuario único/listado de usuarios y un password único/listado de passwords. En el caso que se trate de usuario o password simple, solamente basta con indicarlo en los campos de texto, en el caso de que se cuente con un diccionario para usuarios o passwords debe indicarse la ruta absoluta donde se encuentran ubicados dichos ficheros. Puede darse el caso en el que se cuente con un usuario valido y sobre este, se ejecutará el ataque de fuerza bruta con un diccionario de contraseñas. Por otro lado se puede definir la estructura de dichos diccionarios/wordlists, por ejemplo, en el caso de que cada línea se encuentre separada por comas se usa la opción “Use colon separated file” de lo contrario, cada línea del fichero contendrá una contraseña a probar.
TUNING
Son opciones para mejorar el desempeño del ataque, sin embargo no deben de ser tomadas a la ligera en especial con el establecimiento de valores muy elevados, esto debido a que muchos protocolos detectan este tipo de ataques cuando se hacen de forma muy repetitiva o en otros casos se podría provocar una denegación del servicio. Algunos protocolos habilitan listas negras donde se registra la dirección del atacante y ante los posteriores intentos de conexión por parte de dicha IP la conexión es automáticamente rechazada.
Dentro de las opciones de performance se encuentra la opción de numero de tareas, que indica el número de hilos en ejecución de hydra. Por otro lado la opción de TimeOut define el tiempo de espera de cada una de las peticiones en segundos, en el caso de que este tiempo se alcance, automáticamente el proceso de hydra finalizará su ejecución para la iteración correspondiente al ataque que ha alcanzado el tiempo máximo, es decir, este tiempo en segundos será el tiempo que el proceso de Hydra esperará antes de probar la siguiente entrada de usuario/clave del ataque, este valor también puede afectar negativamente el desempeño del sistema, especialmente si se utiliza junto con un valor muy alto para el numero de tareas.
Finalmente es posible establecer valores de autenticación sobre un proxy HTTP o SOCKS, donde se debe especificar la dirección del proxy y si éste requiere autenticación.
En el caso de utilizar un proxy, este puede definirse de manera persistente en las variables de entorno: HYDRA_PROXY_HTTP/HYDRA_PROXY_CONNECT y HYDRA_PROXY_AUTH. Algunos valores validos para estas variables:
HYDRA_PROXY_HTTP=»http://192.168.67.89:8080/«
HYDRA_PROXY_CONNECT=proxy.anonimo.com:8000
HYDRA_PROXY_AUTH=»login:password»
SPECIFIC
Aquí se definen algunas opciones adicionales especificas para algunos de los protocolos soportados, estas opciones definen características obligatorias para la correcta ejecución del ataque contra un objetivo. Estas opciones especificas son:
http-proxy-module
Indica la ruta donde se encuentra en ejecución el servidor proxy que se utilizará para establecer las conexiones.
http /https url
Permite especificar la página de login sobre la que se ejecutará el ataque, en el caso de que se quiera ejecutar un ataque de fuerza bruta sobre un servicio web, ya sea por HTTP o HTTPS.
Cisco enable, Login for Cisco Device
Valor de clave para un router cisco.
LDAP DN
Indica la raíz del directorio de LDAP donde se intenta ejecutar un ataque de fuerza bruta, esta opción es valida para protocolos ldap2 y ldap3
SMB
Diferentes tipos de ataques contra servidores Samba, los valores posibles son: cuentas locales, cuentas de dominio, Interpretación de passwords como NTLM hashes.
CVS/SVN
Indicar la raíz del directorio CVS o SVN, por defecto es trunk.
Telnet
El el caso de un login exitoso, el mensaje que se debe de enseñar en la consola.
Start
Finalmente en la pestaña de Start se puede iniciar el ataque con todas las opciones establecidas, teniendo la posibilidad de detener el ataque, almacenar la salida en un fichero de texto y visualizarla en una área de texto habilitada para dicho fin.
USO DE HYDRA
Aunque con XHYDRA se definen la mayoría de las opciones disponibles en la herramienta, existen otra serie de opciones adiciones que no se contemplan y que pueden ser utilizadas directamente desde la consola de comandos, el listado total de las opciones actualmente disponibles (versión 6.1 a la hora de escribir este documento)
En ocasiones, los ataques son cancelados por multitud de razones, hydra genera un fichero llamado «hydra.restore» que contiene la última sesión ejecutada por THC Hydra, de este modo es posible continuar con ataques inconclusos partiendo del último estado del ataque, para esto se emplea la opción -R
Ataques de fuerza bruta contra SSH
Para realizar un ataque contra SSH es obligatorio tener instaladas las librerías libssl-dev y libgtk2.0-dev, ya que son dependencias que utiliza hydra para la ejecución de ataques contra ssh, entre otros protocolos seguros.
Ataques de fuerza bruta contra HTTPS
Algunos sitios web requieren autenticación por formulario, certificado o HTTP-Basic/HTTP-Digest. Hydra también permite ejecutar ataques de fuerza bruta contra servicios de este tipo. Lo único que hay que tener en cuenta es que se debe indicar el tipo de ataque. Si es por ejemplo, una página basada en formulario utilizando método POST, se debe especificar la ruta de la página y todos los párametros, así como los comodines «^USER^» y «^PASS^» para que Hydra sepa cuáles son los parámetros que se utilizan para el usuario y la contraseña. Finalmente, se debe indicar el mensaje que devuelve la página en caso de autenticación fallida. En la siguiente imagen, por ejemplo, se ejecuta el comando:
hydra 192.168.0.125 -l admin -P /home/adastra/Escritorio/passes.txt -vV http-form-post «/dvwa/login.php:username=admin&password=^PASS^&Login=Login:Login failed»
Para ejecutar un ataque de fuerza bruta contra el formulario web de la aplicación Damn Vulnerable Web Application
Ataques de fuerza bruta contra TELNET
Del mismo modo que con cualquier servicio que requiera autenticación, si la maquina objetivo tiene el telnet activo es susceptible de ataques de fuerza bruta con el fin de obtener acceso.
Como nota final, para realizar un ataque de fuerza bruta no se necesitan habilidades especiales ni conocimientos profundos sobre el sistema que se intenta atacar. El exito de este tipo de ataques es directamente proporcional a la calidad del diccionario a utilizar, ya que entre más completo sea, las probabilidades de exito son mucho mayores.
Un saludo y Happy Hack!
Adastra
Me sale error en esta instalacion de Hydra tengo q instalar los paquetes SSL y SSH pero no se como hacerlo si lo explicaras desde el comienzo seria bueno.
Saudos y muy buena pagina.
Me gustaMe gusta
Hola Lesther,
Se trata de un error frecuente que he olvidado anotar en la entrada, para que el funcionamiento sea el esperado, es necesario instalar la libreria libssh 0.4.6 o superior, (se recomienda la version 0.4.7) que se encuentra disponible en:
http://www.libssh.org/
Debes descargar el fichero tar.gz de la libreria, descomprimir el contenido y compilar el codigo fuente, para mayor informacion sobre la compilacion e instalacion de esta libreria, lee el fichero INSTALL y README en el directorio descomprimido.
Una vez hayas cumplido con las dependencias alli indicadas y puedas instalar libssh, te instalas la libreria libssl, si tienes una version de GNU/Linux como Debian o Ubuntu, simplemente apt-get install libssl-dev
finalmente puedes proceder a instalar Hydra.
Me gustaMe gusta
Gracias vere el proceso que mencionas, adicionalmente a esto si no regreso a este post especifico entonces quiere decir que me funciono lo que dices.
Gracias Bro….
Me gustaMe gusta
Buenas, muy buen tutorial. De los mejor explicados que he visto sobre Hydra.
En el caso de un router que solo pide un solo campo para poder acceder a su configuración?
Cuál crees que seria el comando concreto o configuración de Xhydra?
Me estoy volviendo loco pero no hay forma de sacarlo. Sé el password y lo meto en el diccionario pero el hydra siempre quiere un campo -l. Es decir no acepta que el campo usuario o el campo password no existan.
Me gustaMe gusta
Es una situación «curiosa» ya que para utilizar hydra, se espera como mínimo esos dos parámetros (usuario/diccionario de usuarios, password/diccionario passwords) si uno de los dos no es especificado, no funcionará el ataque…
Con los routers que he tenido, siempre he necesitado un usuario y una clave para acceder (consola web o cualquiera de sus servicios) lo que se me ocurre es, que intentes especificar un valor para el usuario no contenga nada, por ejemplo una cadena vacía o un fichero sin contenidos y ver que pasa… por cierto, cual es el modelo del router? a lo mejor tambien puede ocurrir que existe un único usuario por defecto para la autenticación con dicho router y por eso solo pide password, documentaté sobre el router al que intentas acceder, a ver si obtienes más información.
Un Saludo.
Me gustaMe gusta
Buenas,
Pues no creas que lo he intentado todo (hasta donde yo sé).
Los routers que estoy probando son un 3Com (el de las 2 antenas) con el firmware de serie, y otro una fonera con el firmware de Gargoyle.
Probaré un poco más a ver.
Si logro algo, lo comento.
Me gustaMe gusta
De acuerdo, suerte con eso, si veo algo relacionado con dichos routers lo comentaré.
Un Saludo
Me gustaMe gusta
podria ser un video paso a paso bateria
Me gustaMe gusta
hola tienes algún vídeo tutorial para atacar un router y sacar la pass de acceso a la configuracion desde un pc conectado por cable
Me gustaMe gusta
de donde saco las paswword list ?
Me gustaMe gusta
Muy buen tutorial «»adastra»» y muy bien explicado con el ataque de The Hydra.
«»lucas»» para sacar las contraseñas/passwords de un router entra en este vídeo tutorial «»https://www.youtube.com/watch?v=0MhllQ3ID0Q»» o si quieres sacar los contraseñas/passwords de acesso a router aquí te dejo un listado de contraseñas/passwords donde podrías acede «»http://www.routerpasswords.com/»»
«»car»» aquí en este FTP tienes los Pss-List «»ftp://ftp.openwall.com/pub/wordlists/languages/»»
Autor: HAKD01010
Me gustaMe gusta
de donde se saca las contraseñas bateria
Me gustaMe gusta
PARA INSTALAR ESTAS APLICACIONES ES NECESARIO DESACTIVAR EL FIREWALL Y ANTIVIRUS????
Me gustaMe gusta
ES NECESARIO DESACTIVAR ANITIIRUS O FIREWALL?
Me gustaMe gusta
buenas me estoy iniciando osea primera vez descargando este tipo de programas que me parece hiper interezantes pero la terminologia y los procesos para alguin con conocimientos basicos de computacion son algo dificiles podrias hacer un post paso a paso con los procesos de instalacion para pricipiantes,,,
Me gustaMe gusta
hola intento hacer un ataque de fuerza bruta y me sale el siguente error [ERROR] Either you use «www.example.com module [optional-module-parameters]» *or* you use the «module://www.example.com/optional-module-parameters» syntax!
alguien me podria ayudar
Me gustaMe gusta
HOLA NO SE CUAL ES EL COMANDO QUE SE USA Y SE TODO SEGUN LOS PASOS PERO NO ME DEJA ASER NADA SOLO ME DICE ESE NO ES UN COMANDO EXTERNO O INTERNO QUE COMANDO USO?
Me gustaMe gusta