Le chercheur en sécurité Elad Shamir a publié une série de méthodes permettant d’accéder à des systèmes et pouvant mener à la compromission d’un annuaire Active Directory
Épaulé par des homologues reconnus dans le domaine, tels que Benjamin Delpy (@gentilkiwi) et Will Schroeder (@harmj0y), Elad présente plusieurs attaques à l’encontre du mécanisme de délégation au sein de Kerberos. Ces attaques reposent sur la capacité d’un attaquant à forger/relayer ou encore usurper des tickets de service délégués par le contrôleur de domaine afin de gagner accès à d’autres systèmes.
Dans sa publication technique, il met en avant deux scénarios permettant d’obtenir une élévation de privilèges locale voire d’exécuter du code arbitraire sur le système visé. De nombreux prérequis sont nécessaires et il s’agit d’attaques particulièrement contextuelles. Cependant, la majeure partie des prérequis sont présents lors de configurations de bases ou par défaut.
Le premier scénario repose sur le comportement par défaut de Microsoft SQL (MSSQL). Un attaquant ayant accès au service MSSQL, via la compromission d’un compte par exemple, est en mesure d’invoquer la procédure stockée xp_dirtree
afin de forcer le service MSSQL à effectuer une requête d’authentification NTLM vers un service WebDav contrôlé par l’attaquant. L’attaquant va ensuite relayer ce ticket au contrôleur de domaine afin d’usurper l’identité d’un administrateur. Le contrôleur va renvoyer un ticket valide à l’attaquant lui permettant de s’authentifier sur le système MSSQL en tant qu’administrateur.
Parmi les prérequis notables pour ce scénario :
- L’attaquant a besoin d’un compte lui permettant d’invoquer la procédure « xp_dirtree » ;
- Le client WebDav doit être présent sur le système ciblé ;
Le second scénario repose sur un principe identique. Par rapport au premier, celui-ci ne s’appuie pas sur le service MSSQL, mais tire profit d’un accès au serveur ciblé. En changeant son image de profil pour une image héberger sur un serveur WebDav qu’il contrôle, le système va automatiquement ouvrir l’image associée pour en lire les propriétés, entraînant ici une demande d’authentification NTLM vers le serveur de l’attaquant.
La suite du scénario est similaire au premier, l’attaquant récupère alors un ticket administrateur pour s’authentifier sur le système. La différence réside notamment dans le fait que l’attaquant a déjà accès au système (compte ou service compromis), il est déjà en mesure d’exécuter des commandes. Le risque est donc qu’un attaquant ou qu’un utilisateur élève ses privilèges localement afin de devenir administrateur du système ciblé.
Note : Un code d’exploitation a été publié permettant d’automatiser l’exploitation de ce scénario si les prérequis sont remplis. Ce script Python n’a pas été testé ni validé par le CERT-XMCO.
Note 2 : Ces attaques reposent sur des fonctionnalités légitimes qui lèvent des évènements. Ces derniers, si collectés, peuvent donc servir d’indicateurs de compromission (IoC) ou à détecter des tentatives d’abus. Ils sont spécifiés dans la rubrique associée.
Note 3 : Les équipes sécurité de Microsoft, dans leur dernier retour au chercheur, considèrent qu’il ne s’agit pas de vulnérabilités, mais de fonctionnalités légitimes qui seraient abusées suite à des défauts de configuration. Une mise à jour de la documentation est prévue afin de spécifier les meilleures pratiques de configuration et éviter de créer des configurations vulnérables.
Référence
https://shenaniganslabs.io/2019/01/28/Wagging-the-Dog.html
https://gist.github.com/3xocyte/0dc0bd4cb48cc7b4075bdc90a1ccc7d3