Auditoria adição e remoção de usuário em grupos de domínio

Objetivo

Esse post tem como objetivo identificar o usuário que realizou a adição ou remoção de usuários a grupos no Active Directory.

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 = 4737, 4728, 4735, 4732, 4755, 4756, 4729, 4733, 4757

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
    }
}

Escopo do grupo

Cada grupo tem um escopo que identifica até que ponto o grupo é aplicado à árvore de domínio ou à floresta. O escopo de um grupo define o local em que as permissões de rede podem ser concedidas para o grupo. O Active Directory define os três seguintes escopos de grupo: Universal, Global e Local de Domínio. Para mais informações sobre escopo de grupos consultar o KB da Microsoft https://learn.microsoft.com/pt-br/windows-server/identity/ad-ds/manage/understand-security-groups  

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 – Adicionando usuário ao grupo

Os eventos de adição e remoção de usuários a grupos são diferentes para cada escopo em específico. São gerados dois eventos seguidos, um de alteração de grupo e outro de adição do usuário ao grupo.

Grupo Global: Gera os eventos 4737, 4728;
Grupo Local: Gera os eventos 4735, 4732;
Grupo Universal: Gera os eventos 4755, 4756;

Foram criados três grupos, cada um em seu respectivo escopo.

Global1
Local1
Universal1

O usuário Brook foi adicionado ao grupo global Global1

O usuário Jinbei foi adicionado ao grupo de domínio local Local1

O usuário Nami foi adicionado ao grupo universal Universal1

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 os IDs dos eventos que neste caso serão 4737, 4728, 4735, 4732, 4755 e 4756. Os eventos devem ser separados por vírgula. Clique em OK.

Os eventos serão filtrados. Procure o horário aproximado que o cliente reportou a solicitação e abra o evento.

Verifiquem que são gerados dois eventos seguidos, um de alteração de grupo e outro de adição do usuário ao grupo.

Eventos de alteração de grupo e do usuário Brook adicionado ao grupo global Global1

Eventos de alteração de grupo e do usuário Jinbei adicionado ao grupo de domínio local Local1

Eventos de alteração de grupo e do usuário Nami adicionado ao grupo universal Universal1

Procedimento – Removendo usuário do grupo

Os eventos de adição e remoção de usuários a grupos são diferentes para cada escopo em específico. São gerados dois eventos seguidos, um de alteração de grupo e outro de adição do usuário ao grupo.

Tipos de eventos para remoção de usuário ao respectivo grupo de acordo com seu escopo. São gerados dois eventos seguidos, um de alteração de grupo e outro de remoção do usuário ao grupo.

Grupo Global: Gera os eventos 4737, 4729;
Grupo Local: Gera os eventos 4735, 4733;
Grupo Universal: Gera os eventos 4755, 4757;

Usuário Brook removido do grupo global Global1

Usuário Jinbei removido do grupo de domínio local Local1

Usuário Nami removido do grupo universal Universal1

Realize o filtro para os seguintes eventos 4737, 4729, 4735, 4733, 4755 e 4757.

São gerados dois eventos seguidos, um de alteração de grupo e outro de remoção do usuário ao grupo.

Eventos de alteração de grupo e do usuário Brook sendo removido do grupo global Global1

Eventos de alteração de grupo e do usuário Jimbei sendo removido do grupo de domínio local Local1

Eventos de alteração de grupo e do usuário Nami sendo removido do grupo universal Universal1

Concluímos que através desses procedimentos é possível identificar um usuário que adicionou ou removeu um usuário de um grupo no Active Directory com sucesso.