Casser La Coquille De Protection De Windows Defender Avec La Technique De Redirection De Dossier
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
L’article démontre une méthode de détournement de Windows Defender qui exploite la redirection de dossiers en plaçant un répertoire de lien symbolique à l’intérieur du chemin de la plateforme Defender et en le pointant vers un emplacement contrôlé par un attaquant. En attribuant au dossier symlink un numéro de « version » supérieur à celui du répertoire de plateforme légitime, Defender peut sélectionner le chemin contrôlé par l’attaquant après le redémarrage et charger ses composants à partir de là. Cela crée des opportunités pour le chargement latéral de DLL, la suppression sélective de fichiers ou même la perturbation opérationnelle du service Defender.
Enquête
Le flux de travail de l’auteur copie le dossier de la plateforme active de Defender dans un répertoire temporaire contrôlé par l’attaquant, puis crée un lien symbolique dans l’emplacement de la plateforme (via mklink /D) en utilisant un identifiant de version fabriqué, plus élevé. Après un redémarrage, on observe que Defender s’exécute à partir du répertoire redirigé, permettant une manipulation ultérieure telle que le détournement de DLL ou la suppression de binaires pour interférer avec le démarrage et la protection de Defender.
Atténuation
Minimisez le risque en limitant strictement les autorisations d’écriture sur le répertoire de la plateforme Windows Defender et en surveillant la création suspecte de liens symboliques ou de sous-dossiers de type « version » inattendus. Mettez en œuvre des contrôles d’intégrité pour les binaires de Defender et alertez en cas de modifications des chemins exécutables ou du comportement de sélection de répertoire plateforme. Dans la mesure du possible, appliquez Windows Defender Application Control (WDAC) ou des politiques de durcissement équivalentes pour empêcher les modifications non autorisées dans les emplacements système protégés.
Réponse
Alertez lorsque de nouveaux dossiers de lien symbolique apparaissent sous C:ProgramDataMicrosoftWindows DefenderPlatform ou lorsque mklink est utilisé pour cibler ce répertoire. Validez l’intégrité des fichiers Defender et confirmez que les binaires en cours d’exécution proviennent du dossier de plateforme attendu. Si une altération est confirmée, supprimez le lien symbolique malveillant et restaurez les fichiers de plateforme Defender à partir d’une source fiable, puis redémarrez les services Defender et revalidez les protections sur l’hôte.
graph TB %% Définitions des Classes classDef action fill:#99ccff classDef technique fill:#ffcc99 %% Nœuds d’Action action_create_symlink[« <b>Action</b> – Créer un dossier de lien symbolique dans la plateforme Defender<br/><b>Détails</b>: Le lien pointe vers C:\TMP\AV avec un numéro de version plus élevé »] class action_create_symlink action action_copy_binaries[« <b>Action</b> – Copier les binaires Defender d’origine vers un répertoire contrôlé par l’attaquant »] class action_copy_binaries action action_place_malicious_dll[« <b>Action</b> – Placer des DLL malveillantes dans le dossier compromis »] class action_place_malicious_dll action action_cleanup[« <b>Action</b> – Supprimer le dossier de lien symbolique pour effacer les traces »] class action_cleanup action %% Nœuds de Techniques tech_T1574_009[« <b>Technique</b> – T1574.009 Détournement du Component Object Model<br/><b>Description</b>: Abuser de l’enregistrement COM pour charger du code contrôlé par l’attaquant »] class tech_T1574_009 technique tech_T1218[« <b>Technique</b> – T1218 Exécution Proxy de Binaires Signés<br/><b>Description</b>: Utiliser des binaires signés de confiance pour exécuter des charges malveillantes »] class tech_T1218 technique tech_T1055_001[« <b>Technique</b> – T1055.001 Injection de Processus (DLL)<br/><b>Description</b>: Charger une DLL malveillante dans la mémoire d’un processus légitime »] class tech_T1055_001 technique tech_T1546_009[« <b>Technique</b> – T1546.009 Exécution DLL AppCert<br/><b>Description</b>: Forcer le chargement d’une DLL malveillante via les mécanismes AppCert »] class tech_T1546_009 technique tech_T1070_004[« <b>Technique</b> – T1070.004 Suppression de Fichiers<br/><b>Description</b>: Supprimer des fichiers ou dossiers pour masquer l’activité malveillante »] class tech_T1070_004 technique tech_T1562[« <b>Technique</b> – T1562 Altération des Défenses<br/><b>Description</b>: Perturber ou désactiver les outils de sécurité »] class tech_T1562 technique %% Connexions action_create_symlink –>|utilise| tech_T1574_009 tech_T1574_009 –>|permet| action_copy_binaries action_copy_binaries –>|utilise| tech_T1218 action_copy_binaries –>|prépare| action_place_malicious_dll action_place_malicious_dll –>|exploite| tech_T1055_001 action_place_malicious_dll –>|exploite| tech_T1546_009 action_place_malicious_dll –>|conduit à| action_cleanup action_cleanup –>|utilise| tech_T1070_004 tech_T1070_004 –>|entraîne| tech_T1562
Flux d’attaque
Exécution de la simulation
Prérequis : Le contrôle préalable de télémétrie & de la base de référence doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit doivent refléter directement les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Narratif d’Attaque & Commandes :
L’adversaire a compromis un compte utilisateur à faibles privilèges sur l’hôte cible. Leur objectif est de charger une charge utile malveillante lorsque Windows Defender démarre, en redirigeant le dossier « Platform » de Defender vers un emplacement qu’ils contrôlent. Ils exécutent les étapes suivantes :- Créer un répertoire de mise en scène (
C:TMPAV) qui contiendra les DLL malveillantes. - Peupler le répertoire de mise en scène avec une DLL conçue nommée
MpEngine.dll(le nom attendu par Defender). - Créer un lien symbolique de répertoire nommé
C:ProgramDataMicrosoftWindows DefenderPlatform{aleatoire}qui pointe vers le répertoire de mise en scène, en utilisant à la fois l’outil natifmklink(pour déclencher la règle Sigma) et le PowerShellNew‑Item(pour tester l’évasion des règles). - Redémarrer le Service Windows Defender pour forcer le chargement depuis le chemin détourné.
- Créer un répertoire de mise en scène (
-
Script de Test de Régression :
# ============================== # Simulation de Détournement de Dossier # ============================== $defenderPlatform = "C:ProgramDataMicrosoftWindows DefenderPlatform" $attackerStaging = "C:TMPAV" $linkName = "$defenderPlatformHijackTarget" # 1. Préparer le dossier de mise en scène New-Item -Path $attackerStaging -ItemType Directory -Force | Out-Null # 2. Déposer une DLL malveillante factice (espace réservé) $dummyDll = "$attackerStagingMpEngine.dll" Set-Content -Path $dummyDll -Value "CONTENU DLL MALVEILLANT" -Encoding ASCII # 3a. Créer un lien symbolique via mklink natif (déclenche la règle Sigma) cmd /c "mklink /D `"$linkName`" `"$attackerStaging`"" # 3b. Créer un lien symbolique via PowerShell (teste l'évasion) $psLink = "$defenderPlatformHijackTarget_PS" New-Item -ItemType SymbolicLink -Path $psLink -Target $attackerStaging -Force # 4. Redémarrer le Service Windows Defender (nécessite admin) # Note : Cette étape peut être bloquée dans un environnement durci ; incluse pour l'exhaustivité. Restart-Service -Name "WinDefend" -Force -
Commandes de Nettoyage :
# Supprimer les liens symboliques et fichiers de mise en scène créés $links = @( "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget", "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget_PS" ) foreach ($l in $links) { if (Test-Path $l) { Remove-Item $l -Force } } $staging = "C:TMPAV" if (Test-Path $staging) { Remove-Item $staging -Recurse -Force } # Optionnellement restaurer le dossier de plateforme Defender si nécessaire (non requis pour la simulation)