Persistance du Profil Utilisateur Obligatoire
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Les acteurs malveillants peuvent établir une persistance sur les terminaux Windows en abusant des profils utilisateurs obligatoires. En créant ou en remplaçant un fichier NTUSER.MAN dans un répertoire de profil utilisateur, les modifications malveillantes du registre sont chargées dans la ruche du registre lors de la connexion sans recourir aux API standard du registre. Cette technique permet l’exécution discrète de commandes ou de binaires chaque fois que l’utilisateur se connecte.
Investigation
Le rapport décrit une technique de preuve de concept qui manipule la ruche du registre Windows pour créer un profil utilisateur obligatoire. Il montre comment des outils tels que Swarmer et HiveSwarming peuvent convertir les données de registre exportées au format .MAN , permettant aux attaquants de contourner la surveillance EDR axée sur l’activité des API du registre.
Atténuation
Les organisations devraient surveiller la création ou la modification de fichiers dans les répertoires de profil utilisateur, en particulier là où les profils obligatoires ne sont pas normalement utilisés. Une télémétrie de système de fichiers robuste combinée à la corrélation des événements du service de profil utilisateur de Windows peut aider à détecter cette technique de persistance. fichier NTUSER.MAN files within user profile directories, particularly where mandatory profiles are not normally used. Strong file system telemetry combined with correlation of Windows User Profile Service events can help detect this persistence technique.
Réponse
Si un fichier NTUSER.MAN fichier est créé de manière inattendue ou suspecte Chargement de Offreg.dll est observé, les enquêteurs devraient examiner le profil utilisateur associé pour toute modification non autorisée du registre. Corrélez l’ID d’événement Sysmon 11 pour la création de fichier avec les IDs d’événement 5 et 67 du service de profil utilisateur de Windows pour vérifier qu’un profil obligatoire a été chargé.
Flux d’attaque
Détections
Points de Persistance Possibles [ASEPs – Ruche de registre/NTUSER] (via registry_event)
Tentative d’exécution potentielle de l’utilitaire Swarmer (via cmdline)
Tentative d’exécution potentielle de l’utilitaire Swarmer (via powershell)
Création de fichier NTUSER.MAN dans le répertoire de profil utilisateur [Événement de fichier Windows]
Exécution de Simulation
Prérequis : Le contrôle préalable de télémétrie et de base doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) destinée à 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 exactement la télémétrie attendue par la logique de détection. Les exemples abstraits ou non liés entraîneront un diagnostic erroné.
-
Narration & Commandes d’attaque : L’adversaire prévoit de maintenir une persistance à travers les connexions utilisateur. Au lieu de modifier le registre actuel, qui pourrait être surveillé par l’EDR, l’attaquant crée un « Profil Obligatoire » en plaçant un fichier
fichier NTUSER.MANdans le répertoire du profil utilisateur. Lors de la prochaine connexion, Windows utilise ce fichier pour construire la ruche de registre de l’utilisateur. Cette méthode est discrète car la configuration du registre « malveillante » fait techniquement partie du processus d’initialisation du profil plutôt qu’un événement standard de modification du registre. La simulation créera un fichier facticefichier NTUSER.MANdans un sous-dossier du profil utilisateur pour déclencher lafinit par : 'NTUSER.MAN'andcontient : 'Utilisateurs'logique. -
Script de Test de Régression :
# Simulation de création de NTUSER.MAN pour des tests de persistance $targetDir = Join-Path $env:USERPROFILE "AppDataLocalTempSimulatedProfile" # Créer le répertoire s'il n'existe pas if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force } # Créer le fichier NTUSER.MAN pour déclencher la règle de détection $filePath = Join-Path $targetDir "NTUSER.MAN" Set-Content -Path $filePath -Value "Contenu de Profil Obligatoire Simulé" Write-Host "[+] Simulation terminée. Fichier créé à : $filePath" -ForegroundColor Green -
Commandes de Nettoyage :
# Nettoyage des artefacts de simulation $targetDir = Join-Path $env:USERPROFILE "AppDataLocalTempSimulatedProfile" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force Write-Host "[+] Nettoyage réussi. Artefacts supprimés." -ForegroundColor Yellow } else { Write-Host "[-] Échec du nettoyage : Répertoire introuvable." -ForegroundColor Red