Auditando eventos do Active Directory – Parte 1

Ao iniciar uma auditoria em redes e servidores, é muito importante está atento aos eventos criados. Esses eventos podem ser tanto modificação de dados de um usuário quanto a criação de uma GPO. Esse tipo de informação é muito útil quando se tem mais de um administrador da infraestrutura ou quando há indícios de problema de segurança.

Alguns dos comandos usando o Power Shell que podem auxiliar nessa auditoria são:

Obs: Comandos testados no Windows 2012 R2 e Windows 2025 preview

# Listando Todos os usuários, emails e data de crianção.

Import-Module ActiveDirectory

Get-ADUser -Filter * -Property DisplayName, EmailAddress, WhenCreated | Select-Object ` @{Name=”Nome Completo”; Expression={$_.DisplayName}}, @{Name=”E-mail”; Expression={$_.EmailAddress}}, @{Name=”Data e Hora de Criação”; Expression={$_.WhenCreated}} | Format-Table -AutoSize

# Listando apenas usuários do grupo de administradores

Get-ADGroupMember -Identity “Administrators” -Recursive | Where-Object { $_.ObjectClass -eq “user” } | Select-Object Name, SamAccountName
# Listar o último usuário criado e marcado como senha nunca expira.

Get-ADUser -Filter * -Property Name, PasswordNeverExpires | Where-Object { $_.PasswordNeverExpires -eq $true } | Select-Object Name, SamAccountName

# Mostrar a lista de usuários que devem trocar a senha no próximo logon.

Get-ADUser -Filter * -Property Name, PasswordLastSet, pwdLastSet | Where-Object { $_.PasswordLastSet -eq 0 } | Select-Object Name, SamAccountName

# Mostrar apenas usuários desabilitados.

Get-ADUser -Filter 'Enabled -eq $false' -Property Name | Select-Object Name, SamAccountName

# Listando o último usuário criado.

Get-ADUser -Filter * -Property Name, whenCreated | Sort-Object whenCreated -Descending | Select-Object -First 1 Name, SamAccountName, whenCreated

# Listando quem criou o último usuário. Obs: Esse comando pode demorar muito para mostrar o resultado.

Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4720 } | Sort-Object TimeCreated -Descending | Select-Object -First 1 -Property TimeCreated, Message

# Mostrar a último OU criada.

Get-ADOrganizationalUnit -Filter * -Property Name, whenCreated | Sort-Object whenCreated -Descending | Select-Object -First 1 Name, DistinguishedName, whenCreated

# Mostrando quem criou a última OU.

Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4741 } | Sort-Object TimeCreated -Descending | Select-Object -First 1 TimeCreated, Message

# Listando a última GPO criada.

Get-GPO -All | Sort-Object CreationTime -Descending | Select-Object -First 1 DisplayName, Owner, CreationTime

# Listando a última GPO modificada.

Get-GPO -All | Sort-Object ModificationTime -Descending | Select-Object -First 1 DisplayName, Owner, ModificationTime

# Listando os ultimos arquivos modificados

Get-ChildItem -Path “C:\Users\” -File -Recurse | Sort-Object LastWriteTime -Descending | Select-Object -First 10


Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *