🛡️ Ciberseguridad: Herramientas de Pentesting Ético

Conferencia Especializada - Uso Responsable y Educativo

⚠️ ADVERTENCIA ÉTICA IMPORTANTE

Todas las herramientas presentadas deben utilizarse ÚNICAMENTE en sistemas propios o con autorización explícita por escrito. El uso no autorizado constituye un delito en la mayoría de jurisdicciones.

📋RockYou.txt y Diccionarios

RockYou.txt es uno de los diccionarios de contraseñas más utilizados en pruebas de penetración, conteniendo más de 14 millones de contraseñas reales filtradas.

📍 Ubicación y Descarga:

# En Kali Linux (preinstalado) /usr/share/wordlists/rockyou.txt.gz # Descomprimir si es necesario sudo gunzip /usr/share/wordlists/rockyou.txt.gz # Verificar contenido head -10 /usr/share/wordlists/rockyou.txt

🔍 Otros Diccionarios Populares:

  • SecLists: Colección completa de listas para fuzzing y bruteforce
  • CrackStation: Diccionario masivo de 15GB
  • Probable-Wordlists: Listas optimizadas por probabilidad
  • Custom Wordlists: Crear diccionarios específicos con CeWL o Crunch

⚠️ Consideraciones Legales:

Estos diccionarios solo deben utilizarse para auditar sistemas propios o con autorización explícita. Su posesión puede estar regulada en algunas jurisdicciones.

🔐Hashcat

Hashcat es la herramienta de cracking de hashes más avanzada del mundo, capaz de utilizar GPU para acelerar significativamente el proceso.

📋 Comandos Básicos:

# Identificar tipo de hash hashcat --help | grep -i md5 # Ataque de diccionario contra MD5 hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt # Ataque de fuerza bruta (máscara) hashcat -m 0 -a 3 hash.txt ?l?l?l?l?d?d?d?d # Ataque combinado hashcat -m 0 -a 1 hash.txt dict1.txt dict2.txt # Ver progreso y estadísticas hashcat -m 0 -a 0 hash.txt rockyou.txt --status

🎯 Modos de Hash Comunes:

  • -m 0: MD5
  • -m 100: SHA1
  • -m 1400: SHA256
  • -m 1800: SHA512
  • -m 3200: bcrypt
  • -m 22000: WPA/WPA2

🚀 Optimización con GPU:

# Verificar dispositivos disponibles hashcat -I # Usar GPU específica hashcat -m 0 -a 0 -d 1 hash.txt rockyou.txt # Configurar workload (1-4) hashcat -m 0 -a 0 -w 3 hash.txt rockyou.txt

⚠️ USO ÉTICO: Solo para auditar hashes propios o en entornos autorizados de prueba.

🌊Hydra

Hydra es una herramienta de fuerza bruta paralela que soporta múltiples protocolos de red para pruebas de autenticación.

🎯 Ejemplos de Uso (Solo en Entornos Autorizados):

# SSH Brute Force hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100 # HTTP POST Form hydra -l admin -P rockyou.txt 192.168.1.100 http-post-form "/login:username=^USER^&password=^PASS^:Invalid" # FTP Brute Force hydra -L users.txt -P passwords.txt ftp://192.168.1.100 # RDP Brute Force hydra -L users.txt -P passwords.txt rdp://192.168.1.100 # MySQL Database hydra -l root -P passwords.txt mysql://192.168.1.100

🔧 Parámetros Importantes:

  • -l: Usuario específico
  • -L: Lista de usuarios
  • -p: Contraseña específica
  • -P: Lista de contraseñas
  • -t: Número de hilos (threads)
  • -f: Parar al encontrar primera coincidencia
  • -V: Verbose (mostrar intentos)

🛡️ Protocolos Soportados:

# Ver todos los protocolos soportados hydra -h | grep "Supported services" # Algunos ejemplos: SSH, FTP, HTTP, HTTPS, SMB, RDP, # Telnet, MySQL, PostgreSQL, SNMP, POP3, IMAP, etc.

⚠️ ADVERTENCIA: Hydra puede generar mucho tráfico de red y logs. Solo usar en redes propias o laboratorios autorizados.

📡Aircrack-ng Suite

Aircrack-ng es una suite completa para auditoría de redes WiFi, que incluye herramientas para captura, análisis y cracking de redes inalámbricas.

🔧 Herramientas Principales:

  • airmon-ng: Habilitar modo monitor
  • airodump-ng: Capturar tráfico WiFi
  • aireplay-ng: Inyectar paquetes
  • aircrack-ng: Crackar claves WEP/WPA
  • airdecap-ng: Descifrar capturas

📶 Flujo Típico de Auditoría WiFi:

# 1. Verificar interfaces disponibles airmon-ng # 2. Habilitar modo monitor sudo airmon-ng start wlan0 # 3. Escanear redes disponibles sudo airodump-ng wlan0mon # 4. Capturar handshake específico sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon # 5. Deautenticar cliente (en otra terminal) sudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF wlan0mon # 6. Crackar WPA/WPA2 con diccionario aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap

🎯 Ataques WEP (Obsoleto pero Educativo):

# Ataque de reinyección ARP sudo aireplay-ng -3 -b AA:BB:CC:DD:EE:FF wlan0mon # Crackar WEP cuando hay suficientes IVs aircrack-ng capture-01.cap

🛡️ Contramedidas y Detección:

  • Usar WPA3 cuando sea posible
  • Contraseñas fuertes (12+ caracteres)
  • Monitoreo de deautenticaciones anómalas
  • Ocultar SSID (seguridad por oscuridad)
  • Filtrado MAC (limitado pero útil)

⚠️ IMPORTANTE: Solo auditar redes propias. La captura de tráfico WiFi no autorizado es ilegal en muchos países.

🛡️Hardening / Bastionamiento / Aseguramiento

El hardening o bastionamiento es el proceso de fortificar sistemas para reducir su superficie de ataque y protegerlos contra las técnicas de pentesting mostradas anteriormente.

🔐 Políticas de Contraseñas Robustas:

# Configuración en /etc/security/pwquality.conf minlen = 14 minclass = 3 maxrepeat = 2 ucredit = -1 lcredit = -1 dcredit = -1 ocredit = -1 # Expiración de contraseñas en /etc/login.defs PASS_MAX_DAYS 90 PASS_MIN_DAYS 1 PASS_WARN_AGE 7

✅ Mejores Prácticas para Contraseñas:

  • Longitud mínima: 14-16 caracteres
  • Complejidad: Mayúsculas, minúsculas, números y símbolos
  • Unicidad: Diferente para cada servicio/cuenta
  • Gestores: Usar KeePass, Bitwarden, 1Password
  • 2FA/MFA: Habilitar autenticación multifactor
  • Frases de paso: "Mi-Gato-Come-3-Pescados-Azules!"

🔒 Hardening del Sistema Operativo:

# Deshabilitar servicios innecesarios sudo systemctl disable telnet sudo systemctl disable ftp sudo systemctl disable rsh # Configurar SSH seguro (/etc/ssh/sshd_config) Protocol 2 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes MaxAuthTries 3 ClientAliveInterval 300 # Firewall básico con UFW sudo ufw enable sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh

🌐 Protección de Red:

  • Segmentación: VLANs y subredes separadas
  • WiFi Seguro: WPA3, contraseñas fuertes, red de invitados
  • IDS/IPS: Snort, Suricata para detección de intrusiones
  • Monitoreo: Logs centralizados con ELK Stack
  • NAC: Control de acceso a la red (802.1X)

🖥️ Hardening de Aplicaciones:

# Configuración Apache segura ServerTokens Prod ServerSignature Off Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff Header always set X-XSS-Protection "1; mode=block" # Configuración MySQL/MariaDB bind-address = 127.0.0.1 skip-networking local-infile=0

📊 Auditoría y Monitoreo:

# Configurar auditd para logging avanzado sudo apt install auditd audispd-plugins # Monitoreo de intentos de login fallidos sudo tail -f /var/log/auth.log | grep "Failed password" # Verificar conexiones activas sudo netstat -tulpn sudo ss -tulpn # Revisar procesos sospechosos ps aux --sort=-%cpu | head -10

🔍 Herramientas de Análisis de Vulnerabilidades:

  • Nessus/OpenVAS: Escáneres de vulnerabilidades
  • Lynis: Auditoría de seguridad del sistema
  • CIS Benchmarks: Guías de configuración segura
  • AIDE: Detección de cambios en archivos
  • Fail2Ban: Protección contra ataques de fuerza bruta

⚡ Respuesta a Incidentes:

# Plan de respuesta básico: # 1. Detección y análisis # 2. Contención y erradicación # 3. Recuperación # 4. Lecciones aprendidas # Comandos de emergencia sudo netstat -an | grep LISTEN # Puertos abiertos sudo lsof -i # Conexiones activas sudo ps aux | grep -v "]" # Procesos activos sudo find / -name "*.log" -exec grep -l "FAIL\|ERROR" {} \;

🎯 Principio de Defensa en Profundidad: Implementar múltiples capas de seguridad para que si una falla, las otras mantengan la protección.

🏗️ Entorno Sandbox (Laboratorio de Pruebas)

Un entorno sandbox es absolutamente esencial para practicar técnicas de ciberseguridad de forma legal y segura. Este ambiente aislado permite experimentar sin riesgos legales ni técnicos.

🎯 ¿Por qué es Necesario un Sandbox?

  • Legalidad: Evita problemas legales al no atacar sistemas reales
  • Seguridad: Aísla malware y herramientas peligrosas
  • Aprendizaje: Permite experimentar sin consecuencias
  • Reproducibilidad: Entorno controlado para pruebas repetibles
  • Documentación: Facilita la creación de evidencia y reportes

💻 Requerimientos Recomendados

🖥️ Hardware Mínimo

  • CPU: 4 núcleos (Intel i5/AMD Ryzen 5)
  • RAM: 16GB (mínimo 8GB)
  • Almacenamiento: 500GB SSD
  • Red: Adaptador WiFi compatible

🎯 Hardware Recomendado

  • CPU: 8+ núcleos (Intel i7/AMD Ryzen 7)
  • RAM: 32GB+
  • GPU: NVIDIA GTX/RTX para hashcat
  • Red: Múltiples adaptadores USB WiFi

💿 Software Base

  • Hypervisor: VMware/VirtualBox
  • Kali Linux (atacante)
  • Metasploitable (víctima)
  • Windows 10/11 (víctima)

🌐 Configuración de Red

  • Red aislada (Host-Only/Internal)
  • Firewall configurado
  • DHCP interno
  • Monitoreo de tráfico

🏭 Plataformas de Práctica Legales

# Máquinas Virtuales Vulnerables - Metasploitable 2/3 - DVWA (Damn Vulnerable Web Application) - WebGoat - VulnHub VMs - HackTheBox - TryHackMe # Laboratorios en la Nube - AWS/Azure Security Labs - Cybrary Labs - PentesterLab

📝 Documentación Legal

Mantén siempre documentación de que estás trabajando en un entorno autorizado. Esto incluye capturas de pantalla, configuraciones y evidencia de que es tu propio laboratorio.