Le projet Metasploit regroupe certains des meilleurs outils de sécurité disponibles, notamment le Metasploit Framework open source. Les pentesters comme les hackers l’utilisent pour détecter et exploiter des vulnérabilités, mais aussi pour configurer des shells inversés, développer des charges utiles malveillantes ou des charges utiles, ou générer des rapports.
L’outil, maintenu par Rapid7, propose même une documentation complète, où vous pouvez apprendre les bases nécessaires pour commencer à l’utiliser.
Cependant, Metasploit n’est pas un simple outil de hacking supplémentaire. C’est une plateforme complète avec des lignes de commande et des modules que vous pouvez utiliser pour attaquer une cible. Elle propose plusieurs fonctionnalités, des interfaces web et des essais gratuits. Mais nous nous concentrerons ici sur le Metasploit Framework, qui est l’édition gratuite et open source.
À lire aussi : 10 principaux outils de test d’intrusion open source
Configurer un environnement de test
L’idée avec Metasploit est d’attaquer une autre machine : vous aurez donc besoin d’une autre machine pour effectuer vos tests. La plupart des débutants utilisent une machine virtuelle avec Kali Linux et leur propre machine comme cible.
Même si cette configuration peut sembler pratique, il n’est pas recommandé de l’utiliser. Il est préférable d’utiliser plusieurs machines virtuelles, par exemple une pour l’attaquant et une pour la victime. Vous pourrez ainsi vous entraîner avec différents systèmes d’exploitation et désactiver en toute sécurité les logiciels antivirus et les pare-feu.
Prérequis
Par souci de simplicité, nous utiliserons Kali Linux, mais vous pouvez utiliser les installateurs Nightly si vous le préférez. Le Metasploit Framework est disponible sur tous les principaux systèmes d’exploitation, notamment macOS, Windows et les distributions Linux.
Si vous êtes prêt à installer Kali, le plus simple consiste à lancer une machine virtuelle. Une fois celle-ci configurée, connectez-vous à une nouvelle session Kali et recherchez Metasploit Framework dans le menu pour lancer la console. Vous pouvez également ouvrir le terminal et saisir msfconsole.
En règle générale, il est vivement recommandé de maintenir votre système à jour afin de bénéficier des dernières versions des exploits et des autres logiciels. Pour ce faire, ouvrez le terminal Kali et saisissez apt update.
Cette opération peut prendre un certain temps, mais ne faites pas l’impasse sur cette étape, sauf s’il s’agit de la première fois que vous installez et utilisez Kali.
Votre premier exploit
Metasploit fournit une vaste base de données regroupant toutes sortes d’exploits. Vous pouvez par exemple utiliser la commande search type:exploit platform:unix pour rechercher des exploits destinés aux systèmes Unix.
Vous obtiendrez une longue liste d’exploits potentiels pour attaquer votre cible. Des commandes telles que use exploit/unix/local/chkrootkit peuvent être utilisées directement dans la console.
Si une charge utile est définie par défaut, Metasploit la sélectionnera pour vous, mais vous pouvez afficher toutes les charges utiles avec la commande show payloads.
Pour sélectionner une charge utile, utilisez la commande set payload. Par exemple, set payload cmd/unix/bind_awk sélectionnerait la première option ci-dessus.
Après cela, vous utiliserez logiquement la commande run. Cependant, certaines charges utiles nécessitent des configurations supplémentaires, comme une session active et un hôte.
Pour lister toutes les options que vous pouvez encore configurer, saisissez show options dans le terminal ; pour obtenir davantage d’informations, vous pouvez saisir info.
Ces commandes vous fourniront toutes les informations nécessaires, notamment l’état actuel de votre charge utile, les paramètres, tous les détails sur l’exploit que vous générez, et bien plus encore.
Vous pouvez également utiliser la commande setg pour définir certains paramètres comme variables globales, afin de ne pas avoir à saisir de nouveau les mêmes configurations lors de vos tests avec d’autres exploits.
Une fois tous les paramètres correctement définis, vous pouvez saisir run ou exploit. Ensuite, les étapes suivantes consistent généralement à envoyer l’exécutable généré vers une machine ciblée afin d’exploiter la vulnérabilité.
À lire aussi :
- Analyse des vulnérabilités avec Nmap en toute simplicité : tutoriel
- Premiers pas avec Burp Suite : tutoriel de pentest
Concepts et fonctionnalités clés de Metasploit
Pour tirer pleinement parti de Metasploit Framework, vous devez comprendre certains concepts plus avancés — pas nécessairement plus complexes.
Modules auxiliaires
En plus des exploits et des charges utiles, Metasploit fournit des modules auxiliaires préconfigurés qui facilitent le travail.
Par exemple, la commande use auxiliary/scanner/ftp/easy_file_sharing_ftp
permet d’exploiter une vulnérabilité de traversée de répertoires présente dans Easy File Sharing FTP Server 3.6. Les scanners utilisent également une simple commande run pour détecter efficacement les vulnérabilités à exploiter.
En outre, les modules auxiliaires sont relativement bien organisés en catégories (sous-dossiers), ce qui peut contribuer à accélérer les processus de travail.
Encodeurs
Les encodeurs permettent d’obfusquer vos charges utiles afin d’échapper à la détection. Par exemple, la commande use encoder/x64/xor utilise une clé de 8 octets et tire parti de l’adressage relatif x64.
Évasion
Une fois vos premières charges utiles générées, vous pourrez apprécier des paramètres plus avancés, comme les options d’évasion, accessibles avec la commande show evasion.
Cette fonctionnalité n’est pas toujours activée par défaut pour toutes les charges utiles, mais, lorsque des techniques d’évasion sont disponibles, vous pouvez les utiliser pour contourner les mécanismes de détection courants, tels que les logiciels antivirus, les logiciels d’détection et de réponse sur les terminaux (EDR) ou les pare-feu.
nops
Les Nops sont un autre type de modules fournis par Metasploit. Ils peuvent être affichés avec la commande use nop/tty/generic.
Ces générateurs produisent « une série d’octets aléatoires que vous pouvez utiliser pour contourner les signatures de NOP sled des IDS et IPS standard. »
Post-exploitation
Metasploit peut vous aider après l’exploitation grâce à des modules permettant d’élever les privilèges root, d’installer des enregistreurs de frappe ou d’exécuter des scripts PowerShell après avoir obtenu un accès non autorisé.
Ces techniques de post-exploitation sont extrêmement utiles pour accélérer les opérations lors d’un test d’intrusion. Par exemple, use post/osx/capture/keylog_recorder peut être utilisé pour enregistrer les frappes et autres événements du clavier.
Grep
Lorsque vous recherchez des exploits ou d’autres modules, utilisez grep pour accélérer le processus et sélectionner uniquement les résultats pertinents. Il s’agit d’une commande utile pour tous les types de modules, et pas uniquement pour les scanners auxiliaires. Utilisez grep avec la commande search. Par exemple :
grep scanner search ssh
Meterpreter
Meterpreter est une charge utile avancée qui compte parmi les charges utiles les plus utilisées avec Metasploit. Elle est souvent utilisée en développement pour simuler des attaques et possède des fonctionnalités spéciales permettant de migrer vers un autre processus ou de prendre des captures d’écran sur la machine cible.
Msfvenom
Msfvenom combine la génération et l’encodage de charges utiles, et a remplacé msfpayload et msfencode en 2015. Sa syntaxe n’est pas si compliquée, et vous pouvez l’utiliser directement dans Kali Linux en saisissant la commande, ou simplement msfpc dans le terminal (en dehors de la console msf). En outre, il n’est pas limité à un seul format de sortie (par exemple, vous pouvez générer des fichiers .exe et d’autres types de fichiers).
À lire aussi : 13 principaux outils d’analyse des vulnérabilités
Ce que les attaquants peuvent faire avec un minimum d’efforts
Metasploit est un outil puissant que les pentesters (et les hackers) peuvent utiliser pour :
- Effectuer toutes sortes d’analyses et d’énumérations
- Obtenir un accès non autorisé (par exemple, lister les jetons)
- Usurper l’identité d’utilisateurs
- Exfiltrer des données confidentielles
- Prendre des captures d’écran
- Copier la page de connexion d’un site web fréquemment consulté par la victime et la rediriger vers un serveur malveillant (par exemple, en modifiant le fichier hosts)
- Installer des enregistreurs de frappe
Autrement dit, un attaquant peut prendre le contrôle total d’une machine ciblée avec un minimum d’efforts et des compétences techniques limitées en utilisant le Metasploit Framework.
À lire ensuite : Principaux outils de gestion des vulnérabilités





