Active Directory est une solution de Microsoft qui permet de gérer des parcs informatiques d’entreprises de toutes tailles. On le retrouve partout. La quasi-totalité des entreprises utilisent cette solution pour gérer leurs utilisateurs, les postes de travail, les serveurs, etc. C’est donc un incontournable tant pour les administrateurs que pour les attaquants. Comme Active Directory est utilisé partout, les attaquants se sont spécialisés et savent dénicher les vulnérabilités qui leur permettront de prendre le contrôle du système d’information. Parce que oui, compromettre l’Active Directory permet de compromettre la quasi-totalité du système d’information. Ça vaut le coup de se pencher un peu dessus, n’est-ce pas ?
Nous découvrirons donc ensemble les vulnérabilités d’un environnement Active Directory en vue de les exploiter, puis de protéger cet environnement et le surveiller. Dans le monde des tests d’intrusion, c’est ce qu’on appelle un test d’intrusion interne.
Dans cette démarche, vous vous mettrez à la place d’un administrateur d’entreprise qui souhaite sécuriser son environnement. Cela vous permettra d’avoir suffisamment d’informations pour être le plus exhaustif possible dans vos recherches, et d’avoir les clés nécessaires pour sécuriser et surveiller votre environnement.
Sauf qu’avant de sécuriser et surveiller un environnement, vous allez devoir vous mettre dans la peau d’un attaquant pour observer, découvrir et exploiter des vulnérabilités. C’est avec ces connaissances de techniques d’attaque que vous aurez toutes les cartes en main pour améliorer le niveau de sécurité de votre Active Directory.
Dans ce chapitre, apprenez à bien vous équiper et vous organiser pour ces différentes étapes. C’est un peu comme avant un discours. Vous évitez d’arriver les mains dans les poches derrière le micro, vous vous préparez. Eh bien, là c’est la même chose, cette phase est cruciale pour ne pas partir dans tous les sens, pour avoir une démarche efficace.
Vous êtes prêt ? C’est parti !
Organisez votre prise de notes
Dans un premier temps, soyez conscient que lors de vos attaques, vous allez crouler sous les informations récoltées en amont via différentes méthodes. Que ce soit des noms de machines, d’utilisateurs, des adresses IP, des flux réseau, des versions de service, des vulnérabilités, la plupart de ces informations sont suffisamment importantes pour que vous soyez le plus exhaustif possible.
Mais voilà, lister les attaques les unes derrières les autres au fil de l’avancée de votre test d’intrusion risque de vous faire perdre beaucoup de temps et de pertinence vis-à-vis de l’objectif d’évaluation du niveau de sécurité de l’Active Directory. Sans une stratégie claire, vous oublierez même probablement certains éléments.
Je me souviens très bien de mes premiers audits durant lesquels je refaisais au moins dix fois les mêmes actions parce que je ne prenais pas bien mes notes, et que je n’avais pas gardé toutes les informations récoltées par mes outils. Quelle perte de temps !
La prise de notes est donc essentielle pour organiser toutes ces informations récoltées, et donner du sens aux données, croyez-moi.
La première chose à faire est de lister les types d’informations qui vous intéressent. Vous savez par exemple que les noms des machines présentes sur votre parc sont une information pertinente, mais que le numéro d’étage des imprimantes l’est beaucoup moins.
Ainsi, pour attaquer un environnement Active Directory, vous aurez très probablement besoin de récolter les informations suivantes :
Noms de machines :
machines d’intérêt ;
adresses (ou plages) IP ;
services ouverts :
versions de services.
Noms d’utilisateurs :
privilèges intéressants.
Configurations spécifiques :
Active Directory ;
autre.
Cette liste n’est bien sûr pas exhaustive, mais si déjà vous avez préparé un document avec ces quelques points, vous verrez que ça vous aidera grandement. Vous remplirez cette liste au fur et à mesure de votre attaque.
Pour améliorer encore vos notes, vous pouvez les ranger dans des catégories correspondant aux différentes étapes de vos tests. Ces étapes s’apparentent à votre kill chain, ou chaîne d’attaque. C’est votre méthodologie d’intrusion. Ainsi, vous pourrez avoir les catégories suivantes :
Reconnaissance initiale.
Première compromission.
Mouvement latéral.
Élévation de privilèges.
Persistance.
Par ailleurs, comme le chef en cuisine, avoir les bons outils permet d’être bien plus efficace ; mais ce n’est pas parce qu’on a les bons outils qu’on est un bon chef ! Il existe beaucoup de logiciels facilitant la prise de notes (Evernote, Microsoft OneNote, TreeNote et j’en passe), mais mon coup de cœur est l’outil Joplin. Après plusieurs centaines de tests d’intrusion, je n’ai à ce jour pas trouvé mieux pour organiser mes notes. C’est un outil gratuit, open source, qui fonctionne sur tout type de plateforme (Linux, Windows, Mac, Android, iOS).
C’est le seul outil qu’on peut utiliser ? Et si je veux m’organiser autrement, je serai banni à jamais ?
Non, bien entendu ! Je vous ai donné un exemple d’outil parce que je le trouve pratique et complet, mais si vous arrivez à vous organiser d’une autre manière, avec un autre outil, alors foncez ! L’important, c’est que vous vous y retrouviez pour être efficace et organisé. 😉
Pour terminer, la plupart des outils que nous allons utiliser dans ce cours ont pour option de pouvoir exporter le résultat des commandes dans un ou plusieurs fichiers. Cette fonctionnalité peut être très utile, notamment lorsque l’opération effectuée prend du temps. Ainsi, dès que possible, je vous conseille d’enregistrer la sortie de chacun de vos outils, afin de pouvoir y revenir plus tard pour y trouver une information particulière.
Maintenant que vous êtes paré pour organiser vos informations, il est temps de structurer votre environnement de travail.
Structurez votre environnement de travail
Maintenant que vous êtes un pro de la prise de notes, il faut préparer votre arsenal pour attaquer un environnement Active Directory. Vous allez utiliser plusieurs outils, mais aujourd’hui, les outils sont souvent dépendants des systèmes d’exploitation pour lesquels ils ont été écrits. C’est pourquoi il est très important de pouvoir jongler entre différents environnements de test pour utiliser le bon outil au bon moment.
Choisissez vos machines virtuelles
Pour faire face à tout type de situation, il est important de pouvoir lancer des outils depuis Linux ou depuis Windows. Avoir alors au moins deux machines est une bonne pratique lorsqu’on attaque un environnement Active Directory.
1. Une machine Linux de la distribution de votre choix. Si vous ne voulez pas vous embêter à installer un à un les outils d’attaque, la distribution Kali Linux peut vous faciliter la vie, puisqu’elle a été développée spécialement pour les attaquants. Ça peut être également intéressant de maîtriser votre distribution, donc de démarrer avec une Debian vierge et d’y installer uniquement ce dont vous avez besoin. Le choix est à vous, je ne jugerai pas, promis !
2. Une machine Windows, idéalement un Windows Server récent. Avoir un Windows Server permet d’installer très simplement les outils d’administration Active Directory utilisés par les administrateurs, mais qui sont également très utiles pour un attaquant.
Outils
Maintenant que vous avez votre socle, il faudra bien choisir les outils que vous voudrez utiliser. Dans ce cours, nous essaierons d’utiliser des outils qui peuvent être utilisés à la fois pour l’attaque et pour la défense. Vous verrez que finalement, les objectifs de ces deux côtés sont souvent similaires, et que les mêmes chemins et outils sont empruntés pour y parvenir.
Nous utiliserons par ailleurs des outils parfois propres à Linux, d’autres propres à Windows, d’autres enfin qui fonctionnent sur tout type de plateforme. C’est pour cela qu’il est très important de pouvoir jongler entre ces systèmes. Il est souvent possible de pouvoir se passer de l’un ou l’autre, mais ça complique fortement la tâche. Pourquoi faire compliqué quand on peut faire simple ? 😉
En ayant les éléments essentiels en main pour être correctement organisé, il ne reste plus qu’à clarifier la méthodologie d’attaque pour que vous puissiez démarrer vos tests.
Avant de passer à la suite, je vous propose d’écouter Charlie BROMBERG, qui nous partage ses pratiques sur sa manière de structurer son environnement de travail :
Appuyez-vous sur le cycle de test d’intrusion
Avec tout ce que vous avez en main, vous êtes presque prêt à démarrer votre attaque. Presque, parce qu’une attaque doit être méthodique. Rassurez-vous, je ne vais pas vous demander d’inventer une méthodologie. Il existe un cycle connu dans la méthodologie d’attaque, qui se décompose de la manière suivante :
Regardez la vidéo pour en savoir plus sur chacune de ces étapes.
En résumé
La prise de notes est essentielle pour structurer les informations que vous allez récolter, et leur donner de la valeur.
Un environnement de travail avec Linux et Windows permet de faire face à tous les besoins lors de l’attaque.
Attaquer un système est un cycle continu qui alterne entre la recherche d’information et l’exploitation.
Vous êtes maintenant outillé et organisé pour rentrer dans le vif du sujet et partir à la recherche de postes et serveurs vulnérables.