
Objetivo
Esse documento tem como objetivo identificar quando uma conta de usuário é bloqueada e desbloqueada no AD.
Há uma diferença entre conta de usuário desabilitada/habilitada e conta de usuário bloqueada/desbloqueada. Uma conta desabilitada/habilitada é quando o administrador realiza a operação. Uma conta bloqueada/desbloqueada é quando a política de bloqueio de conta realiza a operação, no momento em que o usuário erra a senha pelo número de tentativas configurado na política de senha.
Esses eventos são gerados no domain contoller que a ação foi processada. Por isso, antes de realizar a análise verifique com o cliente o site que ele se encontra, pois torna mais fácil a busca. Também há outras formas de realizar a pesquisa do evento em todos os domain controllers ao mesmo tempo, como por exemplo o cmdlet Get-WinEvent.
Abaixo um exemplo de um script que pode ser utilizado, no meu caso possuo os domain controllers DC2016 e DC201602, altere o nome desses servidores para os que pretende realizar a busca.
# Lista dos Domain Controllers, altere para os de sua rede.
$DCs = @("DC2016", "DC201602")
# IDs de evento que desejamos buscar
$EventIDs = 4740, 4625, 4767
foreach ($DC in $DCs) {
Write-Host "`nColetando eventos no servidor: $DC" -ForegroundColor Cyan
try {
$logs = Get-WinEvent -ComputerName $DC -FilterHashtable @{
LogName = 'Security'
Id = $EventIDs
}
if ($logs.Count -eq 0) {
Write-Host "Nenhum evento encontrado no DC: $DC" -ForegroundColor Yellow
}
else {
$logs | Select-Object TimeCreated, Id, LevelDisplayName, Message, MachineName |
Sort-Object TimeCreated |
Format-Table -AutoSize
}
}
catch {
Write-Host "Erro ao consultar ${DC}:" -ForegroundColor Red
Write-Host $_ -ForegroundColor DarkRed
}
}Pré-requisitos:
É necessário que a auditoria de gerenciamento de objetos esteja habilitada no servidor, seja através de GPO ou diretiva local (servidores em WORKGROUP), para verificar esse pré-requisito consultar o post Verificação de Auditoria – GPO e WORKGROUP
Procedimento – Verificação de políticas de bloqueio de conta
Por padrão os administradores configuram as políticas de bloqueio de conta na GPO Default Domain Policy, que também é uma recomendação da Microsoft. A política de bloqueio de conta fica localizada no caminho Computer Configuration\Policies\Windows Settings\Secutiry Settings\Account Policies\Accoung Lockout Policy.
Obs: Abortaremos a Fine Grained Password Policies em um outro post.

As configurações de bloqueio de conta podem ser definidas através de três diretivas:
- Account lockout duration: Esta configuração de segurança determina quantos minutos uma conta bloqueada permanece bloqueada antes de ser desbloqueada automaticamente. O valor pode ser definido entre 0 minutos e 99.999 minutos. Se o valor for definido como 0, a conta não será desbloqueada automaticamente. O administrador deve desbloquear a conta explicitamente;
- Account lockout threshold: Essa configuração de segurança determina o número de tentativas de logon com falha permitidas antes que uma conta de usuário seja bloqueada. Por exemplo, se um invasor inserir uma senha errada pela primeira vez, o atributo badPwdCount do objeto de usuário será definido como 1. Quando o invasor continuar a inserir senhas erradas, o badPwdCount será incrementado em 1 até atingir o valor limite de bloqueio de conta, momento em que a conta é bloqueada. Uma conta bloqueada não pode ser usada para fazer logon até que o período de bloqueio da conta expire ou um administrador desbloqueie explicitamente a conta;
- Reset account lockout counter after: Essa configuração de segurança determina o número de minutos que devem decorrer, após uma tentativa de logon com falha, para que o contador de logon com falha seja definido como 0. O valor pode ser definido entre 1 e 99.999 minutos. Se o “Account Lockout Threshold” estiver definido, o valor de “Reset account lockout counter after” deverá ser menor ou igual à duração do Limite de bloqueio;
Neste caso desse exemplo, a conta será bloqueada após três tentativas invalidas de senha.
Procedimento – Identificar conta bloqueada
Iremos simular o bloqueio de conta do usuário Sanji. Nas propriedades da conta do usuário no AD é possível visualizar o status da conta, que nesse momento não está bloqueada.

O teste será realizado em um servidor de nome SERVER1, conforme imagem abaixo o servidor está no domínio e logado com o usuário administrator.

O teste será realizado em um servidor de nome SERVER1, conforme imagem abaixo o servidor está no domínio e logado com o usuário administrator.
Realizamos logoff do servidor e tentamos logar com o usuário sanji e inserimos a senha errada.


Após repetir o processo de inserir a senha errada do usuário sanji por três vezes a conta foi bloqueada no AD.

Realize logon no Domain Controlle e execute o Event Viewer, navegue até Windows Logs\Security. Clique com o botão direito em Security e selecione Filter Current Log…

No campo Include/Excludes Event IDs informe o ID do evento que neste é 4740. Clique em OK.

O evento 4740 é filtrado. Procure o horário aproximado que o cliente reportou a solicitação e abra o evento.

Verifique que o evento registra o bloqueio da conta do usuário. Em Subject é o DC que realizou o bloqueio da conta, o usuário SYSTEM é informado devido a ser uma ação do próprio AD, em Account That Was Locket Out é o usuário que sofreu a ação de conta bloqueada, em Additional Information é informado o computador de origem onde a conta do usuário foi bloqueada.
Fique atento a informação em Additional Information, pois caso seja um computador onde o usuário não possui acesso pode ser um ataque de tentativa de quebra de senha. Se for o próprio computador do usuário, verifique se ele não armazenou a senha em cache em algum aplicativo, é comum ocorrerem bloqueios após o usuário alterar a senha. Neste caso recomendamos excluir as senhas armazenadas em cache no Gerenciador de Credenciais do Painel de Controle, unidades mapeadas manualmente, etc.

Vejam que nas propriedades da conta do usuário no AD o status foi alterado e agora a conta do usuário está bloqueada.

Também é possível identificar o evento de bloqueio no próprio servidor ou estação de trabalho que a conta foi bloqueada. Para isso realize logon no servidor/estação de trabalho com uma conta que possui permissões administrativas e abra o Even Viewer e realize um filtro procurando pelo ID de evento 4625.

Foram gerados 4 eventos.

O primeiro, segundo e terceiro evento são informadas as tentativas sem sucesso de acesso com a senha errada.

No quarto evento é registrado que a conta foi bloqueada após tentativas invalidas de senha.

Procedimento – Identificar conta desbloqueada
Iremos simular o desbloqueio de conta do usuário Sanji. Nas propriedades da conta do usuário no AD é possível visualizar o status da conta, que nesse momento está bloqueada. Para desbloquear a conta marque a caixa Unlock account e clique em OK.

Verifique que a conta está desbloqueada.

No DC da rede, realize um novo filtro no Event Viewer pelo ID 4767.

O evento 4767 é filtrado. Procure o horário aproximado que o cliente reportou a solicitação e abra o evento.

Neste caso o usuário administrator conseguiu desbloquear a conta do usuário Sanji com sucesso. Em Subject é o usuário que realizou a ação, em Target Account é o usuário que sofreu a ação.

Após nova tentativa de acesso com a conta do usuário inserindo a senha correto o logon é realizado com sucesso.


Concluímos que através desses procedimentos é possível identificar em qual servidor/estação de trabalho a conta do usuário foi bloqueada e qual a conta de administrador realizou o desbloqueio.