Aller au contenu
TAAF-OPS --:-- UTC

TP Bonus - Intégration Windows Active Directory

📡 Poste SOC · La Réunion — vous étendez la détection sur Alfred Faure (Crozet), à ~2 900 km, côté Windows/AD. Liaison SATCOM nominale.

🎯 Objectif métier — ne pas laisser le domaine Windows être l’angle mort du SIEM.

L’attaque du jour J a transité par un poste Windows : PowerShell obfusqué (-enc) à 08:14Z, puis svc_backup propulsé Domain Admin à 09:45Z. Sans agent côté Windows, le SIEM est borgne d’un œil — il voit Falco sur Linux mais pas l’AD. Ce bonus rend le domaine bavard : chaque ouverture de session, chaque commande suspecte remonte à Wazuh.

Ce TP bonus complète l’architecture SIEM TAAF en ajoutant la surveillance d’un environnement Windows Active Directory. Il permet d’étendre la détection et corrélation d’événements aux systèmes Windows d’entreprise.

Prérequis : Module SIEM core (TP 1-3) terminé + TP Bonus Wazuh déployé.

graph TB
 subgraph "Infrastructure TAAF"
 NC[Nextcloud TAAF
Port: 8080] PG[PostgreSQL AF
Base de données] NC -.-> PG end subgraph "Réseau: siem-network" subgraph "Runtime Security" F[Falco
Runtime Security] end subgraph "SIEM Central" WM[Wazuh Manager
API: 55000
Agents: 1514/1515] WI[Wazuh Indexer
OpenSearch
Port: 9200] WD[Wazuh Dashboard
Web UI
Port: 5601] WM <--> WI WD --> WI WD --> WM end end subgraph "Réseau: taaf-monitoring" GA[Grafana Alloy
Log Collector
Port: 12345] L[Loki
Log Storage
Port: 3100] GR[Grafana
Monitoring
Port: 3000] GA --> L GR --> L end subgraph "Extension Windows (Bonus)" AD[Active Directory
Domain Controller
IP: IP_AD] WA[Wazuh Agent
Windows
Port: 1514] AD --> WA end subgraph "Notifications" D[Discord
Security Alerts
Webhook] end %% Flux SIEM (Wazuh) - Stack 100% Indépendante F -->|Runtime Events|WM WA -->|Windows Events|WM WM -->|Critical Alerts|D %% Flux Monitoring (Loki/Grafana) - Stack 100% Indépendante NC -->|App Logs|GA PG -->|DB Logs|GA GA -->|Logs Stream|L %% Surveillance (sans flux de données) F -.->|Monitor|NC F -.->|Monitor|PG %% Accès utilisateur U[Administrateur] U --> WD U --> F U --> GR U --> AD %% Styling classDef security fill:#ff9999,stroke:#333,stroke-width:2px classDef siem fill:#99ccff,stroke:#333,stroke-width:2px classDef monitoring fill:#99ff99,stroke:#333,stroke-width:2px classDef infra fill:#ffcc99,stroke:#333,stroke-width:2px classDef windows fill:#e6ccff,stroke:#333,stroke-width:2px classDef notification fill:#cc99ff,stroke:#333,stroke-width:2px class F security class WM,WI,WD siem class GA,L,GR monitoring class NC,PG infra class AD,WA windows class D notification

🎯 Objectif métier — étendre la détection à un Active Directory Windows et corréler les événements Linux et Windows dans un seul SIEM.

  • Intégrer un Active Directory dans l’architecture SIEM
  • Configurer les agents Wazuh Windows
  • Surveiller les événements de sécurité Windows
  • Corréler les événements Linux et Windows
  • Détecter les attaques inter-systèmes

  • Windows Server 2019/2022
  • 4GB RAM minimum
  • Connectivité réseau avec l’infrastructure SIEM
Fenêtre de terminal
# Installation du rôle AD DS
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
# Configuration du domaine
Install-ADDSForest `
-DomainName "univ-taaf.internal" `
-DomainNetbiosName "TAAF" `
-InstallDns:$true `
-SafeModeAdministratorPassword (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) `
-Force
Fenêtre de terminal
# Configuration IP statique
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "IP_AD" -PrefixLength 24 -DefaultGateway "IP_GATEWAY"
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "IP_AD"
# Configuration du nom d'hôte
Rename-Computer -NewName "TAAF-DC01" -Restart
Fenêtre de terminal
# Import du module Active Directory
Import-Module ActiveDirectory
# Création d'une OU pour les tests
New-ADOrganizationalUnit -Name "TAAF-Users" -Path "DC=univ-taaf,DC=internal"
# Création d'utilisateurs de test
New-ADUser -Name "Alice Recherche" -SamAccountName "arecherche" -UserPrincipalName "arecherche@univ-taaf.internal" -Path "OU=TAAF-Users,DC=univ-taaf,DC=internal" -AccountPassword (ConvertTo-SecureString "TempPass123!" -AsPlainText -Force) -Enabled $true
New-ADUser -Name "Bob Admin" -SamAccountName "badmin" -UserPrincipalName "badmin@univ-taaf.internal" -Path "OU=TAAF-Users,DC=univ-taaf,DC=internal" -AccountPassword (ConvertTo-SecureString "AdminPass123!" -AsPlainText -Force) -Enabled $true
# Ajout de Bob au groupe Admins du domaine
Add-ADGroupMember -Identity "Domain Admins" -Members "badmin"

Fenêtre de terminal
# Télécharger l'agent Wazuh Windows
Invoke-WebRequest -Uri "https://packages.wazuh.com/4.x/windows/wazuh-agent-4.7.0-1.msi" -OutFile "C:\temp\wazuh-agent.msi"
# Installation silencieuse avec configuration
msiexec.exe /i C:\temp\wazuh-agent.msi /quiet WAZUH_MANAGER="IP_SOC" WAZUH_AGENT_GROUP="windows" WAZUH_REGISTRATION_SERVER="IP_SOC"
<!-- C:\Program Files (x86)\ossec-agent\ossec.conf -->
<ossec_config>
<client>
<server>
<address>IP_SOC</address>
<port>1514</port>
<protocol>tcp</protocol>
</server>
<config-profile>windows</config-profile>
<notify_time>10</notify_time>
<time-reconnect>60</time-reconnect>
<auto_restart>yes</auto_restart>
</client>
<localfile>
<location>Security</location>
<log_format>eventchannel</log_format>
</localfile>
<localfile>
<location>System</location>
<log_format>eventchannel</log_format>
</localfile>
<localfile>
<location>Application</location>
<log_format>eventchannel</log_format>
</localfile>
<!-- Surveillance spécifique Active Directory -->
<localfile>
<location>Microsoft-Windows-Security-Auditing</location>
<log_format>eventchannel</log_format>
</localfile>
</ossec_config>
Fenêtre de terminal
# Démarrer le service Wazuh
Start-Service WazuhSvc
# Vérifier le statut
Get-Service WazuhSvc
# Vérifier les logs
Get-Content "C:\Program Files (x86)\ossec-agent\logs\ossec.log" -Tail 20

<!-- rules/windows-ad-rules.xml sur Wazuh Manager -->
<group name="windows,authentication,">
<rule id="100001" level="10">
<decoded_as>windows_eventchannel</decoded_as>
<field name="win.eventdata.logonType">2</field>
<field name="win.system.eventID">4625</field>
<description>Windows logon failure (brute force attempt)</description>
<group>authentication_failed,</group>
</rule>
<rule id="100002" level="12" frequency="5" timeframe="300">
<if_matched_sid>100001</if_matched_sid>
<same_source_ip />
<description>Multiple failed logon attempts from same IP - Possible brute force attack</description>
<group>authentication_failures,brute_force,</group>
</rule>
</group>

Règle de détection d’élévation de privilèges

Section intitulée « Règle de détection d’élévation de privilèges »
<rule id="100003" level="12">
<decoded_as>windows_eventchannel</decoded_as>
<field name="win.system.eventID">4728</field>
<field name="win.eventdata.groupName">Administrators|Domain Admins</field>
<description>User added to privileged group</description>
<group>privilege_escalation,</group>
</rule>
Fenêtre de terminal
# Configuration des politiques d'audit
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable
auditpol /set /category:"Account Management" /success:enable /failure:enable
auditpol /set /category:"Privilege Use" /success:enable /failure:enable
auditpol /set /category:"Policy Change" /success:enable /failure:enable
auditpol /set /category:"Object Access" /success:enable /failure:enable
# Vérification de la configuration
auditpol /get /category:*

Fenêtre de terminal
# Depuis la VM SIEM - vérifier les agents connectés
docker exec wazuh-manager /var/ossec/bin/agent_control -l
# Vérifier les logs de l'agent Windows
docker exec wazuh-manager tail -f /var/ossec/logs/alerts/alerts.log | grep "IP_AD"
Fenêtre de terminal
# Script de simulation de brute force (à exécuter sur une machine distante)
$domain = "univ-taaf.internal"
$username = "arecherche"
$passwords = @("password", "123456", "admin", "taaf2023", "motdepasse")
foreach ($password in $passwords) {
try {
$credential = New-Object System.Management.Automation.PSCredential($username, (ConvertTo-SecureString $password -AsPlainText -Force))
Write-Host "Tentative avec mot de passe: $password"
# Simulation de connexion qui échouera
Start-Process -FilePath "runas" -ArgumentList "/user:$domain\$username cmd" -Credential $credential -ErrorAction Stop
}
catch {
Write-Host "Échec attendu pour: $password"
}
Start-Sleep -Seconds 2
}
Fenêtre de terminal
# Ajouter temporairement un utilisateur aux admins (puis le retirer)
Add-ADGroupMember -Identity "Domain Admins" -Members "arecherche"
Start-Sleep -Seconds 10
Remove-ADGroupMember -Identity "Domain Admins" -Members "arecherche" -Confirm:$false

Accéder à Wazuh Dashboard (https://IP_SOC) et créer :

  1. Visualisation des connexions Windows

    • Filtre : rule.groups: authentication
    • Type : Table avec IP source, utilisateur, statut
  2. Carte des tentatives de brute force

    • Filtre : rule.groups: brute_force
    • Type : Géolocalisation des IP sources
  3. Timeline des événements de privilèges

    • Filtre : rule.groups: privilege_escalation
    • Type : Histogramme temporel
<!-- Corrélation : connexion suspecte Windows suivie d'activité Falco -->
<rule id="100010" level="14" timeframe="600">
<if_matched_group>brute_force</if_matched_group>
<if_matched_group>falco</if_matched_group>
<same_source_ip />
<description>Suspicious correlation: Windows brute force followed by container activity</description>
<group>correlation,multi_system_attack,</group>
</rule>

# datasource.yml pour Wazuh
apiVersion: 1
datasources:
- name: Wazuh-OpenSearch
type: opensearch
url: http://IP_SOC:9200
database: wazuh-alerts-*
jsonData:
timeField: timestamp
interval: "1m"
  • Événements Falco (conteneurs Linux)
  • Événements Wazuh Windows (Active Directory)
  • Corrélations temporelles entre systèmes
  • Géolocalisation des attaques

Ajout au rapport principal :

  1. Extension Windows Active Directory
    • Architecture hybride Linux/Windows
    • Configuration agents Wazuh Windows
    • Règles de détection spécifiques Windows
    • Cas d’usage de corrélation inter-systèmes
    • Dashboard unifié multi-plateformes
  • Simulation d’attaque coordonnée Linux-Windows
  • Détection et corrélation en temps réel
  • Investigation forensique multi-systèmes

Techniques supplémentaires :

  • Administration Active Directory de base
  • Configuration agents SIEM Windows
  • Corrélation d’événements multi-plateformes
  • Analyse forensique hybride Linux/Windows

Transversales :

  • Sécurité en environnement hybride
  • Intégration d’infrastructures hétérogènes
  • Vision globale de la sécurité d’entreprise

  • PowerShell pour automatisation
  • Intégration avec GPO (Group Policy Objects)
  • Surveillance des contrôleurs de domaine

Type : TP Bonus optionnel Niveau : Avancé Prérequis : TP principal terminé + notions Windows Server/Active Directory