hacktricks/windows-hardening/active-directory-methodology/skeleton-key.md
2023-06-03 13:10:46 +00:00

5.8 KiB

Skeleton Key

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Skeleton Key

De: https://blog.stealthbits.com/unlocking-all-the-doors-to-active-directory-with-the-skeleton-key-attack/

Il existe plusieurs méthodes pour compromettre les comptes Active Directory que les attaquants peuvent utiliser pour élever les privilèges et créer une persistance une fois qu'ils se sont établis dans votre domaine. Le Skeleton Key est un malware particulièrement effrayant ciblant les domaines Active Directory pour rendre le détournement de compte alarmant facile. Ce malware s'injecte dans LSASS et crée un mot de passe maître qui fonctionnera pour n'importe quel compte dans le domaine. Les mots de passe existants continueront également à fonctionner, il est donc très difficile de savoir que cette attaque a eu lieu à moins de savoir quoi chercher.

Sans surprise, c'est l'une des nombreuses attaques qui est empaquetée et très facile à effectuer à l'aide de Mimikatz. Voyons comment cela fonctionne.

Exigences pour l'attaque Skeleton Key

Pour perpétrer cette attaque, l'attaquant doit avoir des droits d'administrateur de domaine. Cette attaque doit être effectuée sur chaque contrôleur de domaine pour une compromission complète, mais même le ciblage d'un seul contrôleur de domaine peut être efficace. Redémarrer un contrôleur de domaine supprimera ce malware et l'attaquant devra le redéployer.

Réalisation de l'attaque Skeleton Key

L'attaque est très simple à effectuer. Il suffit de lancer la commande suivante sur chaque contrôleur de domaine: misc::skeleton. Après cela, vous pouvez vous authentifier en tant que n'importe quel utilisateur avec le mot de passe par défaut de Mimikatz.

Injection d'une clé squelette à l'aide de misc::skeleton dans un contrôleur de domaine avec Mimikatz

Voici une authentification pour un membre de l'administrateur de domaine utilisant la clé squelette comme mot de passe pour obtenir un accès administratif à un contrôleur de domaine :

Utilisation de la clé squelette comme mot de passe avec la commande misc::skeleton pour obtenir un accès administratif à un contrôleur de domaine avec le mot de passe par défaut de Mimikatz

Remarque : Si vous obtenez un message indiquant : "Erreur système 86 s'est produite. Le mot de passe réseau spécifié n'est pas correct", essayez simplement d'utiliser le format domaine\compte pour le nom d'utilisateur et cela devrait fonctionner.

Utilisation du format domaine\compte pour le nom d'utilisateur si vous obtenez un message indiquant que l'erreur système 86 s'est produite. Le mot de passe réseau spécifié n'est pas correct

Si lsass était déjà patché avec skeleton, alors cette erreur apparaîtra :

Atténuations

  • Événements :
    • ID d'événement système 7045 - Un service a été installé dans le système. (Type de pilote de mode noyau)
    • ID d'événement de sécurité 4673 - Utilisation de privilèges sensibles ("Audit de l'utilisation des privilèges" doit être activé)
    • ID d'événement 4611 - Un processus d'ouverture de session de confiance a été enregistré auprès de l'autorité de sécurité locale ("Audit de l'utilisation des privilèges" doit être activé)
  • Get-WinEvent -FilterHashtable @{Logname='System';ID=7045} | ?{$_.message -like "Kernel Mode Driver"}
  • Cela ne détecte que mimidrv Get-WinEvent -FilterHashtable @{Logname='System';ID=7045} | ?{$.message -like "Kernel Mode Driver" -and $.message -like "mimidrv"}
  • Atténuation :
    • Exécuter lsass.exe en tant que processus protégé, cela force un attaquant à charger un pilote de mode noyau
    • New-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name RunAsPPL -Value 1 -Verbose
    • Vérifier après le redémarrage : Get-WinEvent -FilterHashtable @{Logname='System';ID=12} | ?{$_.message -like "processus protégé"}