Les tickets Kerberos rendent l’internet plus sûr en permettant aux ordinateurs et aux serveurs d’un réseau de transmettre des données sans avoir à vérifier leur identité à chaque étape. Toutefois, ce rôle d’authentificateur unique, bien que temporaire, rend les tickets Kerberos attrayants pour les attaquants qui peuvent craquer leur cryptage.
Que sont les tickets Kerberos ?
Si le mot « Kerberos » vous semble familier, vous avez raison. Il s’agit du nom grec du chien d’Hadès (également connu sous le nom de « Cerbère »). Mais Kerberos n’est pas un chien d’appartement : il a plusieurs têtes et garde les portes du monde souterrain. Kerberos empêche les morts de partir et les personnages désemparés de faire jaillir leurs bien-aimés de l’au-delà sinistre. En ce sens, on peut considérer le chien comme un authentificateur qui empêche tout accès non autorisé.
Kerberos est un protocole d’authentification réseau qui utilise des clés cryptographiques pour vérifier les communications entre les clients (ordinateurs personnels) et les serveurs sur les réseaux informatiques. Kerberos a été créé par le Massachusetts Institute of Technology (MIT) pour permettre aux clients de prouver leur identité aux serveurs lorsqu’ils font des demandes de données. De même, les serveurs utilisent les tickets Kerberos pour prouver que les données envoyées sont authentiques, qu’elles proviennent de la source prévue et qu’elles n’ont pas été corrompues.
Les tickets Kerberos sont en fait des certificats délivrés aux clients par un tiers de confiance (appelé centre de distribution de clés – CDK). Les clients présentent ce certificat, ainsi qu’une clé de session unique, à un serveur lorsqu’il lance une demande de données. La présentation et l’authentification du ticket établissent la confiance entre le client et le serveur, de sorte qu’il n’est pas nécessaire de vérifier chaque requête ou commande.
Comment fonctionnent les tickets Kerberos ?
Les tickets Kerberos authentifient l’accès des utilisateurs aux services. Ils aident également les serveurs à compartimenter l’accès dans les cas où plusieurs utilisateurs accèdent au même service. De cette manière, les requêtes ne se croisent pas et les personnes non autorisées ne peuvent pas accéder aux données réservées aux utilisateurs privilégiés.
Par exemple, Microsoft utilise le protocole d’authentification Kerberos lorsque les utilisateurs accèdent aux serveurs Windows ou aux systèmes d’exploitation PC. Ainsi, lorsque vous vous connectez à votre ordinateur après un démarrage, le système d’exploitation utilise des tickets Kerberos pour authentifier votre empreinte digitale ou votre mot de passe.
Votre ordinateur stocke temporairement le ticket dans la mémoire du processus LSASS (Local Security Authority Subsystem Service) pour cette session. À partir de là, le système d’exploitation utilise le ticket mis en cache pour les authentifications uniques, de sorte que vous n’ayez pas à fournir vos données biométriques ou votre mot de passe à chaque fois que vous devez effectuer une opération nécessitant des privilèges administratifs.
À plus grande échelle, les tickets Kerberos sont utilisés pour protéger les communications réseau sur Internet. Cela inclut des éléments tels que le cryptage HTTPS et la vérification du nom d’utilisateur et du mot de passe lors de la connexion. Sans Kerberos, les communications réseau seraient vulnérables à des attaques telles que la falsification des requêtes intersites (CSRF) et les piratages de type « man-in-the-middle ».
Qu’est-ce que le « Kerberoasting » exactement ?
Le Kerberoasting est une méthode d’attaque par laquelle des cybercriminels volent des tickets Kerberos sur des serveurs et tentent d’extraire des hachages de mots de passe en clair. À la base, cette attaque relève de l’ingénierie sociale, du vol d’informations d’identification et de l’attaque par force brute, le tout en une seule étape. Lors des deux premières étapes, l’attaquant se fait passer pour un client et demande des tickets Kerberos à un serveur.
Bien entendu, le ticket est crypté. Néanmoins, l’obtention du ticket résout l’un des deux défis pour le pirate. Une fois qu’il a obtenu le ticket Kerberos du serveur, le défi suivant consiste à le décrypter par tous les moyens nécessaires. Les pirates en possession de tickets Kerberos se donneront beaucoup de mal pour déchiffrer ce fichier en raison de sa valeur.
Comment fonctionnent les attaques de type « Kerberoasting » ?
L’attaque Kerberoasting exploite deux erreurs de sécurité courantes dans les annuaires actifs : l’utilisation de mots de passe courts et faibles et la sécurisation des fichiers par un chiffrement insuffisant. L’attaque commence par un pirate qui utilise un compte utilisateur pour demander un ticket Kerberos à un KDC.
Le KDC émet alors un ticket crypté comme prévu. Au lieu d’utiliser ce ticket pour l’authentification auprès d’un serveur, le pirate le met hors ligne et tente de le déchiffrer à l’aide de techniques de force brute. Les outils utilisés pour ce faire sont gratuits et libres, tels que mimikatz, Hashcat et JohnTheRipper. L’attaque peut également être automatisée avec des outils tels que invoke-kerberoast et Rubeus.
Une attaque kerberoast réussie permet d’extraire les mots de passe en clair du ticket. L’attaquant peut alors les utiliser pour authentifier des requêtes vers un serveur à partir d’un compte utilisateur compromis. Pire encore, l’attaquant peut tirer parti de ce nouvel accès non autorisé pour voler des données, se déplacer latéralement dans le répertoire actif et créer des comptes fictifs avec des privilèges d’administrateur.
Faut-il s’inquiéter du Kerberoasting ?
Kerberoasting est une attaque populaire sur les annuaires actifs, et vous devriez vous en inquiéter si vous êtes un administrateur de domaine ou un opérateur de l’équipe bleue. Il n’y a pas de configuration de domaine par défaut pour détecter cette attaque. La plupart des attaques se produisent hors ligne. Si vous en avez été victime, vous le saurez probablement après coup.
Vous pouvez réduire votre exposition en vous assurant que tous les membres de votre réseau utilisent des mots de passe longs composés de caractères alphanumériques et de symboles aléatoires. En outre, vous devriez utiliser un cryptage avancé et mettre en place des alertes en cas de demandes inhabituelles de la part d’utilisateurs du domaine. Vous devrez également vous prémunir contre l’ingénierie sociale afin d’éviter les failles de sécurité qui sont à l’origine de l’utilisation de Kerberoating.