# T1110.002 - Password Cracking > [!info] Técnica MITRE ATT&CK > **Tática:** Credential Access · **ID:** T1110.002 · **Plataformas:** Windows, Linux, macOS, Network Devices, Office Suite, Identity Provider > Subtécnica de [[t1110-brute-force|T1110 - Brute Force]] - recuperação de senhas a partir de hashes capturados, executada offline fora da rede alvo. ## Descrição **Password Cracking** (T1110.002) é a técnica pela qual adversários tentam recuperar senhas em texto claro a partir de **hashes de senha** previamente capturados. Diferente do brute force online (tentativas diretas contra sistemas autenticados), o cracking de senhas ocorre **offline**, nos sistemas controlados pelo adversário, sem interagir com a infraestrutura da vítima e sem gerar eventos de autenticação detectáveis. A técnica é uma etapa natural após o roubo de hashes via [[t1003-os-credential-dumping|T1003 - OS Credential Dumping]] (através de ferramentas como Mimikatz, secretsdump, lsassy) ou extração de credenciais de dispositivos de rede via [[t1602-data-from-configuration-repository|T1602 - Data from Configuration Repository]]. Quando a técnica [[t1550-002-pass-the-hash|T1550.002 - Pass the Hash]] não é viável (por exemplo, em sistemas que exigem autenticação Kerberos com ticket válido ou em serviços que não aceitam hashes diretamente), crackear o hash para obter a senha em texto claro é o caminho necessário. ### Por que cracking ainda é relevante Apesar dos avanços em algoritmos de hash seguros (bcrypt, Argon2, PBKDF2), uma parcela significativa de ambientes corporativos ainda utiliza algoritmos vulneráveis: - **NTLM/Net-NTLMv1:** Algoritmo legado do Windows, ainda presente em ambientes híbridos. Altamente vulnerável a cracking com GPU moderno - **NTLM/Net-NTLMv2:** Versão mais robusta mas ainda crack­ável com hardware dedicado e senhas fracas - **MD5 / SHA-1 sem salt:** Comuns em aplicações legadas, bancos de dados antigos e dispositivos de rede - **DES:** Algoritmo extremamente fraco, ainda presente em alguns sistemas Kerberos legados (RC4) - **Cisco Type 7:** Codificação (não hash) reversível usada em configurações de roteadores Cisco legados ### Tipos de Ataques de Cracking | Tipo | Descrição | Velocidade | Cobertura | |------|-----------|------------|-----------| | **Dictionary** | Testa palavras de um dicionário | Alta | Senhas de dicionário | | **Brute Force** | Todas combinações de caracteres | Baixa | Qualquer senha curta | | **Rainbow Table** | Lookup de hash pré-computado | Muito alta | Senhas sem salt | | **Rule-based** | Dicionário + mutações (l33t, números finais) | Alta | Senhas derivadas | | **Hybrid** | Combinação de dicionário e força bruta | Média | Ampla cobertura | | **Mask Attack** | Padrões conhecidos (ex: `?u?l?l?l?d?d?d!`) | Alta | Senhas com padrão | --- ## Como Funciona ### Etapa 1 - Obtenção de Hashes O cracking começa com a captura dos hashes. As fontes mais comuns são: **Windows - Active Directory e SAM:** - **NTDS.dit:** Banco de dados do Active Directory que contém hashes NTLM de todos os usuários do domínio. Extraído via Volume Shadow Copy ou diretamente com ferramentas como `ntdsutil`, `secretsdump.py` (Impacket) ou `CrackMapExec` - **SAM Database:** Armazenamento de hashes locais no registro do Windows, acessível após dump com `reg save HKLM\SAM sam.hive` - **LSASS Memory Dump:** Processo que mantém hashes em memória durante sessões ativas - extraído com Mimikatz (`sekurlsa::logonpasswords`) ou técnicas de dump de memória **Dispositivos de Rede:** - Configurações de roteadores e switches Cisco, Juniper, Fortinet contêm hashes de senhas de contas locais e SNMP community strings - Extração via [[t1602-data-from-configuration-repository|T1602]] ou acesso físico/lógico ao dispositivo **Aplicações e Bancos de Dados:** - Bancos de dados com tabelas de usuários usando MD5 ou SHA-1 sem salt adequado - Arquivos `.htpasswd`, `shadow`, `/etc/passwd` em sistemas Unix/Linux - Office Suite (Word, Excel com proteção por senha) - hashes extraíveis ### Etapa 2 - Exfiltração dos Hashes Os hashes capturados são exfiltrados para sistemas sob controle do adversário - tipicamente servidores com GPU de alto desempenho ou clusters de cracking dedicados (Amazon AWS, instâncias spot com GPU NVIDIA A100/H100). ### Etapa 3 - Execução do Cracking **Ferramentas principais:** - **Hashcat:** Ferramenta padrão da indústria, suporte a GPU (OpenCL, CUDA), suporta 300+ formatos de hash. Considerada a ferramenta mais rápida disponível publicamente - **John the Ripper:** Alternativa histórica, suporte amplo, melhor para CPU em ambientes sem GPU dedicada - **ophcrack:** Especializado em rainbow tables para Windows LM e NTLM **Velocidades típicas com GPU moderna (NVIDIA RTX 4090):** - NTLM: ~140 bilhões de tentativas/segundo - MD5: ~190 bilhões de tentativas/segundo - bcrypt (cost 10): ~184 mil tentativas/segundo - Argon2: ~500-1.000 tentativas/segundo Isso significa que uma senha NTLM de 8 caracteres alfanuméricos pode ser crackada em menos de 1 hora. Senhas de 8 caracteres com complexidade total (maiúsculas, minúsculas, números, símbolos) levam alguns dias. Senhas de 12+ caracteres com alta complexidade são impraticáveis mesmo com hardware dedicado - o que fundamenta recomendações de comprimento mínimo modernas. ### Etapa 4 - Uso das Credenciais Recuperadas Senhas crackeadas são utilizadas para: - Login direto em sistemas onde Pass-the-Hash não é viável - Acesso a serviços cloud (Office 365, Salesforce) que exigem senha real - Reutilização em outros sistemas onde o usuário reusa a mesma senha - Comprometimento de contas pessoais do usuário (correlação com e-mails pessoais) --- ## Attack Flow ```mermaid graph TB A["Comprometimento Inicial<br/>(qualquer técnica de acesso)"] --> B["Dump de Credenciais<br/>(T1003 - OS Credential Dumping)"] B --> C["NTDS.dit / SAM / LSASS<br/>ou config de dispositivos de rede"] C --> D["Exfiltração dos Hashes<br/>para sistema do adversário"] D --> E["Identificação do Tipo de Hash<br/>(NTLM, MD5, bcrypt, etc.)"] E --> F{Hash fraco?\n(NTLM, MD5, SHA-1)} F -->|Sim| G["Cracking com GPU<br/>(Hashcat, John the Ripper)"] F -->|Não| H["Avaliar Pass-the-Hash<br/>(T1550.002) como alternativa"] G --> I{Senha Recuperada?} I -->|Sim| J["Senha em Texto Claro<br/>Disponível"] I -->|Não - Aumentar wordlist| G J --> K["Acesso a Sistemas<br/>que rejeitam PtH"] J --> L["Reutilização em<br/>Outros Serviços/Contas"] K --> M["Movimento Lateral<br/>e Escalada de Privilégio"] L --> M ``` --- ## Exemplos de Uso ### APT3 (Gothic Panda) - Campanha de Espionagem Industrial O [[g0022-apt3|APT3]], grupo atribuído ao MSS chinês, utilizou password cracking extensivamente em campanhas de espionagem industrial contra empresas de defesa e aeroespacial americanas. O grupo extraía o NTDS.dit de Domain Controllers comprometidos e executava cracking offline para recuperar senhas de contas com privilégios elevados - especialmente contas de administradores de domínio com senhas que seguiam padrões previsíveis da organização. ### Dragonfly (Energetic Bear) - Infraestrutura Crítica O [[g0035-dragonfly|Dragonfly]], grupo ligado ao FSB russo, tem histórico de campanhas contra operadoras de energia e infraestrutura crítica. O grupo combinava password cracking com [[t1003-os-credential-dumping|OS Credential Dumping]] para comprometer workstations de operadores de sistemas SCADA/ICS - onde as senhas eram frequentemente fracas ou padrão de fábrica em sistemas legados. **Relevância para o Brasil:** O setor de [[energy|energia]] brasileiro - especialmente as grandes distribuidoras e a Eletrobras - opera com mistura de sistemas modernos e legados onde esse padrão de ataque é aplicável. ### Salt Typhoon - Comprometimento de Telecomúnicações O [[g1045-salt-typhoon|Salt Typhoon]], grupo chinês que realizou comprometimentos massivos de operadoras de telecomúnicações em 2024, utilizou password cracking como parte de sua cadeia de ataque. Após obter acesso inicial via vulnerabilidades em equipamentos de borda de rede, o grupo extraiu credenciais de sistemas de gerenciamento e crackava hashes para obter senhas que permitissem acesso persistente e movimentação lateral em redes de telecom. ### FIN6 - Ecosistema de Crimes Financeiros O [[g0037-fin6|FIN6]] é um grupo criminoso focado no setor [[financial|financeiro]] e varejista. O grupo utilizou password cracking em conjunto com ferramentas como [[s0056-net-crawler|Net Crawler]] para comprometer redes de varejistas e extrair dados de cartões de crédito. Após o dump inicial de credenciais, o FIN6 crackava hashes de contas locais de servidores POS (Point of Sale) para expandir o acesso horizontal na rede. --- ## Detecção A detecção de password cracking é especialmente desafiadora porque a atividade principal ocorre **fora da rede da vítima**, nos sistemas do adversário. A jánela de detecção existe nas fases adjacentes: na extração dos hashes (detectável) e no uso subsequente das senhas crackeadas (detectável via comportamento anômalo). ### Sigma Rule - Acesso Suspeito ao NTDS.dit ```yaml title: Suspicious Access to NTDS.dit File status: experimental description: > Detecta tentativas de acesso ao arquivo NTDS.dit do Active Directory, que contém todos os hashes de senha do domínio. Qualquer acesso fora de processos legítimos de backup é suspeito. logsource: category: file_access product: windows detection: selection: TargetFilename|contains: - '\Windows\NTDS\ntds.dit' - '\Windows\NTDS\ntds.jfm' Image|not-contains: - '\Windows\System32\ntdsutil.exe' - '\Windows\System32\dfsr.exe' condition: selection falsepositives: - Ferramentas de backup legítimas (verificar via assinatura digital) - Agentes de backup corporativo (Veeam, Commvault) level: critical tags: - attack.credential_access - attack.t1003.003 - attack.t1110.002 ``` ### Sigma Rule - Uso de Ferramentas de Cracking ```yaml title: Password Cracking Tools Execution status: experimental description: > Detecta a execução de ferramentas conhecidas de cracking de senha no ambiente. Pode indicar operação red team ou adversário ativo. logsource: category: process_creation product: windows detection: selection_hashcat: Image|endswith: '\hashcat.exe' selection_john: Image|endswith: - '\john.exe' - '\john64.exe' selection_ophcrack: Image|endswith: '\ophcrack.exe' condition: 1 of selection_* falsepositives: - Exercícios de red team autorizados - Pesquisadores de segurança em laboratório isolado level: high tags: - attack.credential_access - attack.t1110.002 ``` ### Sigma Rule - Exfiltração de Shadow / SAM via Registry ```yaml title: SAM and SYSTEM Hive Dump via Registry status: experimental description: > Detecta extração do SAM database e chave SYSTEM via reg.exe, precursor comum para password cracking offline. logsource: category: process_creation product: windows detection: selection: Image|endswith: '\reg.exe' CommandLine|contains: - 'save HKLM\sam' - 'save HKLM\system' - 'save HKLM\security' - 'export HKLM\sam' condition: selection falsepositives: - Scripts de backup de GPO legítimos level: critical tags: - attack.credential_access - attack.t1003.002 - attack.t1110.002 ``` ### Indicadores de Comprometimento (IoCs) Comportamentais - Acesso ao processo `lsass.exe` por processos não esperados (Mimikatz, lsassy, pypykatz) - Cópia de `ntds.dit` via shadow copy (`vssadmin`, `diskshadow`) - Volume Shadow Copy criado e deletado em sequência rápida (dump de NTDS) - Login bem-sucedido de conta com histórico de senhas fracas após período inativo - Conta com último logon muito antigo autenticando repentinamente (conta "esquecida" crackada) - Múltiplas autenticações bem-sucedidas de contas diferentes a partir do mesmo IP em curto período (credenciais crackeadas em lote sendo testadas) --- ## Mitigação | ID | Mitigação | Descrição | |---|-----------|-----------| | M1027 | [[m1027-password-policies\|M1027 - Password Policies]] | Implementar política de senhas com comprimento mínimo de 15+ caracteres e proibição de padrões previsíveis. Usar algoritmos de hash fortes (bcrypt, PBKDF2) em aplicações customizadas. Verificar senhas contra bases de comprometidas (HIBP). | | M1032 | [[m1032-multi-factor-authentication\|M1032 - Multi-factor Authentication]] | MFA garante que, mesmo que uma senha sejá crackada e recuperada, o adversário não consiga autenticar sem o segundo fator. Implementar preferencialmente FIDO2/WebAuthn para contas privilegiadas. | ### Controles Técnicos Adicionais **1. Proteção do NTDS.dit e LSASS:** - Habilitar LSA Protection (`RunAsPPL=1`) para proteger o processo LSASS contra dumps de memória - Configurar `Credential Guard` (Windows 10/2016+) para proteger hashes NTLM em memória virtualizada - Implementar auditoria de acesso ao diretório `C:\Windows\NTDS\` e alertas para qualquer acesso fora de processos de backup autorizados **2. Migração de Algoritmos Legados:** - Desabilitar autenticação NTLM onde possível - migrar para Kerberos - Desabilitar NTLMv1 explicitamente via GPO (`Network security: LAN Manager authentication level = Send NTLMv2 response only; refuse LM & NTLM`) - Aplicações legadas com hash MD5/SHA-1 sem salt devem ser migradas para bcrypt ou Argon2 **3. Contas Privilegiadas:** - Implementar Microsoft LAPS (Local Administrator Password Solution) para senhas únicas e longas em cada workstation - Usar contas de serviço com senhas gerenciadas (gMSA - Group Managed Service Accounts) que são automaticamente rotacionadas e têm 240+ bits de entropia - Segregar contas administrativas de contas de uso diário - nenhuma conta deve ter privilégios de Domain Admin para tarefas cotidianas **4. Monitoramento e Resposta:** - Implementar alertas para extração de Volume Shadow Copies em Domain Controllers - Monitorar processos filhos do `lsass.exe` e tentativas de injeção - Configurar SIEM com correlação entre "hash extraído" e "login bem-sucedido após período inativo" --- ## Contexto Brasil/LATAM > [!warning] Relevância Regional > O ambiente corporativo brasileiro apresenta condições que facilitam o sucesso de ataques de password cracking, especialmente a prevalência de sistemas Windows legados com NTLM e aplicações com hashing fraco. ### Panorama Brasileiro **Ambientes híbridos Windows legados:** Uma parcela significativa do ambiente corporativo brasileiro - especialmente em indústria, governo estadual/municipal e médias empresas - opera com Windows Server 2008/2012 e workstations Windows 7/8.1 que mantêm NTLM como protocolo primário. Nesses ambientes, hashes NTLM extraídos são altamente vulneráveis a cracking com hardware moderno. **Aplicações customizadas com hashing fraco:** O ecossistema de desenvolvimento brasileiro tem histórico de aplicações (sistemas ERP, portais internos, aplicações legadas desenvolvidas nos anos 2000-2010) que usam MD5 ou SHA-1 sem salt para armazenar senhas. Comprometimentos de banco de dados dessas aplicações frequentemente resultam em cracking trivial de senhas. **Setor financeiro - alvo de alto valor:** O [[financial|financeiro]] brasileiro é um dos mais digitalizados do mundo, mas a coexistência de sistemas legados (mainframes, aplicações COBOL) com infraestrutura moderna cria superfícies de ataque para extração de credenciais. O [[g0037-fin6|FIN6]] e grupos similares focados em crime financeiro têm alvos documentados em LATAM. **Infraestrutura crítica e SCADA:** O Brasil opera grande parque de infraestrutura industrial com sistemas SCADA/ICS que frequentemente usam senhas padrão ou fracas em controladores e HMIs. O padrão de ataque do [[g0035-dragonfly|Dragonfly]] - dump de credenciais seguido de cracking offline - é diretamente aplicável ao setor de [[energy|energia]] brasileiro (Eletrobras, distribuidoras regionais, geradoras). **Salt Typhoon e telecomúnicações brasileiras:** Com a expansão das operações do [[g1045-salt-typhoon|Salt Typhoon]] contra infraestrutura de telecomúnicações globalmente, as grandes operadoras brasileiras (Claro, Vivo, TIM, Oi) são alvos potenciais do mesmo padrão de ataque: comprometimento via equipamentos de borda + dump de credenciais + cracking offline. **Ransomware e extorsão:** Grupos de ransomware como [[lockbit|LockBit]], [[blackcat|ALPHV]] e operadores locais de ransomware frequentemente utilizam password cracking como etapa para escalar privilégios e comprometer Domain Controllers antes de executar a criptografia. Incidentes de ransomware no Brasil - especialmente contra prefeituras, hospitais e empresas de médio porte - frequentemente seguem esse padrão. ### Recomendações Específicas para Organizações Brasileiras 1. **Auditoria de hashing:** Verificar quais algoritmos de hash são usados em aplicações internas - especialmente sistemas ERP customizados e portais de RH 2. **Migração de NTLM para Kerberos:** Roadmap de desativação de NTLM em domínios Windows, priorizando Domain Controllers e servidores de aplicação 3. **Implementar LAPS:** Crítico para ambientes com Windows desatualizado - garante senhas locais únicas em cada máquina 4. **Monitorar Shadow Copies:** Alertas para criação e deleção rápida de shadow copies em DCs - padrão de extração de NTDS.dit 5. **Revisão de contas inativas:** Contas de funcionários desligados com senhas antigas são candidatas prioritárias para cracking - desativar ou excluir imediatamente no desligamento --- ## Referências - [MITRE ATT&CK - T1110.002](https://attack.mitre.org/techniques/T1110/002) - [Hashcat Wiki - Attack Modes](https://hashcat.net/wiki/doku.php?id=hashcat) - [Microsoft - Credential Guard Overview](https://learn.microsoft.com/en-us/windows/security/identity-protection/credential-guard/how-it-works) - [CISA - Securing Active Directory](https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-278a) - [CrowdStrike - NTDS.dit Extraction Methods](https://www.crowdstrike.com/cybersecurity-101/cyberattacks/ntds-dit/) - [CERT.br - Boas práticas de autenticação](https://www.cert.br/docs/palestras/certbr-tdc2022.pdf) **Técnicas relacionadas:** - [[t1110-brute-force|T1110 - Brute Force]] (técnica pai) - [[t1110-003-password-spraying|T1110.003 - Password Spraying]] - [[t1003-os-credential-dumping|T1003 - OS Credential Dumping]] - [[t1550-002-pass-the-hash|T1550.002 - Pass the Hash]] - [[t1602-data-from-configuration-repository|T1602 - Data from Configuration Repository]] - [[t1078-valid-accounts|T1078 - Valid Accounts]] - [[m1027-password-policies|M1027 - Password Policies]] - [[m1032-multi-factor-authentication|M1032 - Multi-factor Authentication]] **Software associado:** - [[s0056-net-crawler|Net Crawler]] - malware que inclui módulo de cracking --- *Fonte: [MITRE ATT&CK - T1110.002](https://attack.mitre.org/techniques/T1110/002) · Versão 16.2*