TP Bonus - Intégration Windows Active Directory
Vue d’ensemble
Section intitulée « Vue d’ensemble »📡 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.
🔴 Au fil de l’enquête
Section intitulée « 🔴 Au fil de l’enquête »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é.
Architecture Étendue avec Windows
Section intitulée « Architecture Étendue avec Windows »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
Objectifs du TP Bonus
Section intitulée « Objectifs du TP Bonus »🎯 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
Partie 1 : Déploiement Active Directory
Section intitulée « Partie 1 : Déploiement Active Directory »1.1 Configuration VM Windows Server
Section intitulée « 1.1 Configuration VM Windows Server »Prérequis système
Section intitulée « Prérequis système »- Windows Server 2019/2022
- 4GB RAM minimum
- Connectivité réseau avec l’infrastructure SIEM
Installation Active Directory
Section intitulée « Installation Active Directory »# Installation du rôle AD DSInstall-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
# Configuration du domaineInstall-ADDSForest ` -DomainName "univ-taaf.internal" ` -DomainNetbiosName "TAAF" ` -InstallDns:$true ` -SafeModeAdministratorPassword (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) ` -ForceConfiguration réseau
Section intitulée « Configuration réseau »# Configuration IP statiqueNew-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "IP_AD" -PrefixLength 24 -DefaultGateway "IP_GATEWAY"Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "IP_AD"
# Configuration du nom d'hôteRename-Computer -NewName "TAAF-DC01" -Restart1.2 Configuration du domaine
Section intitulée « 1.2 Configuration du domaine »Création d’utilisateurs de test
Section intitulée « Création d’utilisateurs de test »# Import du module Active DirectoryImport-Module ActiveDirectory
# Création d'une OU pour les testsNew-ADOrganizationalUnit -Name "TAAF-Users" -Path "DC=univ-taaf,DC=internal"
# Création d'utilisateurs de testNew-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 domaineAdd-ADGroupMember -Identity "Domain Admins" -Members "badmin"Partie 2 : Installation Agent Wazuh Windows
Section intitulée « Partie 2 : Installation Agent Wazuh Windows »2.1 Installation de l’agent
Section intitulée « 2.1 Installation de l’agent »Téléchargement et installation
Section intitulée « Téléchargement et installation »# Télécharger l'agent Wazuh WindowsInvoke-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 configurationmsiexec.exe /i C:\temp\wazuh-agent.msi /quiet WAZUH_MANAGER="IP_SOC" WAZUH_AGENT_GROUP="windows" WAZUH_REGISTRATION_SERVER="IP_SOC"Configuration de l’agent
Section intitulée « Configuration de l’agent »<!-- 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>2.2 Démarrage et vérification
Section intitulée « 2.2 Démarrage et vérification »# Démarrer le service WazuhStart-Service WazuhSvc
# Vérifier le statutGet-Service WazuhSvc
# Vérifier les logsGet-Content "C:\Program Files (x86)\ossec-agent\logs\ossec.log" -Tail 20Partie 3 : Configuration des Règles Windows
Section intitulée « Partie 3 : Configuration des Règles Windows »3.1 Règles de détection Active Directory
Section intitulée « 3.1 Règles de détection Active Directory »Règle de détection de brute force
Section intitulée « Règle de détection de brute force »<!-- 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>3.2 Configuration politique de sécurité Windows
Section intitulée « 3.2 Configuration politique de sécurité Windows »Activation de l’audit de sécurité
Section intitulée « Activation de l’audit de sécurité »# Configuration des politiques d'auditauditpol /set /category:"Logon/Logoff" /success:enable /failure:enableauditpol /set /category:"Account Management" /success:enable /failure:enableauditpol /set /category:"Privilege Use" /success:enable /failure:enableauditpol /set /category:"Policy Change" /success:enable /failure:enableauditpol /set /category:"Object Access" /success:enable /failure:enable
# Vérification de la configurationauditpol /get /category:*Partie 4 : Tests et Simulation d’Attaques
Section intitulée « Partie 4 : Tests et Simulation d’Attaques »4.1 Test de connectivité Wazuh
Section intitulée « 4.1 Test de connectivité Wazuh »Vérification sur le Manager Wazuh
Section intitulée « Vérification sur le Manager Wazuh »# Depuis la VM SIEM - vérifier les agents connectésdocker exec wazuh-manager /var/ossec/bin/agent_control -l
# Vérifier les logs de l'agent Windowsdocker exec wazuh-manager tail -f /var/ossec/logs/alerts/alerts.log | grep "IP_AD"4.2 Simulation d’attaque brute force
Section intitulée « 4.2 Simulation d’attaque brute force »Script de test d’authentification (PowerShell)
Section intitulée « Script de test d’authentification (PowerShell) »# 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}4.3 Simulation d’élévation de privilèges
Section intitulée « 4.3 Simulation d’élévation de privilèges »# Ajouter temporairement un utilisateur aux admins (puis le retirer)Add-ADGroupMember -Identity "Domain Admins" -Members "arecherche"Start-Sleep -Seconds 10Remove-ADGroupMember -Identity "Domain Admins" -Members "arecherche" -Confirm:$falsePartie 5 : Dashboard et Corrélation
Section intitulée « Partie 5 : Dashboard et Corrélation »5.1 Configuration dashboard Wazuh
Section intitulée « 5.1 Configuration dashboard Wazuh »Dashboard Windows spécifique
Section intitulée « Dashboard Windows spécifique »Accéder à Wazuh Dashboard (https://IP_SOC) et créer :
-
Visualisation des connexions Windows
- Filtre :
rule.groups: authentication - Type : Table avec IP source, utilisateur, statut
- Filtre :
-
Carte des tentatives de brute force
- Filtre :
rule.groups: brute_force - Type : Géolocalisation des IP sources
- Filtre :
-
Timeline des événements de privilèges
- Filtre :
rule.groups: privilege_escalation - Type : Histogramme temporel
- Filtre :
5.2 Corrélation Linux-Windows
Section intitulée « 5.2 Corrélation Linux-Windows »Règle de corrélation inter-systèmes
Section intitulée « Règle de corrélation inter-systèmes »<!-- 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>Partie 6 : Intégration Grafana
Section intitulée « Partie 6 : Intégration Grafana »6.1 Configuration source de données Wazuh
Section intitulée « 6.1 Configuration source de données Wazuh »Ajout dans Grafana (VM monitoring)
Section intitulée « Ajout dans Grafana (VM monitoring) »# datasource.yml pour WazuhapiVersion: 1datasources: - name: Wazuh-OpenSearch type: opensearch url: http://IP_SOC:9200 database: wazuh-alerts-* jsonData: timeField: timestamp interval: "1m"6.2 Dashboard unifié Linux-Windows
Section intitulée « 6.2 Dashboard unifié Linux-Windows »Panel de corrélation d’événements
Section intitulée « Panel de corrélation d’événements »- Événements Falco (conteneurs Linux)
- Événements Wazuh Windows (Active Directory)
- Corrélations temporelles entre systèmes
- Géolocalisation des attaques
Livrables Bonus
Section intitulée « Livrables Bonus »Rapport d’intégration Windows (PDF)
Section intitulée « Rapport d’intégration Windows (PDF) »Ajout au rapport principal :
- 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
Démonstration pratique bonus
Section intitulée « Démonstration pratique bonus »- Simulation d’attaque coordonnée Linux-Windows
- Détection et corrélation en temps réel
- Investigation forensique multi-systèmes
Compétences Développées (Bonus)
Section intitulée « Compétences Développées (Bonus) »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
Ressources Complémentaires
Section intitulée « Ressources Complémentaires »Documentation Windows
Section intitulée « Documentation Windows »Configuration avancée
Section intitulée « Configuration avancée »- 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