# DC0002 - User Account Authentication
## Descrição
User Account Authentication registra tentativas de autenticação de usuários, serviços e aplicações, incluindo tanto tentativas bem-sucedidas quanto falhas. Abrange autenticação via senha, tokens, MFA e válidação biométrica em sistemas locais, de rede e ambientes cloud. Este data component é fundamental para detectar ataques de credential stuffing, brute force, uso indevido de credenciais válidas e movimentação lateral via autenticação remota.
### Pipeline de Detecção
```mermaid
graph TB
A["📥 Fonte de Dados<br/>Win EID 4624/4625/4771<br/>Azure AD Sign-in Logs"] --> B["🔄 Coleta<br/>WEF / Azure Monitor<br/>CloudTrail"]
B --> C["📊 Normalização<br/>Tipo de logon, IP origem,<br/>status, conta"]
C --> D["🔍 Correlação<br/>Falhas sequenciais,<br/>horários atípicos, GeoIP"]
D --> E["⚠️ Regras de Detecção<br/>Brute force threshold,<br/>Impossible travel"]
E --> F["🚨 Alerta<br/>SOC Tier 1 - Triagem"]
F --> G["📋 Resposta<br/>Bloqueio de conta +<br/>Reset de credenciais"]
classDef source fill:#3498db,stroke:#2c3e50,color:#ecf0f1
classDef process fill:#2ecc71,stroke:#2c3e50,color:#ecf0f1
classDef alert fill:#e74c3c,stroke:#2c3e50,color:#ecf0f1
class A source
class B,C,D process
class E,F,G alert
```
## Fonte de Dados
Parent: [[ds0002-user-account|DS0002 - User Account]]
## O Que Monitorar
- Windows Event ID 4624 (logon bem-sucedido) e 4625 (falha de logon)
- Windows Event ID 4648 (logon com credenciais explicitas)
- Windows Event ID 4771 (falha de pre-autenticação Kerberos)
- Múltiplas falhas de autenticação em curto período (brute force)
- Autenticações fora do horário comercial ou de IPs incomuns
- Uso de Pass-the-Hash (logon tipo 3 sem senha digitada)
- Autenticações de contas de serviço em workstations comuns
## Técnicas Detectadas
| Técnica | ID | Como Detectar |
|---------|-----|---------------|
| Valid Accounts | [[t1078-valid-accounts\|T1078]] | Logons legítimos em horários/locais atípicos |
| Brute Force | [[t1110-brute-force\|T1110]] | Múltiplas falhas 4625 seguidas de sucesso 4624 |
| Use Alternate Authentication Material | [[t1550-use-alternate-authentication-material\|T1550]] | Logon Tipo 9/Pass-the-Hash sem senha |
| Modify Authentication Process | [[t1556-modify-authentication-process\|T1556]] | Modificação em providers de autenticação |
| Remote Services | [[t1021-remote-services\|T1021]] | Autenticações RDP/SMB/WinRM entre hosts internos |
## Implementação
**Windows Event Log:** Habilitar `Audit Logon Events` e `Audit Account Logon Events` em Advanced Audit Policy. Garantir cobertura em Domain Controllers para eventos Kerberos.
**SIEM - detecção de brute force (Splunk):**
```
index=windows EventCode=4625
| stats count by src_ip, user
| where count > 10
```
**Active Directory:** Monitorar via Microsoft Defender for Identity (MDI) para detecção de Pass-the-Hash, Pass-the-Ticket e Kerberoasting. Exportar logs de DC para SIEM em tempo real.
**Cloud:** Azure AD Sign-in logs, AWS CloudTrail `ConsoleLogin`, GCP Cloud Audit Logs `data_access`.
**Ferramentas:** Microsoft Defender for Identity, Splunk Enterprise Security, Elastic SIEM, CrowdStrike Falcon Identity Protection.
## Detecção KQL (Microsoft Sentinel / Defender)
```kql
// Brute force - múltiplas falhas seguidas de sucesso
let failures = SecurityEvent
| where EventID == 4625
| summarize FailCount = count() by TargetAccount, IpAddress, bin(TimeGenerated, 5m)
| where FailCount > 10;
let successes = SecurityEvent
| where EventID == 4624
| project TargetAccount, IpAddress, TimeGenerated;
failures
| join kind=inner successes on TargetAccount, IpAddress
| where TimeGenerated1 > TimeGenerated
| project TargetAccount, IpAddress, FailCount, SuccessTime = TimeGenerated1
```
```kql
// Logon em horário atípico (fora do expediente)
SigninLogs
| where TimeGenerated between (datetime(00:00) .. datetime(06:00))
or TimeGenerated between (datetime(22:00) .. datetime(23:59))
| where ResultType == 0
| project TimeGenerated, UserPrincipalName, IPAddress, Location, AppDisplayName
```
## Contexto LATAM
> [!latam] Relevância Regional
> Autenticação é o vetor de ataque mais explorado contra organizações brasileiras, com credential stuffing e brute force representando parcela significativa dos incidentes reportados ao CERT.br. A adoção massiva de Azure AD / Entra ID no setor financeiro e governamental brasileiro torna os Sign-in Logs uma fonte crítica. Muitas empresas de médio porte ainda não implementaram MFA de forma abrangente.
> - Adoção em SOCs brasileiros: **alto**
> - Ferramentas comuns: Microsoft Defender for Identity, Wazuh (correlação de Event Logs), Azure Sentinel, Elastic SIEM
> - Desafios: baixa adoção de MFA em setores fora do financeiro; logs de autenticação fragmentados entre AD on-premises e cloud; dificuldade de correlação de eventos entre múltiplos IdPs (ADFS, Azure AD, Okta)