
Las wordlists son uno de los recursos más decisivos en pruebas de penetración: alimentan ataques de fuerza bruta, permiten descubrir directorios ocultos, sirven para probar inyecciones y constituyen la base para la mayoría de los ataques automatizados contra autenticaciones y contenidos web. Con una wordlist adecuada y la estrategia correcta, se maximiza la eficacia de la auditoría con el menor ruido posible sobre la infraestructura objetivo.
A continuación explico conceptos, estrategias y procedimientos concretos para extraer valor real de las wordlists, incluyendo ejemplos de comandos y workflows que puedes ejecutar en Kali Linux u otra distribución similar.
Una wordlist es un archivo de texto (normalmente plano) con un conjunto de valores: contraseñas, rutas, payloads de fuzzing, nombres de usuarios, etc. Las herramientas consumen esas entradas y las prueban sistemáticamente contra un objetivo. Cuando se trata de cracking de hashes o de formularios web, la herramienta transforma cada palabra a la representación necesaria (por ejemplo, aplicando el hash) y verifica coincidencias. Por eso la calidad y el contexto de la lista afectan directamente la probabilidad de éxito.
Listas distribuidas con Kali: Kali incluye carpetas con múltiples wordlists (dirb, dirbuster, wfuzz, rockyou, etc.). Estas contienen diccionarios para directorios, extensiones, respuestas HTTP y contraseñas comunes. Son un buen punto de partida para pruebas generales.
RockYou: archivo de contraseñas comprometidas históricamente; imprescindible para pruebas offline y ataques de credenciales realistas. Descomprime antes de usar (gzip -d /usr/share/wordlists/rockyou.txt.gz).
Seclists, Assetnote, PacketStorm y GitHub: repositorios actualizados y especializados (subdominios, payloads, fuzzers específicos). Buen recurso cuando necesitas listas recientes o dirigidas a un framework.
En entornos reales no es deseable lanzar listas gigantescas sin criterio: puede causar impacto en el servicio y generar ruido excesivo. Es habitual limpiar y optimizar:
Eliminar entradas con caracteres ruidosos o muy largas.
Reducir duplicados y agrupar variaciones comunes.
Aplicar filtros por longitud y por probabilidad (priorizar entradas “humanas”).
Existen scripts y utilidades para esto (por ejemplo, clean_wordlists.sh) que remueven ruido y normalizan las listas. Limpiar una lista mejora la eficiencia y reduce la posibilidad de causar DoS accidental.
Cuando las listas genéricas no bastan, conviene crear wordlists contextualizadas. Aquí tienes herramientas esenciales y ejemplos de uso:
CeWL rastrea un site y genera palabras a partir del contenido. Muy útil para crear diccionarios contextuales de empresa (nombres de productos, apellidos, tecnicismos).
Ejemplo:
-d 2: profundidad de spidering.
-m 4: palabra mínima de 4 caracteres.
Salida: cewl.txt lista para usar con John/Hashcat o como base de reglas.
Crunch genera todas las combinaciones posibles según un set de caracteres y longitudes definidas. Útil cuando sospechas contraseñas muy cortas o con patrones simples.
Ejemplo:
Usa con cautela — el resultado crece exponencialmente.
Estas herramientas generan listas a partir de datos biográficos del objetivo (fechas, nombres, mascotas, hobbies). Muy potentes en engagement dirigido (targeted attacks). Ejemplo con CUPP (modo interactivo):
BEWGor ofrece variaciones extras (mayúsculas, reversos, límites de longitud) que aumentan la cobertura.
Pydictor permite combinaciones y reglas complejas.
Mentalist es una GUI que construye cadenas por nodos y puede crear reglas compatibles con Hashcat/John para no generar físicamente listas enormes. Esto es clave cuando la lista potencial es enorme: generas reglas que Hashcat aplicará dinámicamente.
Combinar varias fuentes es frecuente. Herramientas como DyMerge fusionan diccionarios eliminando duplicados y creando una lista compacta.
Ejemplo:
Así obtienes una lista con mejores probabilidades sin la carga de duplicados.
Listas físicas: útiles para pruebas simples, cuando el espacio/tiempo no es un problema.
Reglas (Hashcat/John): si la expansión de una lista base genera millones de variantes, es más eficiente definir reglas (mayúsculas, sustituciones, sufijos) que Hashcat puede aplicar on-the-fly. Esto reduce el almacenamiento y acelera el proceso offline. Mentalist puede exportar reglas directamente para Hashcat/John.
A continuación ejemplos concretos que puedes replicar en un laboratorio.
wfuzz usando wordlists / extensionesObjetivo: enumerar URIs y extensiones comunes sin saturar el servidor.
--hc 404 oculta respuestas 404.
Combina big.txt y extensions_common.txt para cubrir nombres + extensiones. Las wordlists de wfuzz están categorizadas (injections, stress, spanish, etc.).
Extraer hash (ejemplo: /etc/shadow en lab controlado).
Preparar lista base (rockyou + palabras personalizadas).
Ejecutar Hashcat con regla:
Para grandes transformaciones, exporta reglas desde Mentalist y utilízalas con Hashcat en modo -r.
Flujo:
cewl -d 2 -m 4 -w site_words.txt https://empresa.internal
cupp.py -i (recoge detalles públicos) -> cupp_out.txt
Mezclar: cat site_words.txt cupp_out.txt > target_dic.txt
Limpiar: sort -u target_dic.txt > target_dic_clean.txt
Usar con hydra para probar login web (si autorizado):
Este flujo genera listas con alto valor predictivo para usuarios específicos.
Respeta el alcance: nunca ejecutes ataques fuera del alcance acordado.
Minimiza impacto: usa delays, límites de tasa y listas reducidas en entornos productivos.
Registro y documentación: guarda logs y resultados para reproducibilidad.
Preferir ataques offline (hashes) cuando sea posible para no afectar servicios.
Prioriza MFA y detección: cuando documentes hallazgos, prioriza recomendaciones prácticas (MFA, bloqueo por IP, políticas robustas de contraseña).
Recolecta información: web scraping (CeWL), OSINT, perfiles públicos.
Selecciona repositorios: Kali, Seclists, Assetnote, GitHub.
Genera wordlists personalizadas: Crunch, CUPP, Pydictor, Bopscrk.
Limpia y reduce: elimina ruido y duplicados.
Fusiona reglas: DyMerge o reglas dinámicas con Hashcat/John.
Ejecuta en modo seguro: control de tasa y validación de impacto.
Dominar el uso de wordlists no es solo saber dónde descargarlas: implica saber cómo crearlas, limpiarlas, fusionarlas y aplicarlas con criterio operativo. El uso responsable de estas técnicas permite simular ataques realistas, evaluar la resistencia de sistemas frente a credenciales débiles y demostrar riesgos reales que justifican controles como MFA, políticas de bloqueo y gestores de contraseñas.
Para continuar, resuelve el CAPTCHA y acepta recibir correos: