Usando Hydra para Descifrar Contraseñas

LinuxLinuxBeginner
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

Bienvenido a "Ciberseguridad con Laboratorios Prácticos". Este curso está diseñado para principiantes con conocimientos básicos de Linux que estén interesados en comprender los fundamentos de la ciberseguridad. En esta sesión práctica, aprenderá sobre las vulnerabilidades de contraseñas y cómo utilizar una popular herramienta de seguridad llamada Hydra.

En este laboratorio, explorará el concepto de seguridad de contraseñas simulando un ataque de fuerza bruta en un sitio web de práctica. Aprenderá cómo utilizar Hydra, una poderosa herramienta utilizada por profesionales de la seguridad para probar la fortaleza de las contraseñas. Esta experiencia le ayudará a entender por qué las contraseñas fuertes son cruciales y cómo fácilmente se pueden comprometer las contraseñas débiles.

Al final de este laboratorio, tendrá experiencia práctica en:

  1. Configurar y explorar un sitio web de práctica
  2. Comprender las listas de contraseñas comunes y sus implicaciones de seguridad
  3. Utilizar Hydra para simular un ataque de fuerza bruta
  4. Analizar los resultados y valorar la importancia de las contraseñas fuertes

¡Comencemos nuestro viaje al mundo de la seguridad de contraseñas!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") linux/PackagesandSoftwaresGroup -.-> linux/software("Linux Software") hydra/HydraGroup -.-> hydra/installation("Installation and Setup") subgraph Lab Skills linux/echo -.-> lab-415960{{"Usando Hydra para Descifrar Contraseñas"}} linux/cat -.-> lab-415960{{"Usando Hydra para Descifrar Contraseñas"}} linux/curl -.-> lab-415960{{"Usando Hydra para Descifrar Contraseñas"}} linux/software -.-> lab-415960{{"Usando Hydra para Descifrar Contraseñas"}} hydra/installation -.-> lab-415960{{"Usando Hydra para Descifrar Contraseñas"}} end

Explorando el Sitio Web Objetivo

En este paso, examinaremos el sitio web que vamos a probar e introduciremos el concepto de ataques de fuerza bruta.

Abra la pestaña Web 8080 en su entorno de laboratorio. Debería ver una simple página de inicio de sesión con campos para un nombre de usuario y una contraseña.

Captura de pantalla de la página de inicio de sesión

Intente iniciar sesión con estas credenciales:

  • Nombre de usuario: test, Contraseña: password123
  • Nombre de usuario: admin, Contraseña: admin

Cada vez recibirá un mensaje de "Nombre de usuario o contraseña no válidos". Esta es una práctica de seguridad común que no revela si el nombre de usuario o la contraseña son incorrectos, lo que evita que los posibles atacantes recopilen información sobre nombres de usuario válidos.

Tenga en cuenta que no hay límite en los intentos de inicio de sesión. En sistemas seguros del mundo real, es posible que se le bloquee después de varios intentos fallidos para prevenir ataques de fuerza bruta.

Lo que acaba de hacer manualmente - probar diferentes combinaciones de nombres de usuario y contraseñas - es la idea básica detrás de un ataque de fuerza bruta. Los atacantes automatizan este proceso para probar miles o incluso millones de combinaciones rápidamente. Esto demuestra por qué es crucial utilizar contraseñas fuertes y únicas para la seguridad.

Examinando la Lista de Contraseñas

Ahora que entendemos el concepto básico de un ataque de fuerza bruta, examinemos una lista de contraseñas comunes que los atacantes podrían utilizar.

Vuelva a la pestaña Escritorio en su entorno de laboratorio.

Abra la terminal Xfce en el escritorio.

Terminal Xfce en el escritorio

En escenarios del mundo real, los atacantes a menudo utilizan listas extensas de contraseñas de violaciones de datos anteriores. Para nuestro laboratorio, utilizaremos una lista más pequeña de contraseñas débiles comunes encontradas en Internet. Esta lista ya se ha preparado para usted y se encuentra en /home/labex/project/500-worst-passwords.txt.

Examinemos el contenido del archivo:

head -n 10 500-worst-passwords.txt

Debería ver las primeras 10 contraseñas de la lista.

123456
password
12345678
1234
12345
dragon
qwerty
567sjej
mustang
letmein

Estas contraseñas son opciones comunes que, por desgracia, muchas personas todavía utilizan. Precisamente por eso, los atacantes a menudo intentan estas primero en sus intentos de obtener acceso no autorizado. Al utilizar una lista como esta, un atacante puede acelerar en gran medida su ataque de fuerza bruta. En lugar de probar todas las posibles combinaciones de caracteres (lo que podría tomar años), comienzan con las contraseñas más probables, lo que aumenta significativamente sus posibilidades de éxito rápido.

Configurando Hydra

Ahora que tenemos nuestra lista de contraseñas, configuremos Hydra, la herramienta que usaremos para automatizar la simulación de nuestro ataque de fuerza bruta.

Primero, creemos un archivo con nombres de usuario para probar:

cd ~/project
echo -e "admin\nuser\nroot" > ~/project/usernames.txt
cat ~/project/usernames.txt

Esto crea un archivo con tres nombres de usuario comunes: admin, user y root. Usaremos este archivo en nuestro comando de Hydra más adelante.

Ahora, instalemos Hydra. Ejecute estos comandos:

Nota: Los usuarios gratuitos no pueden conectarse a Internet, por lo que Hydra ya está preinstalado en el entorno de laboratorio, puede omitir este comando. Actualice a un usuario Pro para practicar la instalación de Hydra por sí mismo.

Solo para Usuarios Pro
sudo apt-get update
sudo apt-get install hydra -y

Hydra es una herramienta popular utilizada por profesionales de la seguridad y hackers éticos para probar la seguridad de las contraseñas. Puede realizar ataques de diccionario rápidos contra varios servicios de red. Funciona tomando una lista de nombres de usuario y una lista de contraseñas, y luego probando sistemáticamente cada combinación en el sistema objetivo.

Una vez completada la instalación, puede verificar que Hydra se haya instalado correctamente ejecutando:

hydra -h

Esto mostrará la información de ayuda de Hydra, mostrando todas sus opciones y capacidades.

Usando Hydra para Descifrar Contraseñas

Ahora que tenemos Hydra instalado y nuestra lista de contraseñas lista, usémoslo para simular un ataque de fuerza bruta en nuestro sitio web de práctica.

Ejecute el siguiente comando de Hydra:

hydra -L ~/project/usernames.txt -P ~/project/500-worst-passwords.txt localhost -s 8080 http-post-form "/:username=^USER^&password=^PASS^:Invalid username or password" -o ~/project/hydra_results.txt

Desglosemos este comando:

  • hydra: El nombre de la herramienta que estamos usando.
  • -L ~/project/usernames.txt: Utiliza esta lista de nombres de usuario.
  • -P ~/project/500-worst-passwords.txt: Utiliza esta lista de contraseñas.
  • localhost -s 8080: La dirección del sitio web que estamos probando.
  • "/:username=^USER^&password=^PASS^:Invalid username or password": Le dice a Hydra cómo interactuar con el formulario de inicio de sesión.
  • -o ~/project/hydra_results.txt: Guarda los resultados en este archivo.

Hydra comenzará a ejecutarse y verá una salida a medida que prueba cada combinación de nombre de usuario y contraseña. Este proceso puede tardar unos minutos.

Salida de la ejecución del comando de Hydra

Después de que Hydra termine, examine los resultados:

cat ~/project/hydra_results.txt
Salida de los resultados de Hydra

Debería ver líneas que indiquen intentos de inicio de sesión exitosos, como "login: [nombre de usuario] password: [contraseña] found".

Considere las implicaciones de lo que acaba de hacer:

  • Hydra probó cientos de combinaciones de contraseñas en solo unos minutos.
  • Encontró con éxito credenciales válidas.
  • Esto demuestra por qué es peligroso usar contraseñas comunes o débiles. Un atacante real podría probar miles o incluso millones de contraseñas muy rápidamente.

Reflexione sobre cómo este proceso automatizado difiere de los intentos manuales que realizó en el Paso 1. La velocidad y la eficiencia de herramientas como Hydra convierten a las contraseñas débiles en un riesgo de seguridad significativo.

Resumen

En este laboratorio, has adquirido experiencia práctica en seguridad de contraseñas y técnicas de hacking ético. Has aprendido:

  1. El concepto de ataques de fuerza bruta y por qué son efectivos contra contraseñas débiles.
  2. Cómo usar Hydra, una herramienta de seguridad del mundo real, para descifrar contraseñas.
  3. La importancia de contraseñas fuertes y únicas para defenderse contra estos ataques.

Recuerda, el objetivo de este laboratorio era entender la seguridad de las contraseñas, no hackear cuentas reales. Siempre utiliza tus conocimientos de manera ética y legal.

Esta experiencia subraya por qué los expertos en ciberseguridad recomiendan encarecidamente no usar contraseñas comunes o fáciles de adivinar. A medida que continúes tu camino en ciberseguridad, encontrarás muchas más herramientas y técnicas. Sigue aprendiendo, mantén la curiosidad y siempre utiliza tus habilidades de manera responsable.