Instalar y verificar Hydra

HydraBeginner
Practicar Ahora

Introducción

En este laboratorio aprenderás a instalar y verificar Hydra, una herramienta versátil para descifrar contraseñas mediante ataques de fuerza bruta contra inicios de sesión de red en distintos protocolos. Los ejercicios abarcan la instalación de paquetes, la verificación de la versión y pruebas básicas de comandos para garantizar su correcto funcionamiento.

Practicarás operaciones esenciales de Hydra, como consultar su versión, localizar el ejecutable y explorar las opciones disponibles. Estos pasos prácticos te ayudarán a confirmar que la instalación se ha realizado correctamente y a familiarizarte con esta importante herramienta de seguridad.

Instalar Hydra en el sistema

En este paso instalarás Hydra, una potente herramienta para descifrar contraseñas utilizada en pruebas de seguridad de redes. Hydra ejecuta ataques de fuerza bruta contra sistemas de inicio de sesión y admite más de 30 protocolos, incluidos HTTP, FTP, SSH y muchos otros. La instalaremos en tu máquina virtual 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 del laboratorio. Puedes pasar directamente al punto 4 de la lista, donde se comprueba si Hydra está instalado. Si quieres practicar la instalación por tu cuenta, actualiza a Pro.

  1. Primero, debemos actualizar la lista de paquetes. Así te asegurarás de instalar la versión más reciente disponible de Hydra y sus dependencias:
sudo apt update

El comando sudo te proporciona privilegios de administrador, mientras que apt update actualiza la lista de paquetes disponibles del sistema.

  1. Ahora instala Hydra mediante el gestor de paquetes apt. La opción -y confirma automáticamente cualquier solicitud que aparezca durante la instalación:
sudo apt install -y hydra
  1. El proceso de instalación gestionará automáticamente todas las dependencias necesarias. Se trata de componentes de software adicionales que Hydra necesita para funcionar correctamente. Espera a que finalice el proceso; aparecerá un mensaje cuando haya terminado.

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

which hydra

which hydra

Salida esperada:

/usr/bin/hydra

Esta salida confirma que Hydra se ha instalado correctamente. La ubicación /usr/bin/ indica que la herramienta está disponible para todo el sistema, por lo que puedes ejecutarla desde cualquier directorio de la terminal. En los siguientes pasos exploraremos cómo utilizar las potentes funciones de Hydra.

Verificar la versión instalada de Hydra

En este paso confirmarás que Hydra se inicia correctamente e identificarás la versión instalada. Hydra no ofrece una opción exclusiva para mostrar únicamente la versión. Su salida de ayuda comienza con un encabezado que incluye el número de versión.

Ejecuta el comando de ayuda de Hydra y conserva solo la primera línea:

hydra -h 2>&1 | head -n 1

Deberías ver una salida similar a esta:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak ...

La versión exacta y el año de copyright pueden variar. Ver el encabezado Hydra v... confirma que el intérprete de comandos puede encontrar e iniciar el ejecutable instalado.

No utilices hydra -v ni hydra -V para comprobar la versión. En Hydra, -v activa el modo detallado y -V muestra cada intento de inicio de sesión y contraseña. Ambas opciones se utilizan junto con un objetivo real; si ejecutas cualquiera de ellas sin argumentos adicionales, Hydra muestra el encabezado y después falla porque no se ha proporcionado ningún objetivo.

Localizar la ruta del ejecutable de Hydra

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

  1. Te ayuda a verificar que la instalación se realizó correctamente
  2. Necesitarás esta ruta al crear scripts o alias
  3. Los administradores del sistema suelen comprobar la ubicación de los ejecutables durante las auditorías de seguridad

Comencemos con el comando básico para localizar Hydra:

  1. Utiliza el comando which para localizar el ejecutable de Hydra. Este comando busca en la variable de entorno PATH del sistema para encontrar dónde está instalado Hydra:
which hydra
  1. La salida mostrará la ruta completa donde se encuentra el ejecutable principal de Hydra. En un sistema Linux típico aparecerá algo similar a esto:
/usr/bin/hydra
  1. Ahora obtengamos más información 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 proporciona información importante, entre ella:
    • Permisos del archivo (quién puede leerlo, escribirlo o ejecutarlo)
    • Propietario del archivo (normalmente root en los programas instalados para todo el sistema)
    • Tamaño del archivo y fecha de modificación
    • 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 comprobar qué tipo de archivo es el ejecutable de Hydra. Esto resulta especialmente útil cuando necesitas verificar que se trata de un binario legítimo y no de un script o un enlace simbólico:
file $(which hydra)
  1. La salida indica que es un binario compilado (no un script) y muestra detalles técnicos sobre su arquitectura y enlazado:
/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 ofrecen una visión completa de dónde está instalado Hydra y qué tipo de ejecutable es, conocimientos fundamentales para trabajar con cualquier herramienta de línea de comandos.

Ejecutar Hydra con el comando de ayuda

En este paso aprenderás a acceder a la documentación de ayuda integrada de Hydra para comprender su uso básico y la sintaxis de sus comandos. El sistema de ayuda de Hydra es tu primera referencia al trabajar con esta herramienta, ya que explica detalladamente todos los comandos y opciones disponibles.

  1. Para mostrar el menú de ayuda básica, que presenta la estructura general de los comandos y las opciones más comunes, ejecuta este comando sencillo en la terminal:
hydra -h
  1. La salida mostrará la información de versión de Hydra seguida de la sintaxis básica de los comandos. Esto incluye:
  • Formatos de los parámetros obligatorios

  • Indicadores de opciones comunes

  • Ejemplos de uso básico

    Normalmente verás algo parecido a esto:

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 consultar la ayuda específica de un protocolo, que muestra opciones avanzadas para determinados servicios como HTTP o FTP, utiliza este formato de comando:
hydra -U SERVICE

Sustituye SERVICE por el nombre del protocolo con el que estés trabajando, como http, ftp o ssh. Se mostrarán las opciones especializadas de ese servicio.

  1. Para descubrir todos los módulos de servicio disponibles con los que Hydra puede trabajar, ejecuta este comando. Ten en cuenta que foo y bar son solo valores de ejemplo:
hydra -l foo -p bar -U
  1. La salida completa de la ayuda proporciona información esencial, entre ella:
  • Parámetros obligatorios y opcionales de cada módulo
  • Ejemplos prácticos de uso
  • Lista completa de protocolos compatibles
  • Ajustes relacionados con el rendimiento para optimizar las pruebas

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

Probar Hydra con un comando ficticio

En este paso ejecutarás un comando de prueba seguro con Hydra para verificar su funcionamiento básico sin atacar ningún sistema real. Es un primer paso importante para comprender cómo funciona Hydra antes de utilizarlo en situaciones reales.

  1. Primero, crea una lista de contraseñas de prueba. Este archivo contendrá contraseñas de ejemplo que Hydra probará durante el test:
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
  1. Crea una lista de nombres de usuario de prueba. Del mismo modo, este archivo contiene nombres de usuario de ejemplo que Hydra intentará utilizar:
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
  1. Ahora ejecutaremos Hydra en modo de prueba contra localhost, es decir, tu propia máquina. Esto es completamente seguro porque el objetivo somos nosotros mismos y utilizamos credenciales de prueba que no funcionarán realmente:
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
  1. Deberías ver una salida que muestra los intentos de prueba. Esta salida ilustra cómo Hydra recorre las combinaciones de contraseñas, aunque no logrará 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 los siguientes parámetros seguros, que es importante comprender:
  • -L: Especifica la ruta del archivo con la lista de nombres de usuario que hemos creado
  • -P: Especifica la ruta del archivo con la lista de contraseñas que hemos creado
  • -t 1: Limita Hydra a una conexión paralela (hace que la prueba sea más lenta, pero también más segura)
  • -vV: Activa la salida detallada para que podamos ver qué está haciendo Hydra
  • ssh: Especifica que la prueba se realizará contra el protocolo SSH, aunque no tendrá éxito

Esta prueba demuestra el funcionamiento básico de Hydra sin riesgos, mostrando cómo prueba sistemáticamente distintas combinaciones de nombres de usuario y contraseñas. La salida muestra los intentos realizados, aunque ninguno tendrá éxito contra tu máquina local.

Resumen

En este laboratorio has aprendido a instalar y verificar la herramienta Hydra para descifrar contraseñas en un sistema de máquina virtual de LabEx. El proceso incluyó la actualización de los paquetes, la instalación de Hydra mediante apt y la confirmación de su ruta de instalación en /usr/bin/hydra. También verificaste la instalación comprobando la versión de Hydra mediante los comandos hydra -v y hydra -V.

Además, exploraste la funcionalidad básica de Hydra localizando su ejecutable con which hydra y probando comandos como hydra -h. Estos pasos garantizaron que Hydra estuviera correctamente instalado y listo para utilizarse en escenarios prácticos de pruebas de seguridad.