« Metasploit » : tous les exploits pour le prix d'un

(Pour Bruno Riccio)
06/05/24

Que penseriez-vous si je vous disais qu’il existe un outil qui rassemble les techniques les plus répandues d’évaluation de vulnérabilité, de tests d’intrusion, de criminalistique numérique, etc. ?

« Metasploit » est un cadre pour les tests d'intrusion, développé par Rapid 7 LCC1, qui renseigne sur les vulnérabilités, simplifie les opérations de pentesting et facilite le développement des IDS (systèmes de détection d'intrusion).

Un framework est une infrastructure logicielle qui fournit une structure de base et un ensemble d'outils, de bibliothèques et de lignes directrices (un ensemble de fonctions et d'outils déjà « prêts à l'emploi »), afin que l'utilisateur puisse se concentrer sur le problème à résoudre/l'action. à prendre, sans avoir à implémenter des fonctionnalités que quelqu'un d'autre a déjà créées ou à réécrire du code déjà écrit pour des tâches similaires.

Voici les principes de base de Metasploit :

1. Grande communauté et soutien: Étant open source et préinstallé (dans sa version gratuite) sur tous les systèmes basés sur Linux, il est soutenu par une large communauté de développeurs et de chercheurs en sécurité qui apportent de nouveaux modules. Cette communauté active aide à maintenir Metasploit à jour et réactif aux nouvelles menaces et vulnérabilités émergentes.

2. Exploiter la base de données: Metasploit comprend une base de données d'exploits (dont la définition sera donnée prochainement) qui permet aux utilisateurs de les rechercher, de les filtrer et de les utiliser sur une variété de systèmes et de services. Cette base de données est constamment mise à jour pour inclure les dernières vulnérabilités et les exploits correspondants.

3. Interface utilisateur: Metasploit propose plusieurs interfaces utilisateur, dont une version en ligne de commande et une interface graphique (Metasploit Edition communautaire et Metasploit Pro2) qui simplifient l'utilisation du framework même pour les utilisateurs les moins expérimentés.

4. Utilisation éthique: Bien que Metasploit puisse être utilisé à des fins illégales entre de mauvaises mains, la plupart des utilisateurs l'utilisent pour tester et améliorer la sécurité de leurs systèmes, ou comme outil de formation pour mieux comprendre les vulnérabilités et les techniques d'attaque (blue team mais aussi red team).

Essentiellement, Metasploit est un outil puissant et flexible utilisé par les professionnels de la cybersécurité, les chercheurs, les entreprises et les organisations gouvernementales pour évaluer et améliorer la sécurité des systèmes informatiques. Cependant, il est crucial de l’utiliser de manière éthique et légale.

EXPLOITER

En général, un exploiter est un jeu d'instructions ou un code spécifiquement conçu pour exploiter une vulnérabilité ou une faiblesse particulière au sein d’un système informatique ou d’une application. Lorsqu'il est exécuté avec succès, un exploit permet à l'attaquant d'obtenir un accès non autorisé au système cible, d'exécuter du code arbitraire, de compromettre la sécurité du système ou de se lancer dans d'autres actions malveillantes. Ces exploits peuvent exploiter différents types de vulnérabilités, matérielles ou logicielles, comme des erreurs de programmation intentionnelles et non intentionnelles (backdoors), des débordements de tampon, des injections de code, etc.

Plus précisément, Metasploit propose une série d'exploits qui peuvent être utilisés en fonction des vulnérabilités existantes dans le système cible, révélées à l'attaquant suite à une analyse spécifique.

Utilisation des modules d'analyse Metasploit, tels que "auxiliaire/scanner/portscan/tcp », vous pouvez exécuter une analyse des ports ouverts et des services d'écoute sur le système cible. Cela donne un aperçu des points d’entrée potentiels dans le système.

Les exploits peuvent être classés en deux types :

  • Exploiter attivi: Ils sont exécutés sur un système cible, exploitent le système, effectuent la tâche spécifique et cessent d'exister.

  • Exploiter passif: ils attendront que le système cible se connecte à l'exploit ; Cette approche est souvent utilisée par des attaquants sur Internet qui demandent à télécharger des fichiers ou des logiciels.

CHARGE UTILE

Un charge utile, littéralement « payer des frais » est un morceau de code exécuté via l'exploit. La différence entre les deux est que les exploits sont utilisés pour pénétrer dans un système et que les charges utiles sont utilisées pour effectuer des actions spécifiques.

Par exemple, un enregistreur de frappe peut être utilisé comme charge utile en conjonction avec un exploit. Une fois l'exploit réussi, il installera le keylogger dans le système de la cible.

AUXILIAIRES

Les auxiliaires sont des modules qui vous aident à exécuter des fonctions personnalisées autres que l'exploitation d'un système. Cela inclut les scanners de ports, les fuzzers, les renifleurs et bien plus encore.

Voici quelques exemples:

  1. console msf: La console Metasploit est la principale interface de ligne de commande pour interagir avec le framework. Il vous permet d'exécuter des commandes, de charger des modules, de lancer des exploits et d'effectuer des tests d'intrusion.

  2. msfvenom: Un outil pour générer des charges utiles personnalisées. Permet aux utilisateurs de créer des charges utiles pour exploiter des vulnérabilités spécifiques ou à des fins de shell inversé.

  3. Compteur: Une charge utile Metasploit polyvalente qui fournit un large éventail de fonctionnalités post-exploitation sur les systèmes compromis. Il comprend des fonctionnalités telles que l'accès au système de fichiers, le contrôle du système à distance, la capture d'écran, etc.

  4. fenêtre automatique: Un module qui automatise le processus de recherche et d'exploitation des vulnérabilités sur un hôte ou un réseau. Il utilise une variété d'exploits pour tester automatiquement les systèmes pour détecter les vulnérabilités connues.

Comment est-ce utilisé?

Avant la phase d’attaque, il y a évidemment la reconnaissance et l’analyse des vulnérabilités de l’adversaire, comme dans toute attaque classique.

Pratiquement tous les outils de reconnaissance que vous pouvez imaginer s'intègrent à Metasploit, permettant d'identifier le point faible que vous recherchez.

Une fois qu'une faiblesse est identifiée, la vaste et modulaire base de données Metasploit est automatiquement recherchée pour l'exploit qui ouvrira cette faille et permettra l'entrée dans l'appareil de la victime. Par exemple, l'exploit EternalBlue3 de NSA (US National Security Agency), a été parfaitement adapté à Metasploit et constitue un choix fiable lorsqu'il s'agit de systèmes Windows hérités non corrigés. EternalBlue utilise une technique appelée entretien de la piscine, qui est un type d'attaque pulvérisation en tas (technique utilisée pour faciliter l'exécution de code arbitraire sur la machine victime) à la structure mémoire du noyau. En ciblant les systèmes Windows vulnérables, il injecte un shellcode qui permet à l'attaquant d'utiliser l'adresse IP de la machine pour communiquer directement avec le protocole Server Message Block (SMB), un protocole de partage de fichiers qui permet aux systèmes Windows connectés au même réseau ou domaine de partager fichiers et dossiers ; il permet également aux ordinateurs de partager des imprimantes et des ports série avec d'autres ordinateurs au sein du même réseau. Il a été utilisé par des attaquants pour installer ransomware dans les appareils des victimes, c'est-à-dire un type de malware qui crypte les données de la victime, demandant une rançon pour les déchiffrer.

Mais comment ça marche en pratique ?

Le processus est très simple et intuitif : il suffit de démarrer Metasploit en utilisant la commande «démarrer msfconsole» et recherchez (recherche) l'exploit d'intérêt, dans ce cas « Bleu éternel ».

Nous verrons les exploits disponibles avec leurs descriptions. Il ne nous reste plus qu'à décider lequel utiliser et vers qui le rediriger.

Les commandes que j'ai utilisées permettent de créer un reverse shell sur la machine de la victime... simple non ? Oui et non!

Il existe d'innombrables commandes qui peuvent être utilisées (sans compter la combinaison avec des exploits et des charges utiles), la seule solution est de « bidouiller » et de s'impliquer dans l'océan de possibilités qu'offre cet outil !

Un autre exemple pourrait être lié à la parfaite intégration entre Metasploit et son module intégré John l'Eventreur (outil de craquage de mot de passe dont j'ai parlé dans l'article précédent4).

le module 'auxiliaire/analyser/jtr_crack_fast' a été créé pour faciliter l'utilisation de JTR dans le framework. Il fonctionne avec les hachages Windows connus (NTLM et LANMAN). Utilisez simplement les hachages de la base de données comme entrée, puis assurez-vous d'avoir "hashdumpé" une base de données avant de commencer la phase de craquage. Le module récupère les hachages dans la base de données et les transmet aux binaires de John qui sont désormais inclus dans le framework Metasploit via un fichier au format «pwdump» généré.

Une fois le forçage initial de la liste de mots terminé, des règles de force brute incrémentielles, appelées « All4 & Digits5 », sont utilisées pour forcer des combinaisons supplémentaires. Ces ensembles de règles sont présentés ci-dessous et peuvent être trouvés dans le même fichier de configuration john.conf dans le framework lui-même. Les valeurs fissurées sont ajoutées à la liste de mots au fur et à mesure qu'elles sont trouvées. C'est avantageux :

Les hachages précédemment crackés sont extraits du fichier «john.pot" lors du démarrage d'une opération et ceux-ci sont utilisés comme valeurs seed pour les exécutions ultérieures, permettant éventuellement de casser d'autres hachages précédemment non craqués. Enfin, les combinaisons nom d'utilisateur/mot de passe découvertes sont signalées à la base de données et associées à l'hôte/service.

Réflexions finales sur le caractère unique de Metasploit

Plusieurs aspects contribuent à la renommée de Metasploit dans le domaine de la cybersécurité :

  1. Large gamme de fonctionnalités: Metasploit propose une large gamme d'outils et de modules qui couvrent toutes les phases des tests d'intrusion, de la reconnaissance à l'exécution de l'exploitation jusqu'à l'élévation des privilèges et au-delà. Cette suite complète d’outils en fait une ressource essentielle pour les professionnels de la cybersécurité.

  2. Facilité d'utilisation: Malgré la complexité des tâches de sécurité qu'il peut effectuer, Metasploit est conçu pour être accessible même aux débutants. Il offre des interfaces utilisateur intuitives, telles qu'une console de ligne de commande et une version GUI pour Metasploit Community Edition et Metasploit Pro, qui facilitent la navigation et l'utilisation du framework.

  3. Mise à jour constante: Metasploit est soutenu par une large communauté de développeurs et de chercheurs en sécurité qui contribuent constamment à de nouveaux modules, exploits et mises à jour pour maintenir le framework au courant des dernières menaces et vulnérabilités.

  4. Flexibilité et adaptabilité: Grâce à son architecture modulaire, Metasploit peut être étendu et adapté aux besoins spécifiques des utilisateurs. Cela permet aux utilisateurs de personnaliser le framework et de développer de nouveaux modules pour répondre à des exigences de sécurité uniques.

  5. Support et documentation de la communauté: Metasploit bénéficie d'une large base d'utilisateurs et d'un solide support communautaire. Il existe des forums, une documentation détaillée et des ressources en ligne qui aident les utilisateurs à apprendre et à résoudre les problèmes.

  6. Open source et gratuit: Le cœur du framework Metasploit est open source et distribué sous licence « BSD », ce qui signifie qu'il est libre de télécharger, utiliser e modificare. Cela le rend accessible à un large éventail d’utilisateurs, quelles que soient leurs ressources financières.

Dans l’ensemble, c’est cette combinaison de puissance, de facilité d’utilisation, de flexibilité et de soutien communautaire qui fait de Metasploit l’un des frameworks de cybersécurité les plus connus et les plus utilisés au monde.