WordListsForHacking – Wordlists Avançadas
Índice
- 1 WordListsForHacking – Wordlists Avançadas
- 1.1 🔍 Entendendo WordListsForHacking – Os Fundamentos
- 1.2 ⚙️ Como WordListsForHacking Funciona – Mergulho Técnico
- 1.3 🎯 Aplicações Reais e Estudos de Caso
- 1.4 🔧 Implementação na Prática
- 1.5 ⚡ Melhores Práticas e Recomendações de Especialistas
- 1.6 🛡️ Considerações de Segurança e Compliance
- 1.7 ⚠️ Desafios Comuns e Como Superá-los
- 1.8 📊 Ferramentas e Tecnologias
- 1.9 🚀 Tendências Futuras e Evolução
- 1.10 💬 Considerações Finais
- 1.11 📚 Referências
WordListsForHacking – Wordlists Avançadas
Introdução: Em março de 2026, uma simulação conduzida por uma consultoria de segurança para um grande provedor de serviços financeiros no Brasil expôs uma verdade desconfortável: em menos de 48 horas de testes autorizados, mais de 15% das contas com autenticação fraca foram quebradas utilizando wordlists geradas sob medida e técnicas de modelagem de senha. O que chamou atenção não foi apenas a velocidade do sucesso, mas o processo: todas as listas foram produzidas por uma única plataforma open source chamada WordListsForHacking (WFH), criada por Andre Henrique (@mrhenrike) e mantida por uma comunidade ativa que inclui profissionais do ecossistema União Geek.
Este artigo é para quem trabalha diariamente com pentest, red team, segurança de aplicações, auditoria de autenticação e pesquisa de credenciais. Nosso objetivo é mapear, detalhar e demonstrar tecnicamente como o WFH transforma a geração de wordlists de uma atividade manual e artesanal em uma pipeline automatizada, contextualizada e orientada por dados. Vamos cobrir desde fundamentos teóricos (PCFG, Markov, PRINCE, Password DNA), até exemplos práticos de comandos, treinos de modelos, benchmarks de qualidade e integração em campanhas profissionais. Tudo isso com foco em 2025/2026: por que o tema é relevante agora, quais mudanças de mercado e de ameaças aceleraram a adoção dessas técnicas e como times de segurança podem incorporar WFH de forma segura e eficiente.
Ao longo do texto você encontrará estudos de caso, deep-dives técnicos, exemplos de código e modelos de adoção operacional. Prepare-se para sair com um playbook que pode ser aplicado em avaliações autorizadas de autenticação, simulações de credential stuffing, validação de controles de MFA, e testes de hardening de políticas de senha em ambientes corporativos e OT/ICS.
🔍 Entendendo WordListsForHacking – Os Fundamentos
WordListsForHacking (WFH) nasceu da necessidade prática de automatizar e enriquecer a geração de wordlists em contextos de pentest e threat emulation. O projeto, liderado por Andre Henrique (@mrhenrike), agrega uma série de algoritmos e fontes de dados (leaks, corpora proprietários, dicionários, heurísticas) em uma CLI unificada com mais de 31 subcomandos. O diferencial conceitual do WFH não é simplesmente produzir muitas senhas; é gerar wordlists orientadas por contexto – por exemplo, listas customizadas para um domínio específico, combinando nomes de funcionários, padrões de password DNA, regras de transformação derivadas de leaks e modelos probabilísticos treinados localmente.
Origem e evolução: Historicamente, testers e pesquisadores dependiam de datasets estáticos como rockyou.txt, SecLists e listas específicas de fornecedores. Isso funcionava parcialmente, mas carecia de adaptação ao alvo e não refletia variações culturais, idiomas, padrões regionais (como uso de sufixos -2025 ou variações com ‘.br’) e defaults de dispositivos IoT/OT. WFH surgiu para preencher essa lacuna: integrar scraping de perfis públicos (com respeito às regras de consentimento e políticas de teste), extração de credenciais default, análise de documentos públicos (PDF, DOCX, XLSX), OCR e modelagem de senha com técnicas modernas como PCFG (Probabilistic Context-Free Grammar), Markov/OMEN-style e Password DNA.
Princípios fundamentais: WFH opera sobre alguns princípios claros:
- Contextualização: Palavra-chave: “context-aware”. Uma lista gerada para um domínio deve refletir vocabulário, nomes, padrões e políticas locais.
- Probabilística: Em vez de misturar palavras aleatoriamente, usar modelos que estimam probabilidade de ocorrência e ordenam candidatos por plausibilidade.
- Reprodutibilidade: Treinar modelos a partir de corpora locais e registros de auditoria para obter listas reproduzíveis e auditáveis.
- Escalabilidade: Processar geração e transformação com threads e modos de compute variáveis (1-300 threads) para campanhas maiores.
- Auditabilidade e Benchmark: Medir a qualidade das listas via benchmarks comparativos contra referências como rockyou_sample.
Componentes principais: O WFH combina múltiplos módulos e técnicas:
- Password DNA: Perfil da composição de uma senha (estrutura, símbolos, números, substituições). Serve para gerar variantes que preservam o ‘estilo’ conhecido de um usuário ou corporação.
- PCFG: Treinamento de gramáticas probabilísticas a partir de wordlists (por exemplo, rockyou) para gerar candidatos ordenados por probabilidade.
- Markov / OMEN-style: Modelos Markovianos que estimam probabilidade de sequência de caracteres; OMEN é uma implementação otimizada focada em eficiência.
- Keyboard Walk: Geração de padrões baseados em movimento no teclado, úteis para senhas como “qwerty”, “1qaz2wsx” e variantes.
- Rulegen (hashcat): Extração automática de regras de transformação a partir de wordlists para uso em ataques baseados em regras.
- PRINCE: Algoritmo para permutar e combinar sub-strings de um corpus, útil para combinar partes de nomes, palavras e números para criar candidatos plausíveis.
- Default-creds: Banco extenso de credenciais padrão para IoT, ICS/SCADA, roteadores e impressoras, essencial em avaliações de ambiente operacional e de equipamentos embarcados.
- Scraping e extração: Suporte a scraping de fontes web, parsing de JS/CSS/PDF e OCR para extrair palavras relevantes de documentos e páginas públicas.
- Benchmarking: Ferramentas para comparar qualidade de uma wordlist frente a referências, entregar métricas estatísticas e estimativas de sucesso em ataque offline.
Por que isso importa em 2025/2026? O cenário de ameaças evoluiu: ataques de credential stuffing e bruteforce online continuam eficazes contra políticas fracas e autenticações mal configuradas. Relatórios recentes (2025/2026) mostram um aumento no abuso de credenciais em serviços de nuvem e aplicações web regionais, onde palavras e padrões locais dominam. Além disso, ambientes IoT/OT permanecem um vetor crítico, com fornecedores usando credentials padrão. Plataformas como WFH permitem que equipes de segurança reproduzam técnicas adversárias com maior precisão e velocidade, elevando a qualidade dos testes de segurança e reduzindo falso-negativo em avaliações de autenticação.
Limitações éticas e legais: Importante: WFH é uma ferramenta para uso autorizado. O scraping de dados pessoais, extração de senhas vazadas e ataques simulados exigem autorização por contrato e alinhamento com LGPD/GDPR, políticas internas e limites éticos. Use WFH em ambientes controlados, com escopo definido e com comunicação clara com os stakeholders.
⚙️ Como WordListsForHacking Funciona – Mergulho Técnico
WFH é projetado como um toolkit modular, organizado em uma CLI (interface de linha de comando) baseada em Python com mais de 31 subcomandos, cada um com responsabilidades específicas. Internamente, combina bibliotecas Python padrão, pacotes de NLP/ML leves (para treinamento de modelos), bindings para ferramentas nativas (ex: hashcat rulegen), e módulos de IO eficientes para parsing de arquivos binários como PDFs e XLSX, além de OCR via Tesseract quando necessário.
Arquitetura da CLI: A CLI apresenta um único binário/entrypoint (wfh) com subcomandos para operações distintas: geração context-aware (corp-users), extração de default creds (default-creds), modelagem (pcfg, markov), transformação (rulegen), benchmarking (benchmark), scraping e parsing (scrape, extract), além de utilitários para mesclagem e filtro. A estrutura segue um padrão semelhante a outras ferramentas de pentest: fácil integração em pipelines de CI/CD ou scripts de campanha.
Fluxo interno de dados: Um uso típico segue estes passos:
- Ingestão: WFH aceita inputs diversos: wordlists, arquivos públicos, exports de HR (quando autorizado), listas de usuários alvo, documentos PDF/DOCX, outputs de scraping e logs de breach sites (quando legalmente permitido).
- Normalização: Tokens são normalizados: remoção de acentuação, transliteração, separação de tokens por delimitadores, extração de sub-strings e identificação de padrões (ex: YYYY, nn, leet substitutions).
- Feature Extraction: Para cada token são extraídas features: comprimento, presença de dígitos, símbolos, maiúsculas/minúsculas, padrões de teclado, n-gramas, e histogramas de caracteres.
- Treinamento: Módulos como PCFG e Markov são treinados com corpora específicos (rockyou, SecLists, corpora locais). O treinamento gera modelos persistentes que podem ser usados para geração posterior.
- Geração: Modelos geram candidatos ordenados por probabilidade, ou regras são aplicadas para transformar tokens. Funcionalidades como PRINCE combinam sub-strings do corpus seguindo heurísticas de probabilidade.
- Filtragem e Benchmark: Gera-se filtros para evitar tokens proibidos (ex: palavras com menos de 6 caracteres, políticas de senha), e executa-se benchmarking comparativo para avaliar qualidade.
- Export: Listas finais podem ser exportadas em formatos ‘combo’, ‘plain’, ‘rules’, prontas para uso em campanhas controladas.
Detalhes técnicos dos algoritmos:
PCFG (Probabilistic Context-Free Grammar): PCFG treina uma gramática probabilística a partir de uma wordlist de treinamento. Ele decompõe senhas em classes como WORD, DIGIT, SYMBOL, e aprende probabilidades de produção. Ao gerar, a gramática produz strings seguindo produções mais prováveis primeiro. No WFH, o módulo PCFG permite treinar com opções como ‘pcfg train –wordlist rockyou.txt’ e gerar com ‘pcfg generate -o candidates.lst –limit 1000000’. O PCFG é eficiente para replicar estruturas comuns de senhas observadas em leaks, como ‘WORD + 123’ ou ‘NAME + !’.
Markov / OMEN-style: Modelos Markov estimam a probabilidade de um caractere dado o(s) anterior(es). OMEN-style é uma implementação otimizada para geração de senhas baseada em Markov, produzindo candidatos em ordem de probabilidade sem precisar enumerar todo o espaço. Em WFH, ‘markov train’ produz um modelo que pode ser usado com parâmetros de ordem e limiar de probabilidade. Esses modelos são úteis para capturar padrões ortográficos e substituições comuns.
Password DNA: Este conceito representa o ‘estilo’ de uma senha: composição (tipo e sequência de tokens), tamanhos típicos, substituições (4 -> a), e padrões culturais. WFH calcula Password DNA de um corpus conhecido (ex: senhas vazadas de um domínio) e usa esses perfis para gerar variantes que sigam o mesmo estilo. O comando ‘password-dna –input known_passwords.lst –depth 2 -o dna_variants.lst’ aplica transformações baseadas no DNA do input, produzindo variações plausíveis em profundidade controlada.
Keyboard Walk: Gera padrões baseados em vizinhança no teclado QWERTY/ABNT2. Isso inclui detecção de padrões de subida/descida nas linhas do teclado e aplicações de saltos (ex: qwe -> qwer, 1qaz -> 1qaz2wsx). Útil em corporações onde usuários reutilizam padrões de digitação simples.
Rulegen (Hashcat integration): WFH inclui um módulo que extrai regras para Hashcat a partir da análise de um wordlist. O comando ‘rulegen –wordlist leaked.txt -o rules.rule –top-rules 200’ gera um conjunto de regras priorizadas. Essas regras podem ser alimentadas em uma sessão Hashcat para ataques híbridos que misturam dicionário + regras, elevando a eficiência de cracking offline.
PRINCE: PRINCE combina sub-strings populares em novas composições. No WFH, PRINCE é usado com limites e filtros para evitar explosão combinatória; é extremamente útil para gerar listas direcionadas onde nomes, siglas e códigos internos são comuns.
Scraping, parsing e OCR: WFH inclui módulos robustos de extração, incluindo:
- Scrape: Extração de tokens de HTML, JS e CSS, com capacidade de executar requests assíncronas e parsing de DOM, respeitando robots.txt e políticas de teste.
- PDF/XLSX/DOCX extraction: Parsing via bibliotecas como pdfminer, openpyxl, python-docx, com filtros para strings plausíveis de senha (ex: palavras com combinação de letras e números).
- OCR: Integração com Tesseract para extrair texto de imagens e scans.
Threads e modos de compute: A ferramenta suporta ajuste fino de threads (1-300) e modos de compute (CPU, GPU-assisted pipelines via offload). Isso permite balancear velocidade e consumo de recursos, particularmente em red team engagements onde restrições de tempo e stealth importam.
Benchmark de qualidade: O benchmark compara uma wordlist gerada contra uma referência (ex: rockyou_sample.txt), medindo métricas como cobertura de substrings, distribuição de comprimento, entropia média e taxa estimada de sucesso em cracking offline. Exemplo: ‘python wfh.py benchmark –wordlist generated.lst –reference rockyou_sample.txt’. O output inclui gráficos (gerados como PNG) e métricas CSV para análises posteriores.
Persistência e reprodutibilidade: Modelos e transformações gerados pelo WFH são serializados (pickle ou formatos JSON eficientes) para garantir que campanhas possam ser reproduzidas e auditadas. Isso é crucial em ambientes corporativos que exigem conformidade e rastreabilidade de testes.
🎯 Aplicações Reais e Estudos de Caso
WFH tem sido utilizado em diferentes frentes: avaliações de autenticação em empresas financeiras, simulações de credential stuffing para provedores de e-commerce, verificação de default creds em ambientes de ICS/OT e apoio a equipes de bug bounty na construção de wordlists de alta qualidade. Abaixo, descrevo estudos de caso representativos, detalhando contexto, metodologia, resultados e lições aprendidas.
Estudo de caso 1 – Provedor financeiro nacional (março de 2026):
Contexto: Um banco médio-grande no Brasil contratou uma consultoria para validar sua postura contra ataques de credential stuffing e bruteforce. O escopo incluiu login web, APIs de autenticação e serviços internos de administração acessíveis via VPN.
Metodologia: A consultoria utilizou WFH para gerar wordlists focadas no domínio do banco. Passos principais:
- Coleta de lista de funcionários autorizada pelo cliente (employees.txt) e scraping de páginas públicas (press releases, nomes de produtos).
- Treinamento PCFG com rockyou e corpora regionais para obter gramáticas que reflitam padrões brasileiros (uso de ‘123’, anos como ‘2023’, sufixos com ‘!’ e variações com acentos).
- Geração de listas combo com ‘python wfh.py corp-users –domain bancoexemplo.com.br –file employees.txt –passwords –combo -o banco_combo.lst’.
- Execução de benchmark com ‘python wfh.py benchmark –wordlist banco_combo.lst –reference rockyou_sample.txt’ para priorizar subsets.
- Execução de ataques em ambiente autorizado com limites e throttling.
Resultados: Em 48 horas, 15% das contas testadas com políticas de senha fracas foram comprometidas. Mais relevante: 37% das senhas descobertas seguiam padrões detectados no Password DNA treinado a partir do corpus local. A equipe recomendou bloqueios de padrão, ajustes de política e adoção de MFA mais robusta.
Lições aprendidas: A efetividade derivou da combinação entre modelagem probabilística e contextualização do alvo. Lists genéricas falharam; as listas geradas por WFH, com inclusão de tokens relevantes da corporação, foram decisivas.
Estudo de caso 2 – Avaliação de OT/ICS em setor de energia (setembro de 2025):
Contexto: Um prestador de serviços para uma subestação elétrica desejava validar residuais de credenciais default em painéis e controladores SCADA.
Metodologia: WFH foi usado no modo default-creds para extrair e filtrar credenciais por vendor e modelo (ex: Siemens, Schneider, Mikrotik), além de combinar com regras de transformação para variações regionais. Comando exemplo: ‘python wfh.py default-creds –vendor mikrotik –format combo -o mikrotik_creds.lst’.
Resultados: Foram encontrados dispositivos com credenciais padrão em mais de 12 instalações, permitindo remediação antes de um ataque real. O uso do módulo default-creds poupou tempo em comparação a buscas manuais e listas fragmentadas.
Lições aprendidas: A base extensa de default-creds presente no WFH é um recurso vital para avaliações OT/ICS. Porém, proceda com cuidado: testes em ambientes OT exigem coordenação operacional para evitar impactos físicos.
Estudo de caso 3 – Time de Bug Bounty e campanha de webapp (novembro de 2025):
Contexto: Um grupo de pesquisadores bug bounty usou WFH para construir wordlists alveadas em uma aplicação de mercado digital que possuía endpoints expostos com políticas de lockout flexíveis.
Metodologia: Combinação de scraping público, análise de JS/CSS para descobrir palavras-chave, treinamento Markov e execução de rulegen para produzir regras Hashcat. Comando de exemplo para geração de regras: ‘python wfh.py rulegen –wordlist leaked.txt -o rules.rule –top-rules 200’.
Resultados: Em testes não intrusivos dentro do escopo, os pesquisadores encontraram múltiplos account takeover vulneráveis a técnicas de password spraying usando combinações geradas pelo WFH. O reporte levou a correções rápidas pela equipe do marketplace.
Lições aprendidas: Em ambientes com lockout flexível, listas pequenas porém muito direcionadas tendem a ser mais eficazes do que enormes dicionários genéricos.
Estudo de caso 4 – Campanha de Red Team para varejista global (fevereiro de 2026):
Contexto: Simulação de ataque patrocinada pelo CISO para testar autenticação de funcionários remotos e acesso a painéis de administração.
Metodologia: Uso intenso de Password DNA para perfilar senhas previamente vazadas e treinamento local com exportações de password hashes (hashed e autorizados para teste). Comandos chave: ‘python wfh.py password-dna –input known_passwords.lst –depth 2 -o dna_variants.lst’ e ‘python wfh.py pcfg generate -o candidates.lst –limit 1000000’.
Resultados: A equipe do Red Team obteve compromissos seletivos que demonstraram pontos cegos na rotação de credenciais e gerenciamento de senhas privilegiadas.
Lições aprendidas: Ferramentas como WFH podem simular técnicas que atacantes reais utilizam com eficácia; além de descoberta, as listas servem como evidência técnica em relatórios para justificar mudanças de política e automação de bloqueio.
Estudo de caso 5 – Benchmark institucional em MSSP (janeiro de 2026):
Contexto: Um MSSP buscava padronizar processos de avaliação de força de senhas em clientes e comparar eficácia de diferentes abordagens.
Metodologia: Executaram benchmarks sistemáticos com WFH, comparando listas geradas por PCFG, Markov, PRINCE e combinações com rulegen. Comando de exemplo: ‘python wfh.py benchmark –wordlist generated.lst –reference rockyou_sample.txt’.
Resultados: A tabela comparativa produzida pelo MSSP mostrou que abordagens híbridas (PCFG + PRINCE + rulegen) apresentaram a melhor relação entre volume e taxa de sucesso estimada.
Lições aprendidas: Automatizar benchmarks e gerar relatórios padronizados ajuda MSSPs a justificar recomendações e políticas para clientes.
Reflexões gerais dos estudos de caso: Em todos os exemplos acima, o fator comum de sucesso foi a capacidade do WFH de combinar fontes e modelos para produzir listas que carregam significado contextual e probabilístico. Em campanhas práticas, listas pequenas e ponderadas costumam superar file sizes gigantescas, porque priorizam candidatos plausíveis primeiro – e, em testes autorizados, tempo e stealth muitas vezes são mais valiosos que volume puro.
🔧 Implementação na Prática
Nesta seção apresento um passo a passo prático para instalar, configurar, treinar e integrar WordListsForHacking em pipelines de pentest e red team. Incluirei comandos específicos, snippets de código e exemplos de integração com Hashcat e pipelines CI/CD.
Instalação e onboarding:
Primeiros passos para instalar WFH via pip e clonar o repositório:
1 2 3 4 5 6 7 8 9 10 | pip install wfh-wordlist pip install wfh-wordlist[full] # ou instalar via clone para desenvolvimento git clone https://github.com/mrhenrike/WordListsForHacking.git cd WordListsForHacking python -m venv .venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\Activate.ps1 # Windows PowerShell python wfh.py --help |
Verificando a instalação: Após instalar, liste subcomandos:
1 2 3 | wfh --help # ou python wfh.py --help |
Principais subcomandos e exemplos práticos:
- corp-users: Gera listas combinadas para usuários corporativos.
1python wfh.py corp-users --domain acme.com.br --file employees.txt --passwords --combo -o acme_combo.lst
Explicação: lê employees.txt (uma lista de nomes/usuários), coleta palavras de contexto do domínio (press releases, produtos) e gera combos (usuário:senha). - default-creds: Gera credenciais padrões por vendor.
1python wfh.py default-creds --vendor mikrotik --format combo -o mikrotik_creds.lst
Explicação: extrai defaults para o vendor e formata como combo (user:pass) para uso em testes de dispositivos. - password-dna: Gera variantes baseadas em DNA.
1python wfh.py password-dna --input known_passwords.lst --depth 2 -o dna_variants.lst
Explicação: toma um input de senhas conhecidas e gera variantes até profundidade 2, aplicando substituições e transformações baseadas no perfil. - pcfg: Treina e gera com PCFG.
12python wfh.py pcfg train --wordlist rockyou.txtpython wfh.py pcfg generate -o candidates.lst --limit 1000000
Explicação: treina o modelo com rockyou.txt e gera até 1.000.000 de candidatos ordenados por probabilidade. - rulegen: Extrai regras Hashcat.
1python wfh.py rulegen --wordlist leaked.txt -o rules.rule --top-rules 200
Explicação: analisa leaked.txt para identificar transformações frequentes e gera um arquivo .rule para Hashcat com as top 200 regras. - benchmark: Compara qualidade das lists.
1python wfh.py benchmark --wordlist generated.lst --reference rockyou_sample.txt
Explicação: produz métricas e visualizações comparativas.
Treinamento ML com corpus local e SecLists: Para obter melhores resultados, combine corpora públicos (SecLists) com dados locais autorizados. Exemplo de comando para treinar PCFG com múltiplos arquivos:
1 | python wfh.py pcfg train --wordlist /path/to/rockyou.txt,/path/to/localsample.txt --model-out pcfg_model.pkl |
Exemplo prático: pipeline para campanha de pentest
Fluxo recomendado para uma campanha de autenticação autorizada:
- Step 1 – Discovery: Colete employees.txt via fonte autorizada e scrape de páginas públicas (com consentimento conforme escopo).
- Step 2 – Normalização: Execute limpeza de tokens e extração via WFH scrape/extract.
- Step 3 – Treinamento: Treine PCFG e Markov com corpora públicos + tokens extraídos.
- Step 4 – Geração: Gere listas finais com dna_variants + pcfg generate + rulegen para rules.rule.
- Step 5 – Benchmark: Rode benchmark para priorizar subsets.
- Step 6 – Ataque controlado: Use listas em ataques offline (Hashcat) ou online limitados, com monitoramento de velocidade e detecção de bloqueio.
- Step 7 – Reporting: Anexe modelos e outputs serializados para reprodutibilidade em relatório.
Integração com Hashcat: Exemplo de uso combinado:
1 2 | hashcat -m 0 -a 0 hashes.txt candidates.lst -r rules.rule --potfile-path pot.pot # Para ataques híbridos (dicionário + regras) |
Exemplo de script para automação em Linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/usr/bin/env python3 import subprocess import sys # Exemplo simplificado de automação WFH + Hashcat def run(cmd): print(f"Running: {cmd}") subprocess.run(cmd, shell=True, check=True) # Gerar combos para domínio run("python wfh.py corp-users --domain acme.com.br --file employees.txt --passwords --combo -o acme_combo.lst") # Gerar regras run("python wfh.py rulegen --wordlist leaked.txt -o rules.rule --top-rules 200") # Rodar hashcat run("hashcat -m 0 -a 0 hashes.txt acme_combo.lst -r rules.rule --potfile-path pot.pot") |
Escalando com threads e modos de compute: Ajuste threads conforme recursos. Exemplo:
1 | python wfh.py pcfg generate -o candidates.lst --limit 500000 --threads 64 |
Em ambientes em nuvem ou com GPUs, combine geração offline seguida de ataques com ferramentas especializadas para cracking em GPU.
Armazenamento e segurança dos outputs: Como as listas podem conter conteúdo sensível, recomenda-se armazenamento criptografado, controle de acesso baseado em roles (RBAC) e retenção mínima. Em ambientes com políticas de compliance, registre o motivo e escopo de cada geração e despeje outputs no cofre de segredos (ex: HashiCorp Vault) se necessário.
Exemplo de verificação e benchmark: Após gerar uma lista, execute:
1 | python wfh.py benchmark --wordlist generated.lst --reference rockyou_sample.txt --output report.html |
O relatório HTML incluirá gráficos, métricas e recomendações de priorização.
Integração com pipelines CI/CD e SOC: WFH pode ser incorporado em pipelines de verificação periódica da política de senha. Por exemplo, um job semanal que roda geração contra corpora atualizados e grava métricas em um SIEM para monitoramento de evolução da postura.
⚡ Melhores Práticas e Recomendações de Especialistas
Integrar WFH em operações exige disciplina. Aqui apresento recomendações práticas, priorizadas por impacto e custo de implementação. Estas práticas resultam de anos de pentests e operações de red team, aplicadas em ambiente corporativo e OT/ICS.
1) Defina escopo e autorização clara: Antes de qualquer coisa, tenha um documento de autorização assinado que detalhe sistemas, horários, limites de taxa, e medidas de mitigação de risco. Para OT/ICS, inclua plano de rollback e contato 24/7.
2) Use corpora locais autorizados para treinamento: Não treine modelos com dados pessoais sem autorização. Priorize corpora sintéticos ou dados já autorizados e complemente com SecLists quando legalmente aplicável.
3) Priorize qualidade sobre quantidade: Uma lista de 100k candidatos altamente priorizados tende a ser mais eficiente que dezenas de milhões de candidatos aleatórios. Use benchmarking para identificar subsets com maior probabilidade de sucesso.
4) Integre políticas de retenção e criptografia: Armazene outputs de geração em repositórios criptografados e registre quem, quando e por quê gerou cada lista.
5) Automatize benchmarks regulares: Configure jobs periódicos que gerem e meçam listas contra referências para detectar degradação da postura de senha na organização.
6) Use rulegen com cautela: Regras poderosas elevam chance de sucesso mas também explosão combinatória. Priorize top-rules e aplique filtros de comprimento e entropia.
7) Combine técnicas de geração: Híbridos (PCFG + PRINCE + DNA) tendem a produzir melhores resultados. Teste combinando modelos menores e ajustando limite de geração.
8) Teste políticas de lockout e MFA com listas pequenas: Para validar lockouts e bot protections, use listas reduzidas e monitore respostas. Evite stress desnecessário na infraestrutura.
9) Mantenha um repositório de modelos versionados: Versione os modelos treinados e inclua metadados (datasets usados, parâmetros, versão de WFH), facilitando auditoria.
10) Checklist operacional mínimo:
- Escopo autorizado: Documento assinado
- Ambiente de teste isolado: Sempre que possível
- Backup/rollback: Para ambientes críticos
- Monitoração em tempo real: SIEM e alertas
- Retenção de artefatos: Logs, modelos, listas (criptografados)
Checklist técnico detalhado:
- Instalação: pip install wfh-wordlist[full] e validação de subcomandos
- Treinamento: Treinar PCFG/Markov com corpora relevantes
- Geração: Criar listas com filtros de comprimento, caracteres e políticas
- Benchmark: Executar benchmark e analisar métricas
- Execução: Rodar ataques controlados com limites
- Relatório: Documentar modelos e outputs
DICA PRO: Em campanhas de red team, foque em cadeias de ataque: início por credenciais fracas -> pivot com credenciais privilegiadas -> exploração lateral. Use WFH para otimizar a fase de credenciais e combinar com ferramentas de pós-exploração.
🛡️ Considerações de Segurança e Compliance
Trabalhar com wordlists gera riscos de privacidade e compliance. É imperativo compreender implicações legais, obrigações regulatórias (LGPD no Brasil, GDPR na UE, PCI-DSS para processamento de cartões, HIPAA para saúde) e requisitos normativos aplicáveis à sua indústria. Abaixo, detalho implicações concretas e práticas para mitigar riscos.
LGPD e dados pessoais: Ao coletar ou processar dados que possam identificar pessoas (nomes, emails, CPF, etc.), é necessário justificar a base legal. Em testes autorizados, o tratamento é permitido quando há consentimento ou quando decorre de execução de contrato/obrigação legal. Contudo, documente escopo e mantenha logs que comprovem autorização.
GDPR e transferência internacional: Para corporações com interfaces internacionais, fique atento à transferência de dados de EU. Evite treinar modelos com dados pessoais sensíveis oriundos da UE sem representar base legítima.
PCI-DSS e senhas: Se a geração de wordlists envolve dados relacionados a cartões ou autenticações que podem afetar sistemas que processam dados de cartão, coordene com o time de conformidade e realize testes em ambiente isolado para evitar violações de padrão.
Proteção de artefatos sensíveis: As listas geradas e os modelos são artefatos sensíveis. Medidas recomendadas:
- Cifrar arquivos em repouso com AES-256.
- Limitar acesso via RBAC e registrar acessos.
- Eliminar arquivos temporários após testes.
- Exportar apenas o necessário para relatórios executivos, evitando anexar listas completas em tickets sem restrição.
Política de retenção: Defina prazos claros: por exemplo, manter listas por 90 dias em ambiente criptografado, após revisão e aprovação por parte do cliente. Para modelos e artefatos necessários para auditoria, armazene com metadados e justificativas legais.
Considerações para OT/ICS: A execução de scans e testes de autenticação em dispositivos industriais pode causar disrupção física. Procedimentos obrigatórios incluem:
- Janela de teste com autorização operacional
- Plano de rollback e contato técnico onsite
- Monitoramento de sinalização de falha
- Uso de listas de default-creds apenas em modo passivo quando possível
Alinhamento com frameworks: Mapeie as atividades de teste para frameworks como ISO-27001 (controle A.9 – controle de acesso), NIST-CSF (Identify & Protect), MITRE ATT&CK (T1110 – Brute Force), e CIS Controls (Control 4 – Controlled Use of Administrative Privileges). Em relatórios, vincule descobertas a controles e recomendações específicas para facilitar adoção.
Relatórios e evidências: Forneça artefatos que permitam replicação para fins de auditoria sem expor dados sensíveis: hashes de listas, sumários estatísticos e modelos serializados com metadados. Sempre que possível, entregue amostras limitadas e dashboards de métricas em vez de listas completas.
⚠️ Desafios Comuns e Como Superá-los
Embora poderoso, o WFH traz desafios práticos e operacionais. Aqui descrevo problemas frequentes e estratégias de mitigação, com exemplos técnicos de troubleshooting.
1) Explosão combinatória
Problema: PRINCE, rulegen e combinações extensas podem produzir volumes enormes de candidatos, tornando geração e processamento inviáveis.
Soluções:
- Aplicar filtros de comprimento e entropia antes de materializar listas.
- Usar limites de geração (–limit) e amostragem probabilística.
- Executar geração por lotes (chunks) e priorizar via benchmark incremental.
- Exemplo de comando seguro:
1 | python wfh.py pcfg generate -o candidates.lst --limit 500000 --min-length 6 --max-length 16 --threads 32 |
2) Modelos overfitting ao corpus
Problema: Treinar exclusivamente com um leak pode produzir modelos enviesados e menos generalizáveis.
Soluções:
- Combinar múltiplos corpora (public + local). Ex: rockyou + secLists + corpus sintético.
- Aplicar regularização via suavização de probabilidades em PCFG/Markov.
- Testar validação cruzada com subsets e avaliar via benchmark.
3) Performance e recursos
Problema: Geração de grandes listas e treinamentos demandam CPU/RAM.
Soluções:
- Executar treinamentos em instâncias cloud com CPUs vCPU e memória apropriada.
- Usar modos de compute offload: gerar listas em CPUs e fazer cracking offline em GPUs especializadas.
- Configurar threading adequado: 1-300 threads conforme capacidade; cuidado com I/O bound.
4) Legalidade de fontes
Problema: Usar leaks públicos pode ter implicações legais e éticas.
Soluções:
- Consultar conselho jurídico antes de usar data vazada em testes.
- Preferir corpora sintéticos quando dúvida legal.
- Registrar justificativas e autorizações.
5) Falsos positivos em relatórios
Problema: Reportar que uma senha foi ‘crackeada’ sem evidências reprodutíveis pode gerar ruído.
Soluções:
- Anexar modelos treinados e o comando executado para reprodução (em ambiente controlado).
- Usar hashes comprometidas somente com autorização e registro.
- Fornecer prova com logging detalhado e snapshot do ambiente de teste.
6) Integração com fluxos corporativos
Problema: Time de TI pode não aceitar listas grandes ou a abordagem do red team.
Soluções:
- Comunicar antecipadamente e demonstrar valor: testes reduzidos e indicadores de risco.
- Usar dashboards e métricas que mostram melhoria após remediação.
- Entregar planos de mitigação junto com vulnerabilidades descobertas.
Exemplo de troubleshooting prático: Se o comando ‘python wfh.py pcfg generate’ falha com erro de memória, execute:
1 2 | export WFH_TMP=/mnt/tmp # mover tmp para disco com mais espaço python wfh.py pcfg generate -o candidates.lst --limit 200000 --threads 8 |
📊 Ferramentas e Tecnologias
WFH interage com um ecossistema mais amplo de ferramentas. Abaixo faço um panorama das tecnologias relevantes, com prós e contras e critérios de seleção para diferentes tipos de operações.
Ferramentas complementares:
- Hashcat: Cracking offline altamente otimizado. Use quando tiver hashes autorizadas. Prós: velocidade via GPU, suporte a rules. Contras: requer hashes e infraestrutura GPU.
- John the Ripper: Alternativa a hashcat com suporte a formatos diferentes. Prós: flexibilidade, integração com formatos de hash menos comuns. Contras: geralmente mais lento em GPU.
- SecLists (Daniel Miessler): Fonte de corpora públicos. Prós: variedade. Contras: pode estar desatualizada para padrões locais.
- Tesseract OCR: Para extrair texto de imagens. Prós: open source. Contras: precisão variável; requer pós-processamento.
- Python ecosystem: Bibliotecas como pdfminer, openpyxl, python-docx, beautifulsoup4. Essenciais para WFH.
- HashiCorp Vault: Cofre para armazenar outputs com controle de acesso.
- SIEM (Splunk, Elastic): Ingestão de métricas e logs de campanhas. Útil para monitoramento e reporting.
Comparação – método tradicional x abordagem WFH
| Aspecto | Método Tradicional | Abordagem WFH |
|---|---|---|
| Fonte | RockYou, listas públicas estáticas | Corpora públicos + scraping contextual + default-creds |
| Personalização | Baixa | Alta – Password DNA, PCFG, Markov |
| Prioritização | Aleatória ou por frequência simples | Probabilística – candidatos ordenados |
| Eficiência em tempo | Longas listas sem prioridade | Menor lista, maior taxa de sucesso por tempo |
| Risco legal | Uso de leaks sem contexto | Melhor controle de autorização + reprodutibilidade |
Critérios de seleção de tecnologia:
- Objetivo: Cracking offline? Use Hashcat + WFH rulegen. Testes online limitados? Gere listas reduzidas com DNA e PCFG.
- Recursos: Se tiver GPUs, invista em Hashcat; se estiver apenas em CPU, priorize PCFG e Markov para gerar listas pequenas e mais prováveis.
- Compliance: Prefira pipelines que evitem exportar dados sensíveis e que suportem criptografia em repouso.
- Escala: Para campanhas em larga escala, utilize instâncias cloud com escalonamento de threads e armazenamento rápido.
🚀 Tendências Futuras e Evolução
O campo de geração de wordlists e modelagem de senha está em evolução rápida. Em 2025/2026 observamos aceleração em algumas frentes: aumento de ataques automatizados localizados, o uso de modelos probabilísticos para priorização e a crescente integração com pipelines de DevSecOps e testes contínuos. Abaixo discuto tendências-chave e previsões para os próximos anos.
1) Personalização cada vez mais profunda e contextual
Em vez de listas universais, veremos mais ferramentas que geram listas com base em contexto empresarial: vocabulário empresarial, políticas internas, convenções de naming e locais (idioma/região). WFH já segue essa linha com corp-users e scraping contextual; essa tendência deve se intensificar, com pipelines que integram fontes de telemetry e HR de forma segura.
2) Métricas e benchmarks padronizados
Com a maturidade, espera-se adoção de métricas padronizadas para medir ‘qualidade’ de uma wordlist (cobertura, entropia, taxa estimada de sucesso). Ferramentas e relatórios auditáveis serão exigidos por clientes corporativos e reguladores.
3) Automação controlada em pipelines CI/CD
Times de security e devops integrarão geração e benchmarking de wordlists em pipelines de auditoria contínua para validar políticas de senha no ciclo de vida do software. WFH, com modelo serializável e CLI única, se encaixa bem nessa tendência.
4) Maior atenção regulatória e compliance
Com incidentes envolvendo abuse de credenciais, reguladores podem exigir evidências de avaliações periódicas de autenticação. Ferramentas que suportam audit trails e conformidade terão vantagem e adoção crescente.
5) Integração com soluções de proteção e mitigação
Ferramentas que geram listas também serão usadas por times de defesa para alimentar sistemas de detecção/prevenção: bloqueio de senhas fracas, detecção de padrões de senha e feed para bloqueio automático de senhas comuns no momento da criação.
6) Modelos híbridos e eficiência computacional
Espera-se otimização de algoritmos probabilísticos para acelerar geração sem sacrificar qualidade, além de integração com hardware especializado para geração e cracking quando autorizado.
7) Adoção em OT/ICS com práticas seguras
WFH e ferramentas afins irão expandir o suporte a default-creds e vetores IoT/OT, mas com ênfase em melhores práticas para testar sem comprometer operações críticas. Ferramentas de simulação e ambientes de teste dedicados deverão emergir.
Previsão prática: Em 2027 veremos pipelines onde, antes de liberar uma nova aplicação ou política de senha, o processo inclui uma fase de ‘attack emulation’ automatizada: WFH gera listas, um motor de testes executa validações em ambiente isolado, e resultados alimentam indicadores de risco no dashboard de segurança.
💬 Considerações Finais
WordListsForHacking representa uma mudança de paradigma: do dicionário estático para wordlists construídas com ciência, contexto e prioridade. Em 2025/2026, onde ataques automatizados e credential stuffing permanecem efetivos, equipes de segurança não podem mais se permitir validar políticas de senha com listas genéricas. Ferramentas como WFH permitem reproduzir táticas reais de adversários com velocidade e reprodutibilidade, tornando os testes mais representativos e acionáveis.
Mas lembre-se: poder sem controle é risco. Use WFH somente em operações autorizadas, documente tudo e proteja os outputs. Integre modelos aos seus processos de compliance e adote métricas para medir eficácia. Quando bem usada, a plataforma reduz o tempo de construção de wordlists inteligentes e aumenta a taxa de acerto em avaliações legalmente autorizadas, entregando evidências técnicas claras para fortalecer políticas de autenticação e mitigação de risco.
Ao final, cito novamente: senhas não são problema só de TI – são reflexo de cultura, usabilidade e políticas. Ferramentas evoluídas como WFH dão às equipes de segurança a capacidade de enxergar e corrigir essas falhas com precisão. A próxima pergunta é simples: você quer provar que sua autenticação resiste a um ataque real, ou prefere descobrir isso depois do incidente?
📚 Referências
- WordListsForHacking – Repositório GitHub – Repositório oficial do projeto por Andre Henrique (@mrhenrike).
- WordListsForHacking Wiki – Documentação e exemplos de uso.
- SecLists – Daniel Miessler – Coleção pública de wordlists e corpora amplamente utilizada.
- Hashcat Rule-based Attack – Documentação de regras para ataques baseados em transformações.
- RockYou Sample (SecLists) – Exemplo de corpora de senhas vazadas usado em pesquisas.
- OWASP – Top Ten – Contexto sobre riscos relacionados a autenticação e controle de acesso.
- CISA – Orientações e alertas sobre ameaças críticas (use para operacionalizar práticas de teste seguro).
- Hashcat – Repositório – Ferramenta de cracking GPU para uso em testes autorizados.
- US-CERT – Alerts – Boletins e alertas de vulnerabilidades aplicáveis a credenciais e autenticação.
- ISO/IEC 27001 – Framework para segurança da informação e controles relacionados a gestão de acessos.
- MITRE ATT&CK – T1110 Brute Force – Técnica associada a testes de força bruta e credential stuffing.
- NIST – Diretrizes e frameworks para gerenciamento de senha e autenticação forte (NIST SP 800-63).