# T1110.003 - Password Spraying
> [!info] Técnica MITRE ATT&CK
> **Tática:** Credential Access · **ID:** T1110.003 · **Plataformas:** Windows, Linux, macOS, SaaS, Identity Provider, IaaS, Containers, ESXi, Network Devices, Office Suite
> Subtécnica de [[t1110-brute-force|T1110 - Brute Force]] - ataque distribuído que inverte a lógica: uma senha testada em muitas contas.
## Descrição
**Password Spraying** (T1110.003) é uma variante do ataque de força bruta que inverte a lógica convencional: em vez de testar muitas senhas contra uma única conta (o que aciona bloqueios), o adversário utiliza **uma ou poucas senhas muito comuns** contra um grande número de contas diferentes. Essa abordagem contorna efetivamente os mecanismos de bloqueio por tentativas excessivas (account lockout), mantendo o número de tentativas por conta abaixo do limiar de detecção.
A eficácia desta técnica reside num fato estatístico consistente: em qualquer organização de tamanho médio a grande, uma fração significativa de usuários adota senhas previsíveis - especialmente aquelas que aténdem às regras mínimas de complexidade como `Senha123!`, `Company2024!` ou `P@ssword1`. Mesmo que apenas 1-2% das contas sejam comprometidas, em uma organização com 10.000 usuários isso representa 100-200 contas válidas para o adversário.
Esta técnica é particularmente eficaz contra:
- Portais de acesso a Office 365 / Microsoft 365 / Azure AD (Entra ID)
- Sistemas de Single Sign-On (SSO) federados via SAML/OAuth
- VPNs e gateways de acesso remoto
- Active Directory via LDAP e Kerberos
- Aplicações SaaS com autenticação própria
Password Spraying é frequentemente utilizado como técnica de **acesso inicial** por grupos APT patrocinados por Estados, e também por operadores de ransomware em sua fase de reconhecimento inicial.
---
## Como Funciona
### Mecânica do Ataque
O ataque de password spraying segue uma progressão deliberada e controlada:
**Etapa 1 - Enumeração de contas válidas**
O adversário primeiro precisa de uma lista de contas existentes. Isso é obtido via:
- Enumeração de usuários através de endpoints LDAP ou Kerberos (sem autenticação prévia)
- Coleta de endereços de e-mail via LinkedIn, OSINT, headers de e-mail, ou [[t1589-001-credentials|T1589.001 - Credentials]]
- Verificação de existência de contas via respostas diferenciadas de sistemas de login (user enumeration vulnerability)
- APIs do Office 365 (o endpoint `GetCredentialType` retorna metadados sobre contas sem autenticação)
**Etapa 2 - Seleção de senhas-alvo**
A lista de senhas é cuidadosamente escolhida:
- Senhas sazonais: `Verao2024!`, `Janeiro2025!`, `Carnaval25!`
- Senhas padrão do setor: `Empresa@123`, `Corporativo1`
- Senhas do top-100 de vazamentos ajustadas para conformidade com política de complexidade
- Padrões comuns para empresas: `[NomeEmpresa][Ano]!`
**Etapa 3 - Throttling e evasão de detecção**
O adversário controla cuidadosamente a taxa de tentativas:
- Uma senha por conta, com intervalo de 30-60 minutos entre rodadas completas
- Uso de múltiplos IPs de origem (proxies residenciais, infraestrutura cloud distribuída)
- Aproveitamento de endpoints de autenticação menos monitorados (LDAP, Kerberos) em detrimento de portais web com maior visibilidade
- Preferência por autenticação LDAP (port 389) e Kerberos (port 88) que geram eventos menos alertantes que SMB (EventID 4625)
**Etapa 4 - Aproveitamento das credenciais**
Uma vez com credenciais válidas, o adversário move-se para:
- [[t1078-valid-accounts|T1078 - Valid Accounts]] para acesso inicial
- [[t1021-remote-services|T1021 - Remote Services]] para movimento lateral
- Escalada de privilégio se a conta comprometida for de nível básico
### Serviços Frequentemente Atacados
| Serviço | Porta | Protocolo | Observação |
|---------|-------|-----------|------------|
| SSH | 22/TCP | SSH | Acesso remoto Linux/Unix |
| FTP | 21/TCP | FTP | Sistemas legados |
| SMB/NetBIOS | 445/TCP, 139/TCP | SMB | Gera EventID 4625 (alta visibilidade) |
| LDAP | 389/TCP | LDAP | Menor visibilidade - preferido |
| Kerberos | 88/TCP | Kerberos | Menor visibilidade - preferido |
| RDP | 3389/TCP | RDP | Acesso remoto Windows |
| HTTP/HTTPS | 80/443/TCP | HTTP | Portais web, OWA, Citrix |
| MSSQL | 1433/TCP | TDS | Bancos de dados |
| VNC | 5900/TCP | RFB | Acesso remoto gráfico |
| Office 365 | 443/TCP | HTTPS | Alvo primário - alto valor |
---
## Attack Flow
```mermaid
graph TB
A["Enumeração de Usuários<br/>(LinkedIn, LDAP, Office 365 API)"] --> B["Compilação de Lista de Contas<br/>(emails corporativos válidos)"]
B --> C["Seleção de Senhas Candidatas<br/>(sazonais, padrões corporativos)"]
C --> D["Configuração de Throttling<br/>(1 senha / conta / 30-60 min)"]
D --> E["Infraestrutura de Dispersão<br/>(proxies residenciais, múltiplos IPs)"]
E --> F["Spray Round 1<br/>(senha: Empresa2024!)"]
F --> G{Algum Acesso?}
G -->|Não| H["Aguardar Jánela de Segurança<br/>(evitar lockout - 30-60 min)"]
H --> I["Spray Round 2<br/>(senha: Janeiro2025!)"]
I --> G
G -->|Sim| J["Credencial Válida Obtida"]
J --> K["Acesso Inicial<br/>(T1078 - Valid Accounts)"]
K --> L["Reconhecimento Interno<br/>ou Movimento Lateral"]
```
---
## Exemplos de Uso
### APT29 (Cozy Bear) - Campanha contra Organizações Governamentais
O [[g0016-apt29|APT29]], grupo de espionagem ligado ao SVR russo, utilizou password spraying extensivamente contra agências governamentais e think tanks dos EUA e Europa. Em 2021, a NSA e CISA publicaram um advisory conjunto documentando o uso de `o365spray` e técnicas similares contra portais Office 365 de contratantes de defesa e agências federais. O [[g0016-apt29|APT29]] escolhia senhas como `Summer2021!` e `Welcome1` testando contra listas de e-mails corporativos obtidos via OSINT.
### HAFNIUM - Comprometimento de Servidores Exchange
O [[g0125-silk-typhoon|HAFNIUM]], atribuído ao MSS chinês, combinou password spraying com a exploração das vulnerabilidades ProxyLogon ([[cve-2021-26855|CVE-2021-26855]]) em servidores Microsoft Exchange. O grupo usou spraying como técnica complementar para comprometer contas de administrador com senhas fracas antes e depois da exploração das CVEs, consolidando acesso persistente.
### APT33 (Elfin) - Campanhas contra Energia e Aviação
O [[g0064-apt33|APT33]], vinculado ao Irã, é reconhecido pelo uso intensivo de password spraying contra empresas do setor de [[energy|energia]] e [[aviação|aviação]] no Oriente Médio e nos EUA. O grupo utilizou a ferramenta personalizada `RULER` para ataques contra Exchange e Office 365, testando senhas sazonais em ciclos cuidadosamente espaçados para evitar detecção.
### Lazarus Group - Ataques ao Setor Financeiro
O [[g0032-lazarus-group|Lazarus Group]], operação da Coreia do Norte, combinou password spraying com spearphishing em campanhas contra instituições [[financial|financeiras]] globais. Em ataques documentados contra bancos da Ásia e América Latina (incluindo o histórico ataque ao Banco Central de Bangladesh), o grupo usou spraying para comprometer contas de funcionários com acesso a sistemas SWIFT.
### Silent Librarian (TA407) - Campanhas contra Universidades
O [[g0122-silent-librarian|Silent Librarian]], grupo iraniano especializado em espionagem acadêmica, realizou campanhas massivas de password spraying contra universidades em mais de 30 países - incluindo Brasil, Argentina e Chile. O grupo criava páginas de login falsas para universidades específicas e complementava com spraying direto contra portais de e-mail institucionais.
---
## Detecção
A detecção de password spraying requer correlação de eventos de autenticação em múltiplas contas, não apenas análise por conta individual. A assinatura principal é: **muitas contas com falha de login única ou dupla no mesmo intervalo de tempo**, contrastando com padrões normais de falhas individuais repetidas.
### Sigma Rule - Detecção de Password Spraying via Event 4625
```yaml
title: Password Spraying via Multiple Account Failures
status: experimental
description: >
Detecta padrão de password spraying: múltiplas contas com falhas
de autenticação em curto intervalo de tempo, originadas de mesmo IP.
Diferencia de brute force simples pela baixa contagem por conta.
logsource:
category: authentication
product: windows
service: security
detection:
selection:
EventID: 4625
LogonType:
- 3
- 10
timeframe: 30m
condition: selection | count(TargetUserName) by IpAddress > 20
falsepositives:
- Sistemas de monitoramento de disponibilidade que testam múltiplas contas
- Scripts de automação mal configurados
level: high
tags:
- attack.credential_access
- attack.t1110.003
```
### Sigma Rule - Password Spraying contra Office 365 / Entra ID
```yaml
title: Azure AD Password Spraying - Distributed Failures
status: experimental
description: >
Detecta pattern de password spraying contra Azure AD / Entra ID:
múltiplas contas com falha AADSTS50126 (credenciais inválidas)
em curto período, especialmente de IPs de proxy.
logsource:
category: cloud
product: azure
service: signinlogs
detection:
selection:
ResultType: 50126
AuthenticationRequirement: singleFactorAuthentication
timeframe: 15m
condition: selection | count(UserPrincipalName) by IPAddress > 10
falsepositives:
- Usuários trocando de senha simultaneamente em migração
level: high
tags:
- attack.credential_access
- attack.t1110.003
```
### Sigma Rule - Kerberos Spraying (Baixa Visibilidade)
```yaml
title: Kerberos Password Spraying via AS-REP Failures
status: experimental
description: >
Detecta tentativas de password spraying via Kerberos (porta 88).
O EventID 4771 indica falha de pré-autenticação Kerberos -
gerado com muito menos frequência que 4625, por isso menos monitorado.
logsource:
category: authentication
product: windows
service: security
detection:
selection:
EventID: 4771
FailureCode: "0x18" # KDC_ERR_PREAUTH_FAILED - senha errada
timeframe: 10m
condition: selection | count(TargetUserName) > 15
falsepositives:
- Testes de autenticação legítimos em ambiente de homologação
level: high
tags:
- attack.credential_access
- attack.t1110.003
```
### Indicadores Comportamentais
- **Padrão de falhas distribuídas:** EventID 4625 aparece em muitas contas diferentes, cada uma com apenas 1-3 falhas, no mesmo período curto (10-30 minutos)
- **Horário atípico:** Tentativas concentradas fora do horário comercial, especialmente madrugada no fuso horário da vítima
- **IP geolocalização anômala:** Autenticações tentadas de países/regiões sem histórico para a organização
- **User-Agent suspeito:** Ferramentas de spraying muitas vezes usam user-agents genéricos ou específicos de ferramentas conhecidas (`python-requests`, `curl`, `MSOLSpray`)
- **Acesso bem-sucedido após série de falhas:** Uma conta com múltiplas falhas recentes seguida de login bem-sucedido - sinal claro de comprometimento por spraying
---
## Mitigação
| ID | Mitigação | Descrição |
|---|-----------|-----------|
| M1032 | [[m1032-multi-factor-authentication\|M1032 - Multi-factor Authentication]] | MFA é a mitigação mais eficaz - mesmo com senha correta, o adversário não consegue completar a autenticação. Priorizar MFA resistente a phishing (FIDO2/WebAuthn) para contas críticas. |
| M1027 | [[m1027-password-policies\|M1027 - Password Policies]] | Implementar políticas que impeçam o uso de senhas comuns e sazonais. Integrar com listas de senhas comprometidas (HIBP API). Comprimento mínimo de 12 caracteres com proibição de padrões previsíveis. |
| M1036 | [[m1036-account-use-policies\|M1036 - Account Use Policies]] | Configurar políticas de bloqueio inteligentes: bloqueio progressivo (não absoluto) com alertas para o usuário. Implementar "smart lockout" no Azure AD que distingue logins legítimos de ataques. |
### Controles Adicionais Recomendados
1. **Detecção baseada em comportamento:** Implementar soluções UEBA (User and Entity Behavior Analytics) que detectem padrões de spraying distribuído - correlacionando falhas em múltiplas contas da mesma origem.
2. **Acesso condicional com avaliação de risco:** Configurar políticas no Azure AD / Okta / Ping que bloqueiem ou elevem o nível de MFA para logins de IPs de risco, VPNs/proxies conhecidos e localizações incomuns.
3. **Monitoramento de protocolos legados:** Bloquear protocolos de autenticação legados (Basic Auth, NTLM) que não suportam MFA moderno e são frequentemente alvos de spraying.
4. **Honeypot accounts:** Criar contas "isca" com senhas comuns que nunca devem ter login bem-sucedido - qualquer autenticação bem-sucedida nestas contas indica ataque.
5. **Limitação de taxa na camada de rede:** Implementar raté limiting no WAF/firewall para endpoints de autenticação, especialmente portais web e OWA.
---
## Contexto Brasil/LATAM
> [!warning] Cenário Regional
> Password spraying é amplamente utilizado contra organizações brasileiras, especialmente no setor financeiro, governo e telecomúnicações. A combinação de alta digitalização e baixa adoção de MFA em sistemas legados cria superfície de ataque significativa.
### Panorama Brasileiro
**Baixa adoção de MFA em sistemas críticos:** Apesar do avanço do PIX e da digitalização do setor [[financial|financeiro]] brasileiro, muitas organizações - especialmente médias empresas e órgãos governamentais estaduais e municipais - ainda operam sistemas de autenticação baseados apenas em senha, sem MFA. Isso cria uma superfície de ataque ampla para password spraying.
**Senhas sazonais em português:** Ataques direcionados ao Brasil frequentemente incluem senhas adaptadas ao contexto cultural: `Carnaval2024!`, `Junho2025!`, `Brasil2026!`, `Governo@2025`. Listas de wordlists especializadas para LATAM circulam em fóruns clandestinos.
**Ataques ao setor governamental:** O [[cert-br|CERT.br]] registrou múltiplos incidentes de password spraying contra sistemas de autenticação de órgãos federais e estaduais brasileiros, principalmente via portais VPN e webmail institucional. Muitos destes sistemas usam Active Directory com políticas de lockout não configuradas adequadamente.
**Infraestrutura cloud sem MFA:** A adoção acelerada de Microsoft 365 e Google Workspace por empresas brasileiras durante e após a pandemia criou uma jánela de vulnerabilidade: muitas organizações migraram sem implementar MFA obrigatório, deixando contas expostas a spraying.
**Campanha Silent Librarian na América Latina:** O grupo [[g0122-silent-librarian|Silent Librarian]] (TA407) realizou campanhas documentadas contra universidades brasileiras, argentinas e chilenas, utilizando password spraying contra portais de e-mail universitário `.edu.br` e `.edu.ar`. O objetivo era roubo de propriedade intelectual e pesquisa acadêmica de interesse estratégico iraniano.
**Ransomware groups e IABs:** Grupos de ransomware como [[lockbit|LockBit]] e [[blackcat|ALPHV]] frequentemente adquirem acesso inicial de Initial Access Brokers (IABs) que utilizam password spraying como método primário para comprometer organizações brasileiras e vender o acesso.
### Recomendações Específicas para o Contexto Brasileiro
- Empresas usando sistemas legados da [[totvs|TOTVS]], SAP ou Oracle devem verificar se estes suportam MFA e autenticação moderna
- Organizações com portais de acesso remoto (Citrix, VMware Horizon) devem implementar controles específicos de raté limiting e anomalia de autenticação
- O uso do certificado digital (ICP-Brasil) para autenticação forte é recomendado para sistemas governamentais - substitui senha simples por criptografia assimétrica
---
## Referências
- [MITRE ATT&CK - T1110.003](https://attack.mitre.org/techniques/T1110/003)
- [CISA - Advisory sobre Password Spraying (AA21-336A)](https://www.cisa.gov/news-events/cybersecurity-advisories/aa21-336a)
- [Microsoft - Como o Azure AD Smart Lockout protege contra spraying](https://learn.microsoft.com/en-us/entra/identity/authentication/howto-password-smart-lockout)
- [NSA/CISA - APT29 Password Spraying Advisory](https://media.defense.gov/2021/Apr/15/2002621240/-1/-1/0/CSA_SVR_TARGETS_US_ALLIES_UOO13234021.PDF/CSA_SVR_TARGETS_US_ALLIES_UOO13234021.PDF)
- [Mandiant - UNC2452 (APT29) TTPs](https://www.mandiant.com/resources/blog/unc2452-merged-into-apt29)
- [CERT.br - Relatório de Incidentes 2024](https://www.cert.br/stats/)
**Técnicas relacionadas:**
- [[t1110-brute-force|T1110 - Brute Force]] (técnica pai)
- [[t1110-002-password-cracking|T1110.002 - Password Cracking]]
- [[t1110-001-password-guessing|T1110.001 - Password Guessing]]
- [[t1078-valid-accounts|T1078 - Valid Accounts]]
- [[t1589-001-credentials|T1589.001 - Credentials]] (reconhecimento de credenciais)
- [[t1021-remote-services|T1021 - Remote Services]]
- [[m1032-multi-factor-authentication|M1032 - Multi-factor Authentication]]
**Software associado:**
- [[s0488-crackmapexec|CrackMapExec]] - framework de post-exploitation com módulo de spraying
- [[s0413-mailsniper|MailSniper]] - ferramenta PowerShell para spraying em Exchange/O365
---
*Fonte: [MITRE ATT&CK - T1110.003](https://attack.mitre.org/techniques/T1110/003) · Versão 16.2*