Técnicas de Ataque por Fuerza Bruta en Pruebas de Penetración

Este artículo explora métodos fundamentales para realizar ataques de contraseña exitosos contra diversos servicios y escenarios, esenciales en el contexto del equipo rojo.

Conceptos Fundamentales de Ataque por Contraseña

Un ataque de contraseña implica técnicas para acceder sin autorización a un sistema, servicio o cuenta. Se basa en intentar adivinar la contraseña correcta mediante fuerza bruta, diccionarios o listas personalizadas. Es crucial diferenciar entre descifrado de contraseñas (offline, a partir de hashes obtenidos) y adivinanza de contraseñas (online, contra servicios activos). El objetivo final siempre es el acceso no autorizado.

Fuentes para Listas de Contraseñas

El éxito de un ataque depende enormemente de la calidad de la lista de contraseñas (wordlist).

Contraseñas por Defecto y Débiles

Antes de ataques complejos, se deben probar credenciales por defecto (ej: admin:admin). Existen sitios como default-password.info para consultarlas. Listas de contraseñas débiles y filtradas se pueden encontrar en repositorios como SecLists.

Generación de Listas Personalizadas

La personalización aumenta la tasa de éxito. Herramientas como CeWL pueden extraer palabras relevantes de un sitio web objetivo.

# Ejemplo conceptual de CeWL (estructura cambiada)
cewl --depth 5 --min-word-length 5 --output target_list.txt http://objetivo.labs

Para generar nombres de usuario, se pueden crear patrones basados en nombres reales (ej: jperez, perez.juan). Herramientas automatizadas como username_generator facilitan este proceso.

Herramientas para Creación de Listas

Crunch: Listas Basadas en Espacio de Claves

Crunch permite generar listas definiendo caracteres y longitudes específicas.

# Genera combinaciones de 2 caracteres usando 0-4 y a-d
crunch 2 2 01234abcd -o output_crunch.txt

# Usa patrones (-t) para formatos conocidos (ej: pass + 2 dígitos)
crunch 6 6 -t pass%% -o pass_nums.txt

CUPP: Analizador de Contraseñas de Usuario

CUPP es interactivo y crea listas basadas en información personal (nombres, fechas, mascotas).

# Clonar e iniciar CUPP en modo interactivo
git clone https://github.com/Mebus/cupp.git
cd cupp
python3 cupp.py -i

Ataques Offline: Descifrado de Hashes

Ataque por Diccionario con Hashcat

Para hashes capturados, se usa un ataque por diccionario. Primero se identifica el tipo de hash (ej: con hashid).

# Ejemplo conceptual con hashcat (variables y flags alternativos)
hashcat --attack-mode 0 --hash-type 0 target_hash.txt wordlist_rockyou.txt

# Mostrar resultado descifrado
hashcat --attack-mode 0 --hash-type 0 target_hash.txt wordlist_rockyou.txt --show

Ataque de Fuerza Bruta con Hashcat

Cuando el espacio de claves es reducido (ej: PIN de 4 dígitos), se puede probar todas las combinaciones.

# Generar y probar combinaciones de 4 dígitos
hashcat --attack-mode 3 --hash-type 0 hash_md5.txt ?d?d?d?d

Ataques con Reglas: Transformación de Listas

Las reglas modifican palabras existentes para crear variantes complejas (ej: password -> P@ssw0rd!). Se usan con herramientas como John the Ripper o Hashcat.

# Ejemplo conceptual de regla para John
john --wordlist=lista_base.txt --rules=regla_personalizada --stdout > lista_ampliada.txt

Se pueden crear reglas personalizadas en el archivo de configuración de John (john.conf) para añadir prefijos/sufijos específicos.

Ataques Online: Contra Servicios Activos

Uso de Hydra

Hydra ataca servicios de red (FTP, SSH, HTTP, SMTP). La sintaxis varía según el protocolo.

# Ataque conceptual a SSH (parámetros modificados)
hydra -L usuarios.txt -P contrasenas.txt -s 22 -t 4 ssh://192.168.1.10

# Ataque a formulario HTTP GET (estructura diferente)
hydra -l usuario -P wordlist.txt 10.0.0.1 http-get-form "/login.php:campo_user=^USER^&campo_pass=^PASS^:Cadena_éxito" -f

Es fundamental analizar la repsuesta del servicio para ajustar las condiciones de éxito (cadena S) o fallo (cadena F).

Ataque de Spray de Contraseñas

Esta técnica usa una contraseña común contra múltiples usuarios para evadir bloqueos de cuenta. Se aplican patrones como EstacionAñoAño! (ej: Otoño2023!).

# Ejemplo conceptual de spray contra SSH
hydra -L lista_usuarios.txt -p "Verano2024!" ssh://10.10.10.5

Herramientas especializadas como RDPassSpray están diseñadas para servicios específicos como RDP.

Práctica Guiada en Entorno Controlado

Se recomienda practicar estas técnicas en laboratorios como TryHackMe. Un flujo típico sería:

  1. Generar una wordlist personalizada con CeWL basada en un sitio objetivo.
  2. Ampliarla usando reglas de John o Hashcat.
  3. Relaizar ataques online con Hydra a servicios expuestos (FTP, SSH, HTTP).
  4. Emplear spray de contraseñas con listas de usuarios obtenidas de la fase de enumeración.

La combinación de técnicas de generación de listas y ataques específicos aumenta significativamente la probabilidad de éxito en una prueba de penetración.

Etiquetas: hashcat hydra cewl john-the-ripper crunch

Publicado el 7-9 19:56