Si vous suivez de près le monde de la cybersécurité, vous avez probablement déjà entendu parler de Mimikatz. Cet utilitaire rendu public en 2012 est fréquemment utilisé dans le cadre d’attaques informatiques, et les opérateurs des épidémies de ransomware Notpetya et BadRabbit n’ont pas hésité à s’en servir afin de propager leurs malwares sur les systèmes infectés.
Si le nom de Mimikatz est souvent cité dans les campagnes de ransomware, le programme n’a pourtant rien de malveillant en soi. « À l’origine, Mimikatz était une boîte à outils, un projet personnel que j’avais développé afin de mieux comprendre le fonctionnement interne de la sécurité dans Windows et d’effectuer des tests » explique Benjamin « gentilkiwi » Delpy, le créateur du programme. « Au fil des années, j’ai ajouté différents modules qui permettent de tester différents principes et outils de cryptographie de Windows, mais il y a aussi un module BusyLight qui a pour seule fonction d’allumer une LED par exemple. »
publicité
Démontrer les failles
Mimikatz aurait pu rester un simple projet anonyme, mais certains de ses modules ont attiré l’attention sur le logiciel : « Ce qui l’a fait connaître, c’est le module permettant de recuperer les mots de passe d’authentification en clair », explique Benjamin Delpy. Implémenté en 2011, ce module visait à mettre en lumière une faiblesse de sécurité que Microsoft refusait à l’époque de corriger. Les versions de Windows antérieures à Windows 10 utilisaient une fonction de gestionnaire d’authentification baptisée Wdigest, qui permettait à Widows de stocker les mots de passe utilisateur sous une forme chiffrée dans la mémoire vive de la machine afin d’éviter à l’utilisateur de se réauthentifier sur tous les services.
« Rien de tout ça n’est en clair dans Windows, mais ils ont malheureusement eu la mauvaise idée de stocker la clef de chiffrement et les données chiffrées dans le même espace mémoire. C’est un peu comme si on envoyait un fichier zip chiffré avec le mot de passe dans le corps du mail » explique le développeur. Outre ce module, Mimikatz embarque également d’autres fonctionnalités qui permettent de tester la sécurité de Windows, via la technique du Pass-the-hash ou des outils de tests pour Kerberos, un protocole d’authentification réseau utilisé par Microsoft.
À l’époque, Benjamin Delpy tente de contacter Microsoft pour les convaincre que le souci représente une faille de sécurité, mais la conversation n’aboutit à rien. Il décide donc de passer Mimikatz en open source et de présenter le fonctionnement de la faille afin de sensibiliser les entreprises et les administrateurs à ce risque de sécurité. « Je l’ai présenté à une conférence en 2012 et j’ai rendu le code source public juste après la présentation », explique le chercheur.
L’anecdote avait d’ailleurs été relatée dans un article de Wired : lors de cette fameuse conférence qui avait lieu en Russie, Benjamin Delpy a eu la surprise de découvrir à son retour à l’hôtel qu’un inconnu s’apprêtait à fouiller son ordinateur personnel, certainement à la recherche du code source de Mimikatz. « Ils ne sont pas venus me voir directement pour me demander le code source, mais je les ai retrouvés dans ma chambre d’hôtel. Ils ne savaient pas que je comptais de toute façon rendre le code source public, mais je l’ai fait d’autant plus rapidement » explique le chercheur. À l’époque, seul le binaire de l’outil est disponible et celui-ci est déjà bien dans le collimateur des services secrets.
Franc succès auprès de la communauté
Mais si Microsoft fait à l’époque la sourde oreille, la publication de Mimikatz attire rapidement l’attention des attaquants : « La première attaque connue pour s’être servie de Mimikat, c’était l’attaque ayant visé Diginotar, une autorité de certification. Les attaquants avaient utilisé mimikatz pour le déplacement latéral au sein du système en volant les mots de passe » explique Benjamin Delpy. En effet, si on évoque souvent des failles telles que EternalBlue ou plus récemment Bluekeep, fréquemment utilisées pour mettre un premier pied sur le réseau de la cible, Mimikatz est souvent utilisé par les attaquants pour de déplacer au sein du réseau de la victime et propager leurs malwares.
Benjamin Delpy a ainsi eu la surprise de retrouver le code de son outil dans plusieurs affaires célèbres d’épidémies de ransomware : « En étudiant le code de Notpetya par exemple, j’ai découvert que ses créateurs avaient réutilisé le binaire de Mimikatz, en y intégrant un peu à la hache le module qui les intéressait. J’ai reconnu mon code en l’analysant, Mimikatz était notamment utilisé pour le vol de mot de passe et la diffusion au sein du réseau. » On retrouve également Mimikatz dans d’autres attaques informatiques, ainsi que dans les outils utilisés fréquemment par les pentesters : Mimikatz est ainsi intégré au sein de Metasploit, la trousse à outils favorite du secteur.
C’est ainsi que malgré les bonnes intentions initiales de son créateur, Mimikatz est devenu à la fois un outil prisé par les attaquants et par les défenseurs. « Je m’attendais à ce que l’outil soit réutilisé par des attaquants, c’est le cas de nombreux outils du même genre. On peut citer Psexec par exemple. Ce à quoi je m’attendais moins, c’est la popularité de l’outil. Le monde de la sécurité de l’époque était un peu différent, plus confidentiel peut-être. Donc la sortie de Mimikatz a eu un certain retentissement. »
Indéniables bénéfices
La popularité de Mimikatz a néanmoins eu des effets positifs : avec Windows 10, Microsoft a considérablement revu son approche en matière de sécurité et a corrigé plusieurs des failles de sécurité démontrées par Benjamin Delpy. « D’un point de vue sécurité, Windows a énormément progressé avec Windows 10. Cela concerne principalement les versions entreprises et ça demande un peu de configuration, mais j’étais surpris de les voir avancer à une telle vitesse sur ces sujets » explique le créateur. Un outil comme Credential Guard, apparu dans Windows 10, peut ainsi être vu comme une réponse de Microsoft aux problèmes mis en lumière par Mimikatz. « On travaille avec Microsoft, j’ai déjà eu l’occasion de les rencontrer et d’échanger avec eux à plusieurs occasions. Mais c’est une relation assez spécifique on va dire. La renommée de Mimikatz nous aide à nous faire entendre, et on essaie d’être conciliants. » L’outil a également permis à beaucoup de développeurs et pentesters de sensibiliser les directions aux risques liés à l’exposition des mots de passe.
Aujourd’hui, Benjamin Delpy continue de développer Mimikatz et travaille également avec d’autres chercheurs en sécurité afin de développer de nouveaux outils pour les défenseurs. Il a ainsi développé Wanakiwi, avec l’aide de Mathieu Suiche et Adrien Guinet, un outil qui permettait sous certaines conditions de récupérer la clef de chiffrement de WannaCry et donc de déchiffrer les fichiers pris en otage par le ransomware.
Et si les attaquants continuent d’utiliser Mimikatz dans le cadre de leurs attaques, il ne s’inquiète pas trop : « Aujourd’hui les gens qui se font attaquer par un malware qui utilise mimikatz comprennent assez vite que le problème ne vient pas de mimikatz. Pour que mimikatz fonctionne, il faut être administrateur d’assez haut niveau. Si Mimikatz est arrivé sur un poste et qu’il a réussi à être exécuté avec les droits d’administrateurs, il y a quand même beaucoup d’autres questions de sécurité à se poser en amont. »
Comments