Instalar y Verificar Hydra

HydraHydraBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a instalar y verificar Hydra, una herramienta versátil para descifrar contraseñas (password-cracking tool) mediante fuerza bruta (brute-forcing) para inicios de sesión en red a través de varios protocolos. Los ejercicios cubren la instalación del paquete, la verificación de la versión y las pruebas básicas de comandos para garantizar una funcionalidad adecuada.

Practicará operaciones esenciales de Hydra, incluyendo la comprobación de su versión, la localización del ejecutable y la exploración de las opciones de comandos. Estos pasos prácticos le ayudarán a confirmar una instalación exitosa, a la vez que se familiariza con esta importante herramienta de seguridad.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/installation("Installation and Setup") hydra/HydraGroup -.-> hydra/basic_structure("Basic Command Structure") hydra/HydraGroup -.-> hydra/single_username("Single Username Attack") hydra/HydraGroup -.-> hydra/single_password("Single Password Attack") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") hydra/HydraGroup -.-> hydra/service_options("Service-Specific Options") hydra/HydraGroup -.-> hydra/troubleshooting("Basic Troubleshooting") subgraph Lab Skills hydra/installation -.-> lab-549917{{"Instalar y Verificar Hydra"}} hydra/basic_structure -.-> lab-549917{{"Instalar y Verificar Hydra"}} hydra/single_username -.-> lab-549917{{"Instalar y Verificar Hydra"}} hydra/single_password -.-> lab-549917{{"Instalar y Verificar Hydra"}} hydra/verbose_mode -.-> lab-549917{{"Instalar y Verificar Hydra"}} hydra/service_options -.-> lab-549917{{"Instalar y Verificar Hydra"}} hydra/troubleshooting -.-> lab-549917{{"Instalar y Verificar Hydra"}} end

Instalar Hydra en su sistema

En este paso, instalará Hydra, una potente herramienta para descifrar contraseñas (password-cracking tool) utilizada para probar la seguridad de la red. Hydra realiza ataques de fuerza bruta (brute-force attacks) contra sistemas de inicio de sesión y soporta más de 30 protocolos, incluyendo HTTP, FTP, SSH y más. Lo instalaremos en su VM de LabEx, que proporciona un entorno seguro para el aprendizaje.

Nota: Los usuarios gratuitos no pueden conectarse a Internet, por lo que Hydra ya está preinstalado en el entorno de laboratorio. Puede saltar al punto 4 de la lista (comprobar si Hydra está instalado). Actualice a un usuario Pro para practicar la instalación de Hydra por sí mismo.

  1. Primero, necesitamos actualizar la lista de paquetes. Esto asegura que instalará la última versión disponible de Hydra y sus dependencias:
sudo apt update

El comando sudo le otorga privilegios de administrador, mientras que apt update actualiza la lista de paquetes disponibles de su sistema.

  1. Ahora instale Hydra utilizando el gestor de paquetes apt. El indicador -y confirma automáticamente cualquier solicitud durante la instalación:
sudo apt install -y hydra
  1. El proceso de instalación gestionará automáticamente todas las dependencias necesarias. Estos son componentes de software adicionales que Hydra necesita para funcionar correctamente. Espere a que el proceso se complete; verá un mensaje cuando termine.

  2. Después de la instalación, verifiquemos que Hydra esté instalado y accesible correctamente. El comando which muestra dónde encuentra el sistema el ejecutable de Hydra:

which hydra
which hydra

Resultado esperado:

/usr/bin/hydra

Este resultado confirma que Hydra está instalado correctamente. La ubicación /usr/bin/ significa que la herramienta está disponible en todo el sistema, por lo que puede ejecutarla desde cualquier directorio en su terminal. En los siguientes pasos, exploraremos cómo utilizar las potentes funciones de Hydra.

Verificar la instalación de Hydra con una comprobación de versión

En este paso, verificaremos que Hydra esté instalado correctamente comprobando su número de versión. Esta es una primera comprobación esencial porque confirma tres cosas importantes: que el software está instalado correctamente, que su sistema puede encontrarlo (a través del PATH) y que está listo para usar.

Cuando se trabaja con herramientas de línea de comandos (command-line tools) como Hydra, comprobar la versión es siempre un buen punto de partida. Le ayuda a confirmar que está trabajando con la herramienta correcta y le proporciona información básica sobre su instalación.

  1. Comencemos con una comprobación básica de la versión. Escriba este comando en su terminal:
hydra -v
  1. Después de ejecutar esto, debería ver una salida similar a:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.

Esto le muestra el número de versión (v9.2 en este ejemplo) y alguna información de copyright. El número de versión es particularmente importante cuando se siguen tutoriales o documentación, ya que diferentes versiones podrían tener características ligeramente diferentes.

  1. Para obtener más detalles técnicos sobre su instalación de Hydra, incluyendo cómo se compiló, utilice la opción -V en mayúscula:
hydra -V
  1. Este comando mostrará información de compilación adicional que podría ser útil para la resolución de problemas o al informar de problemas.

Estas simples comprobaciones logran varias cosas importantes:

  • Confirman que Hydra está instalado y funcionando
  • Verifican que su sistema puede encontrar el comando Hydra (lo que significa que está en su PATH)
  • Le dan información sobre qué versión está utilizando
  • Ayudan a identificar cualquier problema inmediato con la instalación

Si alguno de estos comandos falla o da un error, es probable que Hydra no esté instalado correctamente o no esté en el PATH de su sistema, y tendrá que solucionar el problema de la instalación.

Localizar la ruta del ejecutable de Hydra

En este paso, aprenderá a encontrar dónde está instalado Hydra en su sistema. Cuando instalamos software como Hydra, el sistema coloca su archivo ejecutable en directorios específicos. Conocer esta ruta es esencial porque:

  1. Le ayuda a verificar que la instalación se realizó correctamente
  2. Necesitará esta ruta al crear scripts o alias
  3. Los administradores del sistema a menudo necesitan verificar las ubicaciones de los ejecutables para las auditorías de seguridad

Comencemos con el comando básico para localizar Hydra:

  1. Utilice el comando which para localizar el ejecutable de Hydra. Este comando busca en la variable de entorno PATH de su sistema para encontrar dónde está instalado Hydra:
which hydra
  1. La salida le mostrará la ruta completa donde reside el ejecutable principal de Hydra. Un sistema Linux típico mostrará algo como:
/usr/bin/hydra
  1. Ahora obtengamos más detalles sobre este archivo ejecutable. El siguiente comando combina ls -l (que muestra los detalles del archivo) con which hydra (para obtener la ruta):
ls -l $(which hydra)
  1. Esto le proporciona información importante que incluye:
    • Permisos de archivo (quién puede leer/escribir/ejecutarlo)
    • Propietario del archivo (generalmente root para programas instalados en el sistema)
    • Tamaño del archivo y fecha de modificación
    • La ruta real

Ejemplo de salida:

-rwxr-xr-x 1 root root 123456 Jan 1 00:00 /usr/bin/hydra
  1. Para profundizar aún más, podemos verificar qué tipo de archivo es el ejecutable de Hydra. Esto es particularmente útil cuando necesita verificar que es un binario genuino y no un script o un enlace simbólico (symlink):
file $(which hydra)
  1. La salida le indica que es un binario compilado (no un script) y muestra detalles técnicos sobre su arquitectura y vinculación:
/usr/bin/hydra: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=abcdef1234567890, for GNU/Linux 3.2.0, stripped

Estos comandos le brindan una imagen completa de dónde está instalado Hydra y qué tipo de ejecutable es, lo cual es un conocimiento fundamental para trabajar con cualquier herramienta de línea de comandos.

Ejecutar Hydra con el comando de ayuda (Help Command)

En este paso, aprenderá a acceder a la documentación de ayuda integrada de Hydra para comprender su uso básico y la sintaxis de los comandos. El sistema de ayuda de Hydra es su primer punto de referencia cuando trabaja con esta herramienta, ya que explica todos los comandos y opciones disponibles en detalle.

  1. Para mostrar el menú de ayuda básico que muestra la estructura general de los comandos y las opciones comunes, ejecute este simple comando en su terminal:
hydra -h
  1. La salida mostrará la información de la versión de Hydra seguida de la sintaxis básica del comando. Esto incluye:
  • Formatos de parámetros requeridos
  • Indicadores de opciones comunes (Common option flags)
  • Ejemplos de uso básico
    Esto es lo que normalmente verá:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]]

Options:
  -l LOGIN or -L FILE  login with LOGIN name, or load several logins from FILE
  -p PASS  or -P FILE  try password PASS, or load several passwords from FILE
  ...
  1. Para obtener ayuda específica del protocolo que muestra opciones avanzadas para servicios particulares (como HTTP o FTP), utilice este formato de comando:
hydra -U <service>

Reemplace <service> con el nombre del protocolo real con el que está trabajando, como http, ftp o ssh. Esto mostrará opciones especializadas para ese servicio en particular.

  1. Para descubrir todos los módulos de servicio disponibles con los que Hydra puede trabajar, ejecute este comando (tenga en cuenta que 'foo' y 'bar' son solo marcadores de posición aquí):
hydra -l foo -p bar -U
  1. La salida de ayuda completa proporciona información crucial que incluye:
  • Parámetros obligatorios frente a opcionales para cada módulo
  • Ejemplos de uso práctico
  • Lista completa de protocolos admitidos
  • Configuraciones relacionadas con el rendimiento para ajustar sus pruebas

Recuerde que el sistema de ayuda de Hydra es sensible al contexto: la información que se muestra cambia según las opciones que combine con los indicadores -h o -U.

Probar Hydra con un comando simulado (Dummy Command)

En este paso, ejecutará un comando de prueba seguro con Hydra para verificar su funcionalidad básica sin atacar ningún sistema real. Este es un primer paso importante para comprender cómo funciona Hydra antes de usarlo en escenarios reales.

  1. Primero, cree una lista de contraseñas de prueba. Este archivo contendrá contraseñas de muestra que Hydra intentará durante la prueba:
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
  1. Cree una lista de nombres de usuario de prueba. De manera similar, este archivo contiene nombres de usuario de muestra que Hydra intentará usar:
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
  1. Ahora ejecutaremos Hydra en modo de prueba contra localhost (su propia máquina). Esto es completamente seguro porque nos estamos apuntando a nosotros mismos y utilizando credenciales de prueba que en realidad no funcionarán:
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
  1. Debería ver una salida que muestre el intento de prueba. Esta salida demuestra cómo Hydra trabaja a través de las combinaciones de contraseñas, aunque en realidad no tendrá éxito al iniciar sesión:
[DATA] attacking ssh://127.0.0.1:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://127.0.0.1:22
[22][ssh] host: 127.0.0.1   login: admin   password: password
[22][ssh] host: 127.0.0.1   login: admin   password: 123456
[22][ssh] host: 127.0.0.1   login: admin   password: qwerty
...
[STATUS] attack finished for 127.0.0.1 (waiting for children to complete tests)
  1. El comando utiliza estos parámetros seguros que son importantes para comprender:
  • -L: Especifica la ruta al archivo de lista de nombres de usuario que creamos
  • -P: Especifica la ruta al archivo de lista de contraseñas que creamos
  • -t 1: Limita Hydra a 1 conexión paralela (hace que la prueba sea más lenta pero más segura)
  • -vV: Habilita la salida detallada (verbose output) para que podamos ver lo que está haciendo Hydra
  • ssh: Especifica que estamos probando contra el protocolo SSH (aunque esta prueba no tendrá éxito)

Esta prueba demuestra el funcionamiento básico de Hydra sin ningún riesgo, mostrando cómo intenta sistemáticamente diferentes combinaciones de nombre de usuario/contraseña. La salida muestra los intentos que se están realizando, aunque ninguno tendrá éxito contra su máquina local.

Resumen

En este laboratorio, ha aprendido cómo instalar y verificar la herramienta de descifrado de contraseñas Hydra en un sistema LabEx VM. El proceso implicó la actualización de paquetes, la instalación de Hydra a través de apt y la confirmación de su ruta de instalación en /usr/bin/hydra. También verificó la instalación comprobando la versión de Hydra utilizando los comandos hydra -v y hydra -V.

Además, exploró la funcionalidad básica de Hydra localizando su ruta ejecutable con which hydra y probando comandos como hydra -h. Estos pasos aseguraron que Hydra estuviera instalado correctamente y listo para su uso práctico en escenarios de pruebas de seguridad.