Active Directory – Cybersecurity Hygiene

Twee weken geleden had ik het over Cybersecurity hygiëne in mijn blog, deze week wil ik jullie een aantal simpele handvaten geven om te kijken hoe het gesteld is met Active Directory binnen jouw organisatie. 

Onderstaande commando’s kunnen binnen powershell gebruikt worden om de stand van zaken binnen jouw organisatie te beoordelen. Afhankelijk van je omgeving kan het noodzakelijk zijn dat je de remote server administration tools nodig hebt. Via deze linkkan je ze downloaden voor Windows 10.

Start powershell op je computer en laad de module voor Active Directory in doormiddel van onderstaand commando:

Import-Module ActiveDirectory

Hierna kan je onderstaande powershell query’s gebruiken.

Accounts met niet verlopende wachtwoorden

De eerste query toont het aantal actieve accounts met een niet verlopend wachtwoord: 

get-aduser -filter ‘enabled -eq $true -and passwordNeverExpires -eq $true’ | Select-Object SamAccountName | Measure-Object | Select-Object Count

De tweede query toont de betreffende accounts:

get-aduser -filter ‘enabled -eq $true -and passwordNeverExpires -eq $true’ | Select-Object SamAccountName

Disabled accounts

De eerste query toont het aantal gedeactiveerde accounts: 

get-aduser -filter ‘enabled -eq $false’ | Select-Object -expand SamAccountName | Measure-Object | Select-Object Count

De tweede query toont de betreffende accounts:

get-aduser -filter ‘enabled -eq $false’ | Select-Object SamAccountName

Accounts met wachtwoord ouder dan één jaar

De eerste query toont het aantal actieve accounts met een wachtwoord ouder dan één jaar

Get-ADUser -filter ‘enabled -eq $true’ -Properties PasswordLastSet | Where-Object {$_.PasswordLastSet -lt (Get-Date).adddays(-365)}  | Select-Object SamAccountName | Measure-Object | Select-Object Count

De tweede query toont de betreffende accounts:

Get-ADUser -filter ‘enabled -eq $true’ -Properties PasswordLastSet | Where-Object {$_.PasswordLastSet -lt (Get-Date).adddays(-365)}  | select-object SamAccountName, PasswordLastSet

Accounts waar geen wachtwoord eisen toegepast worden

De eerste query toont het aantal actieve accounts waarvan er geen eisen gesteld worden aan het wachtwoord:

Get-ADUser -Filter ‘useraccountcontrol -band 32’ -Properties passwordnotrequired | Select-Object SamAccountName | Measure-Object | Select-Object  Count

De twee query toont de betreffende accounts:

Get-ADUser -Filter ‘useraccountcontrol -band 32’ -Properties passwordnotrequired | Select-Object  SamAccountName, PasswordNotRequired

Overzicht van de leden van groepen die verhoogde privileges toekennen

De eerste query toont de leden van de “Administrators” groep.

Get-ADGroupMember “Administrators” | select name

De tweede query toont de leden van de “Domain Administrators” groep.

Get-ADGroupMember “Domain Admins” | select name

De derde query toont de leden van de “Enterprise Administrators” groep.

Get-ADGroupMember “Enterprise Admins” | select name

De vierde query toont de leden van de “Schema Administrators” groep.

Get-ADGroupMember “Schema Admins” | select name

Structurele oplossing?

Wil je liever niet handmatig met powershell aan de gang of structureel grip krijgen en houden op active directory, neem contact met ons op voor de mogelijkheden.

Auteur:Maikel Roolvink

Manager Security Operations