Aller au contenu

Arbre de décision d'investigation Active Directory

L’arbre de décision d’investigation Active Directory structure le raisonnement analytique pour transformer un flux brut d’événements de sécurité en un diagnostic forensique précis.

Il s’articule autour de 4 bifurcations clés :

  1. Bifurcation 1 : l’autorité d’authentification (Local vs Domaine).
  2. Bifurcation 2 : le protocole négocié (Kerberos vs NTLM).
  3. Bifurcation 3 : la validité de la preuve cryptographique (Légitime vs Forgée).
  4. Bifurcation 4 : l’action effective (Consultation vs Mouvement latéral vs Exécution).

Comment ça fonctionne : l’arbre de décision global

Section intitulée « Comment ça fonctionne : l’arbre de décision global »
Alerte sur une activité suspecte : Event 4624 (Logon réussi) sur un serveur
│
├── [Q1] TargetDomainName correspond-il au nom d'hôte de la machine locale ?
│ │
│ ├── OUI ──► AUTHENTIFICATION SAM LOCALE
│ │ │
│ │ ├── [Q1.1] Le mot de passe est-il partagé sur d'autres machines ?
│ │ │ ├── OUI ──► RISQUE MAJEUR : Pass-the-Hash local en cascade (Absence de LAPS).
│ │ │ └── NON ──► Incident confiné à cet hôte isolé.
│ │
│ └── NON ──► AUTHENTIFICATION DE DOMAINE ACTIVE DIRECTORY
│ │
│ ├── [Q2] Quel est le protocole dans LogonProcessName ?
│ │ │
│ │ ├── NtLmSsp (NTLM)
│ │ │ │
│ │ │ ├── [Q2.1] L'IP source est-elle interne et l'Event 4776 existe-t-il sur le DC ?
│ │ │ │ ├── OUI ──► Pass-the-Hash ou NetExec par IP. Traquer la machine source.
│ │ │ │ └── NON ──► NTLM Relay ou attaque par coercition (PetitPotam).
│ │ │
│ │ └── Kerberos
│ │ │
│ │ ├── [Q3] Existe-t-il un Event 4768 (TGT) et 4769 (TGS) correspondant sur le DC ?
│ │ │ │
│ │ │ ├── OUI ──► FLUX KERBEROS STANDARD
│ │ │ │ Vérifier TicketEncryptionType (0x17 = Suspect).
│ │ │ │
│ │ │ ├── 4769 présent SANS 4768 préalable ──► GOLDEN TICKET DÉTECTÉ !
│ │ │ │ (Compromission Tier 0 de krbtgt -> Double reset requis).
│ │ │ │
│ │ │ └── AUCUN 4768 ni 4769 sur les DC ──► SILVER TICKET DÉTECTÉ !
│ │ │ (Compte de service de la machine cible compromis).
│ │
│ └── [Q4] L'accès a-t-il été suivi d'une action offensive ?
│ │
│ ├── Event 5140 (ADMIN$ / C$) SANS Event 7045 ni 4688
│ │ └── Scan NetExec (Pwn3d!) sans exécution.
│ │
│ ├── Event 7045 (Nouveau service) ou Event 4688 sous SYSTEM
│ │ └── Mouvement latéral actif (PsExec, smbexec, WMI). Machine compromise !
│ │
│ └── Event 4662 sur le DC avec GUID de réplication
│ └── Attaque DCSync ! Extraction de la base NTDS.

Étape 1 : qualifier le périmètre de l’identité

Section intitulée « Étape 1 : qualifier le périmètre de l’identité »
  1. Inspecter l’Event ID 4624 :
    • Noter TargetDomainName, TargetUserName, TargetUserSid, LogonType, LogonProcessName, IpAddress.
  2. Comparer TargetDomainName avec le nom de la machine cible :
    • Si identique $\rightarrow$ Suivre la branche SAM Locale.
    • Si différent $\rightarrow$ Suivre la branche Domaine Active Directory.
  1. Si branche NTLM :
    • Se connecter sur le DC primaire et filtrer l’Event ID 4776 avec TargetUserName.
    • Si présent : le compte est authentique, vérifier si l’authentification a été relayée (Event 8004 NTLM Operational).
  2. Si branche Kerberos :
    • Rechercher l’Event 4769 sur les KDC de la forêt pour ce compte dans les 10 heures précédentes.
    • Si présent avec ServiceName: krbtgt $\rightarrow$ Referral cross-domaine légitime.
    • Si absent $\rightarrow$ Déclarer un incident Silver Ticket.

Étape 3 : évaluer l’action réelle sur la cible

Section intitulée « Étape 3 : évaluer l’action réelle sur la cible »
  1. Filtrer les événements survenus dans les 120 secondes suivant l’Event 4624 :
    • Event ID 5140 / 5145 : partages touchés.
    • Event ID 7045 : services installés.
    • Event ID 4688 / Sysmon 1 : processus enfants créés (cmd.exe, powershell.exe, rundll32.exe).

Diagnostic de l’arbreGravitéAction de confinement immédiate
Pass-the-Hash local (SAM)Élevée sur l’hôteIsoler la machine réseau, modifier le mot de passe local, auditer LAPS.
Scan NetExec (Pwn3d!) sans actionMoyenneRéinitialiser le compte compromis, auditer la provenance IP.
Mouvement latéral effectif (event 7045)CritiqueIsoler l’hôte, dumper la mémoire vive (RAM), révoquer les sessions.
Silver ticket détectéCritique sur le serviceIsoler le serveur, réinitialiser le mot de passe du compte machine/service.
Golden ticket détectéURGENCE MAXIMALE (T0)Engager la procédure de crise forêt : double réinitialisation de krbtgt.
DCSync détecté (event 4662)URGENCE MAXIMALE (T0)Couper les accès du compte source, lancer la rotation complète des secrets AD.

  • Script PowerShell d’aiguillage rapide :
    Fenêtre de terminal
    param([string]$ComputerName, [string]$Username)
    $DomainSID = (Get-ADDomain).DomainSID.Value
    $User = Get-ADUser -Filter "SamAccountName -eq '$Username'" -ErrorAction SilentlyContinue
    if (-not $User) {
    Write-Warning "[!] Compte introuvable dans l'annuaire local. Suspecter compte local ou Golden Ticket."
    } else {
    Write-Host "[+] Compte de domaine validé : $($User.DistinguishedName)"
    Write-Host "[+] SID : $($User.SID)"
    }

  • L’arbre de décision commence toujours par séparer SAM locale et Domaine AD.
  • Kerberos sans Event 4768 = Golden Ticket ; Kerberos sans aucun log DC = Silver Ticket.
  • Une session réseau (4624 Type 3) n’est dangereuse que si elle est suivie d’une action effective (5145, 7045, 4688).