Skip to content
Go back

Utilizadores Inexistentes em Logs de Autenticação

Published:  at  10:00 AM

Utilizadores Inexistentes em Logs de Autenticação

Uma das atividades de monitoramento mais importantes em um tenant Microsoft Entra ID (anteriormente Azure AD) é a detecção de tentativas de autenticação para contas que não existem. Este comportamento frequentemente indica reconhecimento ativo (reconnaissance) ou ataques de password spray contra sua organização.

Por que Monitorar Tentativas de Login para Utilizadores Inexistentes?

Atacantes frequentemente tentam autenticar-se utilizando:

  1. Listas de email baseadas em padrões comuns (nome.sobrenome@seudominio.com)
  2. Dados vazados de outras fontes
  3. Técnicas de engenharia social para descobrir usernames válidos
  4. Métodos automatizados para tentar variações de nomes comuns

Quando estas tentativas aparecem em seus logs, mesmo sendo falhas, representam uma fase ativa de reconhecimento que pode preceder ataques mais focados.

Identificando Estas Tentativas Via Microsoft Graph API

Podemos utilizar a Microsoft Graph API para consultar o log de auditoria de sign-in e identificar tentativas para utilizadores inexistentes. O principal indicador é o erro com código 50034, que especificamente indica: “O utilizador não existe no diretório”.

Consulta via Microsoft Graph

# Configurar conexão com o Graph
Connect-MgGraph -Scopes "AuditLog.Read.All"

# Definir período de busca (últimos 30 dias)
$startDate = (Get-Date).AddDays(-30).ToString("yyyy-MM-dd")
$today = Get-Date -Format "yyyy-MM-dd"

# Consultar sign-ins com erro de usuário inexistente (código 50034)
$filter = "createdDateTime ge $startDate and status/errorCode eq 50034"

# Executar consulta
$nonExistentUserSignIns = Get-MgAuditLogSignIn -Filter $filter -All

# Analisar resultados
$nonExistentUserSignIns | 
    Select-Object CreatedDateTime, 
                 UserPrincipalName, 
                 IpAddress, 
                 Location, 
                 ClientAppUsed, 
                 @{Name="ErrorCode"; Expression={$_.Status.ErrorCode}}, 
                 @{Name="FailureReason"; Expression={$_.Status.FailureReason}} |
    Sort-Object CreatedDateTime -Descending |
    Format-Table -AutoSize

Consulta Equivalente no Portal Azure

No portal Azure, você pode usar o Log Analytics para consultar estes eventos:

SigninLogs
| where TimeGenerated > ago(30d)
| where ResultType == 50034
| project TimeGenerated, UserPrincipalName, IPAddress, Location, ClientAppUsed, ResultType, ResultDescription
| order by TimeGenerated desc

Padrões a Observar

Durante a análise, preste atenção a estes padrões que indicam atividade maliciosa:

  1. Múltiplas tentativas de IPs similares: Geralmente indicam ataques automatizados
  2. Tentativas sequenciais com padrões de nomenclatura: Por exemplo, teste1@empresa.com, teste2@empresa.com, etc.
  3. Horários não comerciais: Ataques frequentemente ocorrem fora do horário comercial para evitar detecção
  4. Localizações geográficas incomuns: Especialmente de países onde sua empresa não opera
  5. Alta concentração em curto período: Picos de tentativas em janelas curtas de tempo
  6. Utilização de aplicativos específicos: Ataques automatizados usam frequentemente o user-agent “AADSTS”

Resposta e Mitigação

Ao identificar estes padrões, recomendamos as seguintes ações:

Ações Imediatas

  1. Implementar políticas de acesso condicional para bloquear IPs suspeitos
  2. Ativar proteção contra password spray no Identity Protection
  3. Configurar alertas automáticos para aumentos repentinos nestas tentativas
  4. Bloquear protocolos legados que não suportam autenticação moderna

Melhorias de Segurança de Longo Prazo

  1. Implementação completa de MFA para todos os usuários
  2. Smart Lockout para limitar tentativas de autenticação
  3. Rever políticas de senha e implementar SSPR (Self-Service Password Reset)
  4. Considerar soluções CASB (Cloud Access Security Broker) para análise avançada
  5. Implementar proteção baseada em risco com Identity Protection

Monitoramento Contínuo e Resposta a Incidentes

Para estabelecer um processo contínuo:

  1. Crie um workbook no Azure Monitor para visualizar estas tentativas
  2. Estabeleça limites de baseline para sua organização e crie alertas
  3. Integre estes alertas com sua solução SIEM existente
  4. Desenvolva runbooks para resposta a incidentes relacionados
  5. Documente e revise tendências periodicamente

Exemplo de Workbook para Monitoramento

Você pode criar um workbook no Azure Monitor para visualizar geograficamente as tentativas de autenticação para usuários inexistentes:

SigninLogs
| where TimeGenerated > ago(30d)
| where ResultType == 50034
| summarize count() by bin(TimeGenerated, 1d), Country
| render columnchart

Outra visualização útil é um mapa de calor dos IPs mais ativos:

SigninLogs
| where TimeGenerated > ago(30d)
| where ResultType == 50034
| summarize AttemptCount=count() by IPAddress
| sort by AttemptCount desc
| limit 100

Conclusão

O monitoramento proativo de tentativas de autenticação para utilizadores inexistentes é uma estratégia crucial de detecção precoce. Estas tentativas muitas vezes representam a fase inicial de reconhecimento antes de ataques mais focados. Combinando monitoramento contínuo, alertas automatizados e medidas preventivas como MFA, sua organização pode reduzir significativamente o risco de comprometimento de identidades, mesmo antes que os atacantes encontrem contas válidas para atacar.


Suggest Changes

Next Post
Utilizadores Capazes de SSPR