SOC Prime Bias: Critique

30 Mar 2026 16:15

T1547.008 Pilote LSASS dans MITRE ATT&CK Expliqué

Author Photo
Ruslan Mikhalov Chef de la Recherche sur les Menaces chez SOC Prime linkedin icon Suivre
T1547.008 Pilote LSASS dans MITRE ATT&CK Expliqué
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

L’article explique la sous-technique de persistance du pilote LSASS, T1547.008, que les acteurs malveillants utilisent pour obtenir une exécution durable et à haut privilège sur les systèmes Windows en abusant de la manière dont LSASS charge les composants liés à la sécurité.

Enquête

Les attaquants commencent généralement par obtenir des privilèges SYSTEM, puis placent une DLL ou un pilote malveillant sur l’hôte cible et modifient les clés de registre dans la configuration LSA pour que LSASS charge le composant rogue pendant le démarrage. Dans certains cas, la même approche peut être étendue pour abuser des points d’extension de service du contrôleur de domaine.

Atténuation

Les défenseurs doivent surveiller les modifications du registre affectant les clés LSA, exiger une signature de code stricte pour les pilotes et DLLs, restreindre les permissions d’écriture sur les chemins de registre pertinents, et appliquer une surveillance d’intégrité aux composants chargés par le processus LSASS.

Réponse

Si des modifications suspectes du registre ou des chargements de pilotes inattendus dans lsass.exe sont détectés, isolez l’hôte, capturez la mémoire de LSASS pour une analyse axée sur les identifiants, et restaurez les valeurs de registre modifiées à un état connu comme bon tout en enquêtant sur le processus parent responsable.

Flux d’attaque

Nous mettons encore à jour cette partie. Inscrivez-vous pour être averti

Avertissez-moi

Exécution de simulation

Prérequis : Le contrôle préalable de la télémetrie et de la ligne de base doit être réussi.

Raisonnement : 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émetrie exacte attendue par la logique de détection.

  • Narratif et commandes d’attaque :

    1. Préparation – déposer une DLL malveillante – L’adversaire crée une DLL (maliciousLSASS.dll) qui, lorsqu’elle est chargée par LSASS, extrait les hachages des identifiants et les écrit dans %TEMP%. La DLL est placée sur la station de travail victime.
    2. Persistance via la modification du registre – En utilisant le reg.exenatif, l’attaquant ajoute le chemin complet de la DLL malveillante à la valeur multi-chaînes Security Packages , que LSASS lit lors du démarrage du service.
    3. Déclencheur – L’attaquant force LSASS à recharger les packages en redémarrant le LSASS service (nécessite un redémarrage du système ; pour le test, nous simulons en arrêtant et en redémarrant le service WinDefend qui force LSASS à recharger la liste des packages de sécurité).
  • Script de test de régression :

    # -------------------------------------------------
    # Simuler la persistance du pilote LSASS (T1547.008)
    # -------------------------------------------------
    $dllPath = "$env:USERPROFILEDesktopmaliciousLSASS.dll"
    # Assurez-vous qu'un fichier DLL factice existe (espace réservé vide pour le test)
    if (-not (Test-Path $dllPath)) {
        New-Item -Path $dllPath -ItemType File -Force | Out-Null
    }
    
    # Sauvegarder la valeur originale
    $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages'
    $original = (Get-ItemProperty -Path $regPath -Name '(Default)' -ErrorAction SilentlyContinue).'(Default)'
    
    # Ajouter le chemin de la DLL malveillante
    $newValue = @()
    if ($original) { $newValue = $original -split "`0" }
    $newValue += $dllPath
    Set-ItemProperty -Path $regPath -Name '(Default)' -Value $newValue -Force
    
    Write-Host "[+] Valeur du registre Security Packages modifiée pour inclure la DLL malveillante."
    
    # Optionnel : Forcer LSASS à recharger les packages sans redémarrage (redémarrer le service dépendant)
    Restart-Service -Name WinDefend -Force -ErrorAction SilentlyContinue
    Write-Host "[+] Demande de redémarrage du service pour provoquer le rechargement de LSASS."
    
    # Pause pour permettre la collecte des journaux
    Start-Sleep -Seconds 10
    
    # Restaurer la valeur originale (étape de nettoyage exécutée séparément)
  • Commandes de nettoyage :

    # -------------------------------------------------
    # Nettoyer après la simulation
    # -------------------------------------------------
    $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages'
    # Rétablir la valeur multi-chaînes originale capturée précédemment (si existante)
    if ($original) {
        Set-ItemProperty -Path $regPath -Name '(Default)' -Value $original -Force
    } else {
        # Supprimer complètement la valeur si elle était initialement vide
        Remove-ItemProperty -Path $regPath -Name '(Default)' -Force -ErrorAction SilentlyContinue
    }
    Write-Host "[+] Valeur du registre Security Packages originale restaurée."
    
    # Supprimer la DLL factice
    Remove-Item -Path "$env:USERPROFILEDesktopmaliciousLSASS.dll" -Force -ErrorAction SilentlyContinue
    Write-Host "[+] DLL malveillante temporaire supprimée."
    
    # Optionnel : Redémarrer l'hôte pour réinitialiser complètement l'état de LSASS (pas nécessaire pour le test)
    # Restart-Computer -Force