MDstable
NoteSnippetChecklistPlaybook

Active Directory — Bases et structure

Comprendre la structure AD, les objets, OU, et les commandes essentielles

notebeginner 2025-05-10 3 min read
active-directoryADwindowsLDAPforestdomainOU

Structure hiérarchique

Forest corplan
Domain corplan
Tree subcorplan
Domain Controllers DC
Organizational Units OU
OUUsers
OUIT
OUFinance
OUComputers
OUGroups
OUServiceAccounts

Objets AD

| Objet | Description | |-----------------|------------------------------------------------| | User | Compte utilisateur | | Computer | Compte machine joint au domaine | | Group | Regroupement d'objets (sécurité ou distribution)| | OU | Conteneur pour organiser les objets | | GPO | Politique de groupe liée à une OU | | Service Account | Compte pour les services applicatifs | | gMSA | Group Managed Service Account (auto-rotation) |

Types de groupes

| Type | Portée | Usage | |--------------|-----------------|------------------------------------------------| | Domain Local | Domaine local | Assigner des permissions locales | | Global | Forêt entière | Regrouper des utilisateurs du même domaine | | Universal | Forêt entière | Regrouper des objets de plusieurs domaines |

Bonnes pratiques AGDLP

Accounts Global Groups Domain Local Groups Permissions

Mettre les Users dans des Global Groups, les Global Groups dans des Domain Local Groups, assigner les permissions aux Domain Local Groups.

Commandes essentielles (net)

cmd
Variables
{{USER}}
{{TARGET_DOMAIN}}
# Infos domaine
net user /domain
net group /domain
net localgroup Administrators
# Utilisateur spécifique
net user {{USER}} /domain
# Ajouter au domaine (join)
netdom join %COMPUTERNAME% /domain:{{TARGET_DOMAIN}} /userd:admin /passwordd:*

PowerShell AD (module RSAT)

powershell
Variables
{{USER}}
# Installer le module
Install-WindowsFeature RSAT-AD-PowerShell
Import-Module ActiveDirectory
# Utilisateurs
Get-ADUser {{USER}} -Properties *
Get-ADUser -Filter {Department -eq "IT"} -Properties Department, Title
Get-ADUser -Filter {Enabled -eq $true} | Select Name, SamAccountName
# Groupes
Get-ADGroup -Filter * | Where-Object {$_.GroupScope -eq "DomainLocal"}
Get-ADGroupMember "Domain Admins" | Select Name, SamAccountName
# Ordinateurs
Get-ADComputer -Filter * -Properties LastLogonDate |
Where-Object {$_.LastLogonDate -lt (Get-Date).AddDays(-90)} |
Select Name, LastLogonDate # comptes inactifs
# OUs
Get-ADOrganizationalUnit -Filter * | Select Name, DistinguishedName
# Forêt et domaine
Get-ADForest
Get-ADDomain
Get-ADDomainController -Filter *

Distinguished Name (DN)

CNJohn DoeOUITOUUsersDCcorpDClan
CN Common Name nom de lobjet
OU Organizational Unit
DC Domain Component chaque partie du domaine
Exemples
CNAdministratorCNUsersDCcorpDClan
CNWeb ServersOUComputersDCcorpDClan
OUFinanceOUUsersDCcorpDClan

Trusts (relations d'approbation)

powershell
# Voir les trusts
Get-ADTrust -Filter *
nltest /domain_trusts
# Types de trust
# - Parent/Child : automatique dans la même forêt
# - Forest Trust : entre deux forêts
# - External : domaine hors forêt
# - Shortcut : raccourci dans une forêt complexe

FSMO Roles

powershell
# Voir les détenteurs de rôles FSMO
netdom query fsmo
# Les 5 rôles :
# - Schema Master (1 par forêt)
# - Domain Naming Master (1 par forêt)
# - PDC Emulator (1 par domaine)
# - RID Master (1 par domaine)
# - Infrastructure Master (1 par domaine)

Replication AD

powershell
# Vérifier la réplication
repadmin /showrepl
repadmin /replsummary
# Forcer une réplication
repadmin /syncall /AdeP
# Diagnostics
dcdiag /test:replications
dcdiag /test:netlogon
💡 Tip —

Les comptes inactifs et les groupes imbriqués sont les premières cibles lors d'un pentest AD. Faire un audit régulier avec Get-ADUser -Filter {LastLogonDate -lt ...} et Get-ADGroupMember récursif sur les groupes privilégiés.

OPS·BRAIN v1.09 notes · SysAdminlocal