Metasploit, un framework de test d'intrusion détourné pour pirater
Metasploit est un outil de test de pénétration très utilisé qui rend le piratage plus facile qu'avant. Il est devenu indispensable autant pour les Red Teams que pour les Blue Teams.
Qu'est-ce que Metasploit ? Il s'agit d'un framework de test d'intrusion qui simplifie le piratage. Un outil essentiel pour de nombreux attaquants, mais aussi pour les défenseurs des systèmes informatiques. Il suffit de pointer Metasploit sur la cible, de choisir un exploit, de définir la charge utile à déposer et d'appuyer sur Enter. Heureusement, en pratique ce n'est pas aussi simple que cela. Alors, commençons par le commencement. Auparavant, il fallait accomplir un grand nombre de tâches très répétitives pour réaliser des tests d'intrusion, et le gros apport de Metasploit, c'est qu'il a permis d'automatiser ces tâches.
Collecte d'informations, accès, persistance, camouflage... Metasploit est un peu le couteau suisse du piratage et si vous êtes un professionnel de la sécurité de l'information, il est fort probable que vous l'utilisiez déjà. Mieux encore, le noyau Metasploit Framework sous licence BSD est non seulement gratuit, mais pré-installé sur Kali Linux. La version gratuite du framework n'offre qu'une interface en ligne de commande, mais la licence Metasploit Pro (une par poste utilisateur) donne accès à une interface graphique par cliquer-glisser-déposer, en plus d'autres fonctionnalités intéressantes.
Comment fonctionne Metasploit et quelle est son histoire ?
C'est à HD Moore que l'on doit les premiers travaux sur Metasploit, dont il livre la version 1.0 écrite en Perl en 2003. Depuis, son projet s'est considérablement développé, passant de 11 exploits initiaux à plus de 1 500 aujourd'hui, plus environ 500 charges utiles. En route, le framework a abandonné Perl pour adopter Ruby. En 2009, l'entreprise de sécurité Rapid7 acquiert Metasploit et recrute HD Moore. (Ce dernier a quitté le projet en 2016.) Depuis, l'outil est devenu le framework de développement des exploits par excellence, malgré la concurrence de Canvas et de Core Impact, au point qu'aujourd'hui, les rapports zero day incluent presque toujours un module Metasploit comme preuve de concept.
Utiliser Metasploit
Pendant la phase de collecte d'informations d'un test de pénétration, Metasploit s'intègre parfaitement avec Nmap, le scan SNMP et le dénombrement des correctifs Windows, entre autres choses. Il existe même une passerelle vers Nessus, le scanner de vulnérabilité de Tenable. Presque tous les outils de reconnaissance auxquels on peut penser s'intègrent à Metasploit, ce qui permet de trouver la faille dans tout type d'armure. Une fois la vulnérabilité identifiée, il suffit de rechercher dans la vaste base de données extensible de Metasploit l'exploit qui permettra d'exploiter la faille et de pénétrer dans le système soumis au test. Par exemple, l'exploit EternalBlue de la NSA, rendu public par les Shadow Brokers en 2017, a été packagé pour Metasploit et c'est un outil fiable pour tester les systèmes Windows existants non mis à jour.
De même qu'on peut associer un bon vin avec un bon fromage, l'exploit est associé à une charge utile adaptée à la tâche à accomplir. La plupart des gens veulent un shell, une charge utile appropriée, pour attaquer les systèmes Windows. Dans le genre, il y a le très populaire Meterpreter, un shell interactif exclusivement in-memory. Les boîtes Linux ont leur propre shellcode en fonction de l'exploit utilisé. Une fois entré sur la machine cible, Metasploit fournit un tas d'outils post-exploitation pour l'escalade des privilèges, le passage du hachage, le sniffing de paquets, la capture d'écran, les keyloggers (ils enregistrent la frappe au clavier) et les outils mobiles. L'attaquant peut également configurer une porte dérobée persistante au cas où la machine en question serait redémarrée.
Chaque année, Metasploit s'enrichit de nouvelles fonctionnalités. Il intègre désormais un fuzzer pour identifier les failles de sécurité potentielles dans les binaires, et une liste impressionnante de modules auxiliaires, trop longs à détailler. Et ce ne sont que quelques-unes des choses que peut faire Metasploit. Le framework est modulaire et facilement extensible et il est soutenu par une communauté active. Et s'il ne fait pas exactement ce que vous voulez qu'il fasse, il y a de fortes chances pour que vous puissiez l'adapter à vos besoins.
Apprendre Metasploit
Il existe de nombreuses ressources gratuites et bon marché pour apprendre Metasploit. Le meilleur point de départ pour beaucoup est probablement le téléchargement et l'installation de Kali Linux, ainsi qu'une machine virtuelle vulnérable (VM) pour la pratique sur cible. (Évitez de vous former à Metasploit en ciblant les réseaux d'autres personnes sans leur permission. C'est illégal.) Offensive Security, le groupe qui maintient Kali et gère la certification Offensive Security Certified Professional (OSCP), offre également Metasploit Unleashed, un cours de formation gratuit (seul un don à une association humanitaire active sur le sol africain est demandé en contrepartie). Le livre No Starch Metasploit est aussi une ressource indispensable. Comme tous les livres No Starch Press, il est livré avec un ebook sans DRM. Le projet Metasploit offre une documentation détaillée et son canal YouTube est une autre bonne ressource pour le testeur de pénétration débutant.
Télécharger Metasploit
Metasploit est livré avec Kali Linux, mais il est possible de télécharger le framework séparément sur le site web de Metasploit. Metasploit fonctionne sur les systèmes de type Unix et Windows. Le code source de Metasploit Framework est disponible sur GitHub. Metasploit se décline aussi en différentes saveurs. En plus du Framework Metasploit free/libre, Rapid7 a également développé Metasploit Community Edition, une interface utilisateur Web gratuite pour Metasploit, et Metasploit Pro. Cette version comporte des add-ons payants pour les testeurs de pénétration qui préfèrent une interface graphique ou des assistants dans le genre des wizards de MS Office pour réaliser des audits de base, ou encore lancer des campagnes de phishing pour tester la sécurité de leurs clients. Une comparaison des fonctionnalités entre la version gratuite et Pro est disponible sur le site de Rapid7.