# T1110.001 - Password Guessing ## Descrição **Password Guessing** é uma subtécnica de [[t1110-brute-force|T1110 - Brute Force]] na qual adversários sem conhecimento prévio de credenciais legítimas tentam adivinhar senhas de forma sistemática para obter acesso a contas. A diferença fundamental em relação ao brute force clássico (T1110.001 vs T1110) é que o Password Guessing utiliza **listas de senhas comuns ou predefinidas** - não variações exaustivas de todos os caracteres possíveis - tornando o ataque mais direcionado e potencialmente mais eficiente. A técnica explora uma realidade persistente na segurança corporativa: a propensão humana a utilizar senhas previsíveis. Senhas como `senha123`, `brasil2024`, `@empresa2025`, `Pass@word1` e variações de datas e nomes de times de futebol são consistentemente encontradas em ataques no Brasil. Adversários combinam esse conhecimento cultural com listas de senhas obtidas de vazamentos anteriores (credential stuffing) para maximizar a taxa de sucesso. O ataque pode ser direcionado a serviços expostos externamente (RDP, SSH, VPN, OWA, painéis de administração) ou a serviços internos após o comprometimento inicial. A natureza iterativa do Password Guessing o torna detectável via correlação de falhas de autenticação, mas adversários frequentemente empregam técnicas de evasão como **password spraying** (poucas tentativas por conta, muitas contas) e **slow-and-low** (tentativas espaçadas no tempo) para contornar mecanismos de lockout. Grupos como [[g0007-apt28|APT28]] (Fancy Bear, GRU russo) e [[g0016-apt29|APT29]] (Cozy Bear, SVR russo) utilizam esta técnica extensivamente em operações de espionagem contra governos, organizações militares e infraestrutura crítica. No contexto brasileiro, a técnica é ubíqua em campanhas de ransomware, fraude bancária e espionagem corporativa. > **Técnica pai:** [[t1110-brute-force|T1110 - Brute Force]] > **Tática MITRE:** [[_credential-access|Credential Access]] --- ## Como Funciona ### Métodologia de Ataque O Password Guessing segue um processo estruturado que varia em sofisticação dependendo do adversário: #### Fase 1 - Reconhecimento de Alvos Antes de iniciar tentativas, o adversário identifica: - Serviços de autenticação expostos (port scan, shodan.io, Censys) - Nomes de usuário válidos (OSINT em LinkedIn, email harvesting, enumeration via LDAP/Kerberos) - Políticas de lockout do alvo (testando com usuários inexistentes) - Domínios e plataformas de nuvem utilizadas (M365, Azure AD, AWS, GCP) #### Fase 2 - Seleção de Wordlist | Tipo de Lista | Exemplos | Taxa de Sucesso Estimada | |---------------|----------|--------------------------| | Senhas universais | `123456`, `password`, `admin` | Baixa mas ampla cobertura | | Senhas regionais (LATAM) | `senha123`, `brasil2024`, `Flamengo@1` | Alta para Brasil/LATAM | | Credential stuffing | Listas de vazamentos (RockYou, COMB) | Alta para contas reutilizadas | | Senhas contextuais | Nome da empresa + ano, `NomeDaEmpresa@2025` | Alta para contas corporativas | | Listas de OSINT | Nomes de funcionários, datas importantes | Alta para alvos direcionados | #### Fase 3 - Execução do Ataque Dependendo dos objetivos e das políticas de lockout detectadas: **Password Spraying (1 senha × muitas contas)**: Tenta uma única senha (ou poucas) contra todas as contas conhecidas. Não aciona lockout porque cada conta recebe apenas 1-2 tentativas. Altamente eficaz contra políticas de lockout baseadas em tentativas por conta. **Slow-and-Low (tentativas espaçadas)**: Espaça as tentativas por horas ou dias para evitar detecção por volume. Ferramentas como [[s0488-crackmapexec|CrackMapExec]] permitem configurar delays entre tentativas. **Ataque Convencional**: Quando não há lockout configurado (comum em servidores expostos via SSH, FTP, RDP sem MFA), executa tentativas em alta velocidade usando wordlists completas. ### Serviços Alvejados com Maior Frequência | Serviço | Porta | Protocolo | Relevância no Brasil | |---------|-------|-----------|---------------------| | RDP | 3389/TCP | RDP | CRÍTICA - principal vetor ransomware | | SSH | 22/TCP | SSH | ALTA - servidores Linux legados | | SMB/NetBIOS | 139, 445/TCP | SMB | ALTA - ambientes Windows corporativos | | VPN (SSL/IPSec) | 443, 500/UDP | HTTPS/IKE | ALTA - acesso remoto corporativo | | OWA/M365 | 443/TCP | HTTPS | ALTA - email corporativo | | RDP via web | 443/TCP | HTML5 | ALTA - RDP Gateways | | LDAP/Kerberos | 389, 88/TCP | LDAP | MÉDIA - recon + enum interno | | MySQL/MSSQL | 3306, 1433/TCP | SQL | MÉDIA - bancos de dados expostos | | FTP | 21/TCP | FTP | BAIXA - legado, ainda presente | | VMware ESXi | 443/TCP | HTTPS | CRESCENTE - ataques a infraestrutura | ### Ferramentas Observadas em Operações - **[[s0488-crackmapexec|CrackMapExec]]** - automação de password spraying via SMB, LDAP, WinRM - **[[s0367-emotet|Emotet]]** - propaga-se por redes locais via password guessing em SMB - **[[s0698-hermeticwizard|HermeticWizard]]** - wiper russo com componente de propagação via SMB guessing - **[[s0341-xbash|Xbash]]** - botnet combinada com password guessing para propagação em Linux/Windows - **[[s0532-lucifer|Lucifer]]** - cryptominer/DDoS bot que usa password guessing para autopropagação - **[[s0020-china-chopper|China Chopper]]** - webshell com capacidade de autenticação via guessing - **[[s0374-speakup|SpeakUp]]** - backdoor Linux com password guessing integrado - **[[s0453-pony|Pony]]** - stealer com módulo de brute force para serviços remotos --- ## Attack Flow ```mermaid graph TB A["Reconhecimento<br/>Identificação de Serviços Expostos"] --> B["Enumeração de Usuários<br/>LDAP / Kerberos / OSINT / LinkedIn"] B --> C["Construção de Wordlist<br/>Senhas comuns + Regionais + Credential Stuffing"] C --> D{"Estrategia de Ataque"} D --> E["Password Spraying<br/>1 senha × muitas contas"] D --> F["Slow-and-Low<br/>Tentativas espaçadas no tempo"] D --> G["Alta Velocidade<br/>Sem lockout configurado"] E --> H["Serviços Alvejados<br/>RDP / SSH / VPN / OWA / M365"] F --> H G --> H H --> I{"Resultado"} I -->|Sucesso| J["Credencial Válida Obtida<br/>Acesso inicial / Movimentação lateral"] I -->|Lockout| K["Evasão<br/>Reduzir velocidade / Trocar alvo / Mudar IP"] J --> L["Exploração do Acesso<br/>T1021 Lateral Movement / T1486 Ransomware"] J --> M["Persistência<br/>T1136 Criar conta / T1078 Valid Accounts"] K --> D ``` --- ## Exemplos de Uso ### APT28 (Fancy Bear) - Operações contra OTAN e Governo O grupo russo [[g0007-apt28|APT28]], braço cibernético do GRU, utilizou password guessing extensivamente em campanhas contra organizações da OTAN, governos europeus e instituições de pesquisa. O grupo empregou ataques de password spraying contra serviços Microsoft 365 e servidores VPN, utilizando listas de senhas comuns em múltiplos idiomas. Documentado em operações contra o Comitê Nacional Democrata (2016), onde combinaram password guessing com [[t1566-spearphishing-attachment|spearphishing]] para obter acesso inicial. ### APT29 (Cozy Bear) - SolarWinds e Campanhas Contínuas [[g0016-apt29|APT29]], braço cibernético do SVR russo, utilizou password spraying contra organizações governamentais americanas e europeias como técnica de acesso inicial complementar a seus ataques de supply chain. Em campanhas documentadas pelo NCSC britânico, o grupo realizou ataques lentos contra portais VPN e Citrix durante semanas, com apenas 1-2 tentativas por conta a cada 24 horas para evitar detecção. ### Emotet - Propagação por Redes Corporativas O [[s0367-emotet|Emotet]], um dos malwares mais distribuídos globalmente e frequentemente observado em campanhas contra o Brasil, inclui um módulo de password guessing contra compartilhamentos SMB em redes locais. Após comprometer uma workstation, tenta acessar servidores e outras máquinas na rede usando listas de senhas incorporadas, ampliando o comprometimento dentro da organização. ### HermeticWizard - Campanha contra Ucrânia (2022) O [[s0698-hermeticwizard|HermeticWizard]], componente de propagação do ataque de wiper russo contra a Ucrânia em fevereiro de 2022, utilizava password guessing via SMB para propagar-se rapidamente por redes corporativas antes de implantar o payload destrutivo. Demonstra como o password guessing pode ser utilizado como vetor de propagação em ataques destrutivos de alto impacto. ### Xbash - Botnet Criminosa com Propagação Agressiva O [[s0341-xbash|Xbash]], descoberto pela Unit 42, combina ransomware, cryptominer e botnet com capacidade de autopropagação via password guessing em serviços Linux (Redis, MongoDB, Elasticsearch) e Windows. Particularmente relevante para o Brasil dado o alto número de servidores Linux com serviços expostos sem autenticação adequada. --- ## Detecção ### Regra Sigma - Password Spraying contra Active Directory ```yaml title: Password Spraying Attack via Failed Logon Correlation status: experimental description: Detecta padrão de password spraying - múltiplas contas diferentes falhando no mesmo IP em curto período logsource: product: windows service: security detection: selection: EventID: 4625 LogonType: - 3 - 10 timeframe: 30m condition: selection | count(TargetUserName) by IpAddress > 10 falsepositives: - Scripts de automação com credenciais expiradas - Usuários com múltiplas contas esquecendo qual usar level: high tags: - attack.credential_access - attack.t1110.001 ``` ### Regra Sigma - Tentativas SSH Bruteforce (Linux) ```yaml title: SSH Password Guessing Attack status: experimental description: Detecta tentativas repetidas de autenticação SSH indicando password guessing logsource: product: linux service: auth detection: selection: msg|contains: - 'Failed password for' - 'Invalid user' - 'authentication failure' timeframe: 5m condition: selection | count() by src_ip > 20 falsepositives: - Usuário legítimo esquecendo senha repetidamente - Scripts de backup com credenciais expiradas level: medium tags: - attack.credential_access - attack.t1110.001 ``` ### Regra Sigma - Password Spraying contra Microsoft 365 ```yaml title: M365 Password Spray via Distributed Logon Failures status: experimental description: Detecta padrão de spraying em tenant M365 - 1 senha tentada em muitas contas logsource: category: cloud product: azure_ad service: signinlogs detection: selection: ResultType: 50126 ErrorCode: 50126 timeframe: 1h condition: selection | count(UserPrincipalName) by IPAddress > 15 falsepositives: - Sincronização de diretório mal configurada - Migração de usuários com reset de senha em massa level: high tags: - attack.credential_access - attack.t1110.001 ``` ### Indicadores de Comprometimento (Comportamentais) - Múltiplas falhas de autenticação (Event ID 4625) de um único IP em curto período - Padrão de 1 falha por conta, para muitas contas diferentes, originando do mesmo IP - Autenticações bem-sucedidas após série de falhas (indicativo de sucesso após spraying) - Tentativas em horários incomuns (madrugada, feriados) fora do padrão de uso - IPs de origem em países incomuns para a organização (geofencing anômalo) - Volume anormal de tentativas Kerberos (AS-REQ sem pré-autenticação) para múltiplos usuários - Lockout de múltiplas contas simultâneas (indicativo de spraying descontrolado) ### Windows Event IDs Relevantes | Event ID | Canal | Descrição | |----------|-------|-----------| | 4625 | Security | Falha de logon - detalha usuário, IP, tipo de logon | | 4740 | Security | Conta de usuário bloqueada por lockout | | 4771 | Security | Falha de pré-autenticação Kerberos | | 4776 | Security | Falha de válidação de credencial via NTLM | | 4648 | Security | Tentativa de logon com credenciais explícitas | --- ## Mitigação | ID | Mitigação | Descrição Detalhada | |----|-----------|---------------------| | [[m1032-multi-factor-authentication\|M1032]] | Multi-factor Authentication | MFA é a defesa mais eficaz contra password guessing. Mesmo que a senha sejá descoberta, o atacante não consegue autenticar sem o segundo fator. Implementar MFA em todos os serviços expostos externamente - especialmente RDP, VPN, OWA, M365 e painéis de administração. Priorizar FIDO2/WebAuthn como método mais resistente a phishing. | | [[m1036-account-use-policies\|M1036]] | Account Use Policies | Configurar políticas de lockout (ex: 5-10 tentativas → lockout por 30 minutos) para dificultar ataques de alta velocidade. Para password spraying, implementar Smart Lockout no Azure AD que considera padrões de comportamento. Configurar alertas automáticos para lockouts em massa. | | [[m1027-password-policies\|M1027]] | Password Policies | Exigir senhas longas (mínimo 12-16 caracteres) e complexas. Implementar banlist de senhas comuns e senhas previamente vazadas (integração com Have I Been Pwned API). Proibir senhas baseadas em nome da empresa, cidade, times de futebol. Educar usuários sobre senhas seguras com exemplos culturalmente relevantes. | | [[m1051-update-software\|M1051]] | Updaté Software | Manter serviços de autenticação atualizados para corrigir vulnerabilidades de enumeração de usuários que facilitam o targeting em ataques de password guessing. VPN e gateways RDP desatualizados frequentemente expõem informações sobre usuários válidos. | ### Controles Adicionais Recomendados - **Zero Trust Network Access (ZTNA)**: Substituir VPNs tradicionais por ZTNA elimina a exposição de portais de autenticação como alvo - **Geofencing e IP Reputation**: Bloquear tentativas de autenticação originando de países fora do escopo operacional e de IPs em listas de reputação negativa - **CAPTCHA e Raté Limiting**: Implementar em portais web (OWA, painéis de admin) para desacelerar tentativas automatizadas - **Honeypot Accounts**: Criar contas de usuário "armadilha" que nunca são usadas legitimamente - qualquer tentativa de autenticação nessas contas é imediatamente suspeita - **Passwordless Authentication**: Migrar para autenticação sem senha (FIDO2, Windows Hello for Business) onde possível, eliminando o risco de password guessing completamente - **Conditional Access baseado em risco**: Configurar políticas que exijam MFA adicional ou bloqueiem acesso quando o Azure AD Identity Protection detectar risco elevado --- ## Contexto Brasil/LATAM ### Panorama de Ameaças Regional O Brasil é um dos países mais atacados do mundo por ataques de password guessing, especialmente via RDP exposto diretamente na internet. Estudos de honeypots operados no país registram consistentemente milhares de tentativas de password guessing por hora contra serviços RDP e SSH. **Fatores que ampliam a exposição no Brasil:** 1. **Alta adoção de RDP exposto**: PMEs e escritórios contábeis frequentemente expõem RDP (porta 3389) diretamente na internet para acesso remoto, tornando-se alvos primários de grupos de ransomware 2. **Senhas culturalmente previsíveis**: Análises de vazamentos de dados brasileiros mostram alta prevalência de senhas como `brasil`, nomes de times de futebol, datas do Carnaval e CPFs como base de senha 3. **Servidores Linux não monitorados**: Grande número de servidores Linux hospedando e-commerce e aplicações web sem monitoramento de autenticação SSH 4. **Adoção lenta de MFA**: Muitas organizações brasileiras, especialmente no setor de PMEs, ainda operam serviços críticos sem MFA habilitado ### Grupos com Atuação Documentada - **[[g0007-apt28|APT28]]** - password spraying contra organizações governamentais e pesquisa - **[[g0016-apt29|APT29]]** - password spraying lento e direcionado contra governos e pesquisa - **Grupos de ransomware RaaS**: Grupos como LockBit, BlackCat e affiliates locais utilizam password guessing de RDP como vetor primário de entrada em empresas brasileiras - **Grupos de fraude bancária brasileiros**: Utilizam password guessing contra painéis bancários, e-commerces e sistemas de boleto ### Estatísticas de Contexto - O Brasil ocupa posição consistente entre os 10 países com mais tentativas de credential stuffing globalmente - RDP continua sendo o vetor de acesso inicial mais comum em incidentes de ransomware no Brasil (>40% dos casos analisados por empresas locais) - Servidores expostos no Brasil recebem tentativas de password guessing SSH em média a cada 60 segundos ### Recomendações Específicas para o Mercado Brasileiro 1. **Priorizar desativação de RDP exposto** - mover para VPN ou ZTNA antes de qualquer outra iniciativa 2. **Password banlist em português**: Implementar listas de senhas proibidas específicas para o contexto cultural brasileiro 3. **Monitoramento de Event ID 4625**: Muitas organizações brasileiras têm SIEM mas não alertam sobre lockouts em massa - corrigir essa lacuna é prioritário --- ## Referências - [MITRE ATT&CK - T1110.001: Password Guessing](https://attack.mitre.org/techniques/T1110/001/) - [NCSC UK - Password Spraying Attacks](https://www.ncsc.gov.uk/guidance/mitigating-malicious-use-of-legitimate-tools) - [Microsoft - Protecting against password spray attacks](https://learn.microsoft.com/en-us/security/operations/incident-response-playbook-password-spray) - [CISA - Cyber Hygiene Services: Brute Force Attacks](https://www.cisa.gov/news-events/cybersecurity-advisories) - [CERT.br - Senhas Seguras](https://cartilha.cert.br/senhas/) - [Have I Been Pwned - Password List Integration](https://haveibeenpwned.com/Passwords) - [Shodan - Exposed RDP in Brazil Statistics](https://www.shodan.io) ## Software Associado - [[s0020-china-chopper|China Chopper]] (malware) - [[s0367-emotet|Emotet]] (malware) - [[s0374-speakup|SpeakUp]] (malware) - [[s0488-crackmapexec|CrackMapExec]] (ferramenta) - [[s0698-hermeticwizard|HermeticWizard]] (malware) - [[s0532-lucifer|Lucifer]] (malware) - [[s0453-pony|Pony]] (malware) - [[s0341-xbash|Xbash]] (malware) - [[s0598-pas-webshell|P.A.S. Webshell]] (malware) --- *Fonte: [MITRE ATT&CK - T1110.001](https://attack.mitre.org/techniques/T1110/001)*