Dans cet article, nous allons parler des toutes premières bases de Metasploit et des commandes Metasploit utilisées dans l’interface de ligne de commande. Au début, la ligne de commande de la console MSF et le nombre de commandes disponibles peuvent sembler nombreux et difficiles à comprendre et à utiliser, mais ne vous laissez pas intimider par eux. Une fois que vous aurez compris le concept et la structure claire, ce sera très facile. Si nous mettons tout ensemble, le cadre Metasploit se compose du noyau et de la base, de nombreux exploits, de charges utiles, de modules (classes Ruby), de plugins, de scripts et de multiples interfaces utilisateur. Le framework Metasploit contient également d’excellents outils de collecte d’informations appelés modules auxiliaires. Les modules auxiliaires peuvent être utilisés pour l’analyse des ports, l’identification des services, le reniflage des mots de passe et l’énumération des correctifs Windows. Metasploit est hautement personnalisable pour les utilisateurs avancés et peut être adapté à vos besoins en écrivant vos propres exploits, modules, plugins et scripts. Si Metasploit ne fournit pas par défaut le module de collecte d’informations dont vous avez besoin, alors vous pouvez simplement l’écrire vous-même.

La msfconsole est l’interface utilisateur connue pour être la plus stable et celle avec laquelle nous travaillerons tout au long des tutoriels Metasploit sur Hacking Tutorials. En dehors de la stabilité, un autre avantage de la msfconsole est l’option d’exécuter des commandes externes comme la commande ping et la complétion automatique des onglets. Il existe également une interface utilisateur graphique pour Metasploit appelée Armitage. Nous examinerons Armitage et comment l’utiliser à la place de msfconsole dans un prochain tutoriel. Continuons ce tutoriel sur les commandes Metasploit avec la mise à jour du framework Metasploit si nécessaire, puis passons à la msfconsole pour voir quelles commandes sont à notre disposition.

Commandes de base de la msfconsole

En supposant que vous êtes sur Kali Linux 2016 rolling edition, nous pouvons démarrer le framework Metasploit et la msfconsole en cliquant sur l’icône Metasploit dans le dock. Cela va démarrer le service PostgreSQL et le service Metasploit automatiquement.

Mise à jour de Metasploit avec msfupdate

Débutons par la mise à jour de Metasploit en utilisant la commande suivante dans une session de terminal (pas dans msfconsole):

msfupdate

Cette commande devrait mettre à jour le framework Metasploit à la dernière version. Les mises à jour disent que nous devrions nous attendre à des mises à jour hebdomadaires(ish). Attention : L’exécution de msfupdate pourrait casser votre installation Metasploit. Après avoir exécuté cette commande pour ce tutoriel, nous avons rencontré des erreurs comme:

Cette erreur avait quelque chose à voir avec PostgreSQL et pour résoudre ce problème, essayez d’abord d’exécuter les commandes suivantes:

apt-get update

apt-get upgrade

apt-get dist-upgrade

Cela a résolu à problème de notre côté, cela avait probablement quelque chose à voir avec une version périmée d’un paquet. Votre installation de Metasploit ne fonctionne plus après l’exécution d’une mise à jour et vous avez besoin d’aide pour la réparer ? Utilisez la fonction de commentaire ci-dessous et nous essaierons de vous aider du mieux que nous pouvons. Continuons avec la msfconsole.

Metasploit msfconsole

Lorsque Metasploit a démarré et que la msfconsole est disponible, nous pouvons taper ‘help’ pour obtenir une vue d’ensemble du noyau Metasploit et des commandes backend avec une description :

Commandes Metasploit

Ce serait une perte de temps et hors de portée de ce tutoriel d’expliquer chaque commande Metasploit dans ce tutoriel. Nous voulons juste que vous soyez opérationnel le plus rapidement possible dans Metasploit et donc une connaissance de base des commandes de base devrait être suffisante pour le moment. Vous en apprendrez beaucoup plus sur les options avancées en cours de route. De plus, la plupart des descriptions de commandes devraient être très claires sur ce que fait exactement la commande et comment l’utiliser. Pour l’instant, nous allons examiner les commandes Metasploit de base les plus utilisées dans ce tutoriel comme :

  • Commandes de base : search, use, back, help, info et exit.
  • Commandes d’exploitation : set pour définir les variables et show pour afficher les options d’exploitation, les cibles, les charges utiles, les encodeurs, les nops et les options avancées et d’évasion.
  • Commandes d’exécution d’exploits : run et exploit pour exécuter des exploits contre une cible.

Il existe également une documentation complète incluse avec Metasploit qui peut être utilisée pour clarifier quoi que ce soit. Jetons un coup d’œil aux commandes de Metasploit.

Commandes de Metasploit

Nous allons passer rapidement en revue les commandes de base de Metasploit afin de pouvoir commencer la partie amusante et apprendre à utiliser les exploits sur une machine vulnérable comme Metasploitable 2. La commande de base se compose de help, back, exit et info.

Commandes use, back et exit

La commande use dans Metasploit est utilisée pour activer un module particulier et change le contexte de la msfconsole pour ce module particulier. Le nom de l’exploit sera mentionné en rouge sur la ligne de commande comme suit:

Dans cet exemple, nous avons changé le contexte de la ligne de commande pour l’exploit appelé realvnc_client. A partir de là, nous pouvons récupérer des informations sur cet exploit, définir les paramètres d’exploit requis et l’exécuter contre une cible.

Si nous voulons quitter le contexte de l’exploit et revenir à la msfconsole, nous devons utiliser la commande back. La commande back nous ramènera à la msfconsole dans le contexte général. A partir de là, nous pouvons émettre la commande use à nouveau pour passer à un autre module Metasploit.

La commande exit fermera la msfconsole et vous ramènera au terminal de Kali Linux.

Commande help

Comme nous l’avons vu plus tôt dans ce tutoriel, la commande help renverra une liste de commandes possibles avec une description lorsqu’elle est tapée à la msfconsole. Lorsqu’il y a un exploit actif sélectionné, nous pouvons utiliser la commande help pour obtenir une liste de commandes d’exploit:

Commande info

Lorsqu’un exploit est sélectionné avec la commande use, nous pouvons récupérer des informations comme le nom, la plateforme, l’auteur, les cibles disponibles et beaucoup plus en utilisant la commande info. Dans la capture d’écran suivante, nous avons utilisé la commande info sur un exploit nommé ie_execcommand_uaf:

Commande search

Au moment où nous écrivons ces lignes, Metasploit contient plus de 1.500 exploits différents et de nouveaux sont ajoutés régulièrement. Avec ce nombre d’exploit, la fonction de recherche, et savoir comment l’utiliser, devient très importante. La façon la plus simple d’utiliser la fonction de recherche est de lancer la commande search suivie d’un terme de recherche, par exemple flash pour rechercher les exploits liés au lecteur Flash. En utilisant la commande search, Metasploit recherchera le terme de recherche donné dans les noms de modules et la description comme suit :

Comme prévu, il y a beaucoup d’exploits liés au logiciel souvent vulnérable Flash player. La liste comprend également le zero-day CVE-2015-5122 Adobe Flash opaqueBackground Use After Free qui a été découvert dans la violation de données de Hacking Team l’année dernière.

Recherche d’exploits avec des mots clés

Vous pouvez également utiliser la commande de recherche avec un mot clé pour rechercher un auteur spécifique, un ID OSVDB ou une plateforme. La commande ‘help search’ affiche les mots-clés disponibles dans la msfconsole comme suit:

L’utilisation de la commande search avec un mot-clé est assez simple et affichée au bas du texte d’aide. La commande suivante est utilisée pour rechercher des modules avec un ID CVE de 2016:

msf > search cve:2016

Cela nous renvoie tous les exploits avec un ID CVE de 2016, y compris et un module auxiliaire scanner pour la très récente backdoor SSH du pare-feu Fortinet :

Commandes Metasploit pour les exploits

Dans le chapitre précédent, nous avons appris les commandes Metasploit pour activer un exploit sur la msfconsole et changer le contexte de la ligne de commande vers l’exploit avec la commande use. Nous allons maintenant voir comment afficher les paramètres de l’exploit et comment les modifier avec la commande set. Nous allons également voir comment afficher les charges utiles, les cibles, les options avancées et d’évasion. La commande help show affichera les paramètres disponibles pour la commande show:

Show options

La commande show options vous montrera les paramètres disponibles pour un exploit si elle est utilisée lorsque la ligne de commande est dans un contexte d’exploit. Utilisons l’exploit adobe_flash_shader_drawing_fill et regardons les options avec la commande suivante :

msf > Utiliser exploit/multi/browser/ adobe_flash_shader_drawing_fill

Suivi de la commande show options :

msf > show options

L’exploit Flash contient un total de 6 options dont seulement 2 sont requises :

  • Retries
  • SRVHOST (requis)
  • SRVPORT (requis)
  • SSL
  • SSLCert
  • URLPath

Notez que la commande show options renvoie la cible actuelle sélectionnée sous les options du module. La cible par défaut est 0, ce qui correspond à Windows pour l’exploit sélectionné.

Utilisez la commande set suivie du nom de l’option et de la nouvelle valeur pour modifier les valeurs par défaut :

Set SRVHOST 192.168.0.100 pour modifier la valeur SRVHOST en 192.168.0.100

Set SRVPORT 80 pour changer le port de 8080 à 80

En utilisant à nouveau la commande show options, vous pouvez vérifier que les valeurs SRVHOST et SRVPORT ont été modifiées. Vous pouvez changer les valeurs booléennes en utilisant la commande set avec le nom de l’option et true ou false.

Show payloads

Lorsque nous utilisons la commande show payloads la msfconsole retournera une liste de payloads compatibles avec cet exploit. Dans notre exemple d’exploit de flash player, il retournera pas mal de charges utiles compatibles:

Un aperçu des exploits compatibles

Pour utiliser une certaine charge utile, vous devez utiliser la commande set suivie du nom de la charge utile :

Set payload linux/x86/exec

Show targets

La commande show targets renvoie une liste des systèmes d’exploitation qui sont vulnérables à l’exploit sélectionné. Lorsque nous exécutons la commande, nous obtenons la sortie suivante pour l’exploit adobe_flash_shader_drawing_fill:

Un aperçu des cibles disponibles pour l’exploit sélectionné.

Cet exploit cible les systèmes d’exploitation Windows et Linux. Notez que nous pouvons utiliser la commande info pour obtenir des informations supplémentaires sur cet exploit et les cibles.

Pour définir une cible, nous pouvons utiliser la commande set suivie de l’ID de la cible:

set target 1

En définissant la cible, la liste des charges utiles sera beaucoup réduite car seules les charges utiles compatibles avec la cible seront affichées:

Show advanced

En utilisant la commande show advanced, nous pouvons jeter un coup d’œil aux options avancées de l’exploit.

Utiliser la commande set suivie du paramètre advanced et de la nouvelle valeur pour modifier les paramètres avancés :

Set displayablepayloadhandler true

Show encoders

La commande show encoders renvoie les encodeurs compatibles. Les encodeurs sont utilisés pour échapper aux signatures IDS/IPS simples qui recherchent certains octets de votre charge utile. Nous examinerons les encodeurs en détail dans un chapitre ultérieur des tutoriels Metasploit.

Pour utiliser un encodeur, utilisez la commande set suivie du nom de l’encodeur.

Show nops

La commande show nops renverra une liste de générateurs de NOP. Un NOP est l’abréviation de No Operation et est utilisé pour modifier le motif d’un traîneau NOP afin de contourner les signatures IDS/IPS simples des traîneaux NOP courants. Les générateurs NOP ont pour nom l’architecture du CPU. Nous examinerons les NOP dans un chapitre ultérieur de ce tutoriel.

Pour utiliser un générateur NOP, utilisez la commande set suivie du nom du générateur NOP. Lorsque l’exploit est lancé, les traîneaux NOP seront pris dans le générateur NOP.

Show evasion

La commande show evasion renvoie une liste des techniques d’évasion disponibles.

Pour modifier les paramètres d’évasions, utilisez la commande set suivie du paramètre d’évasion et de la nouvelle valeur.

Commandes Metasploit pour l’exécution de l’exploit

Lorsque toutes les options requises ont été définies pour l’exploit, y compris une charge utile et des paramètres avancés comme un générateur NOP, des options d’évasion et un encodage, l’exploit est prêt à être exécuté. L’exploit peut être exécuté à l’aide de deux commandes : run et exploit. Il suffit de taper run ou exploit dans la msfconsole et l’exploit sera exécuté.

Ceci conclura le tutoriel sur les commandes Metasploit pour le moment. Si vous avez des questions concernant l’une des commandes mentionnées ou non mentionnées, veuillez les poser en utilisant la fonctionnalité de commentaire en dessous de ce post. Dans le prochain tutoriel Metasploit, nous énumérerons la machine Metasploitable 2. Après cela, nous ferons une évaluation de la vulnérabilité avec les informations recueillies. Si vous n’avez pas encore installé Metasploitable 2, vous pouvez suivre le tutoriel d’installation de Metasploitable 2 dans un premier temps.

Share on: