Identification du document
Référence Ue_Cybersécurité-Initiation_Metasploit.docx
Version V 0.3
Nombre de pages 17
Documents de référence
Historique du document
Version Date Auteur Commentaires
V 0.1 28/10/2018 Cédric BERTRAND Initialisation du document
V 0.2 2/11/2018 Cédric BERTRAND Modifications
V 0.3 8/11/2018 Cédric BERTRAND Modifications
UE Cybersécurité Metasploit 09/11/18
Sommaire
1 Objet du document ......................................................................................................... 3
1.1 Metasploit ................................................................................................................ 3
1.1.1 Présentation ..................................................................................................... 3
1.1.2 Modules ........................................................................................................... 3
1.1.2.1 Module Exploit........................................................................................... 3
1.1.2.2 Module Payload ........................................................................................ 3
1.1.2.3 Modules Auxillaires ................................................................................... 3
1.1.3 Exploitation avec Metasploit ............................................................................. 4
1.2 Exemples d’exploitation avec metasploit ................................................................. 5
1.2.1 Linux ................................................................................................................ 5
1.2.1.1 Prise en main avec s2-045 ........................................................................ 5
1.2.1.2 Scan avec Nessus .................................................................................... 6
1.2.1.3 Exploitation avec metasploit ...................................................................... 6
1.2.1.4 Post-Exploitation ......................................................................................10
1.2.2 Windows .........................................................................................................11
1.3 Exemple d’exploitation : du scan de vulnérabilité à l’obtention d’un accès sur le
système cible ....................................................................................................................14
2 Commandes ..................................................................................................................17
2.1 Docs .......................................................................................................................17
2.2 Msfvenom ..............................................................................................................17
2.3 Metasploit ...............................................................................................................17
2.4 Meterpreter ............................................................................................................17
Classification : Public 2 / 17
UE Cybersécurité Metasploit 09/11/18
1 Objet du document
Ce document a pour objet d’initier à l’utilisation de Metasploit et de comment l’utiliser.
1.1 Metasploit
1.1.1 Présentation
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.
1.1.2 Modules
Metasploit possède de nombreux modules : certains sont à utiliser pour exploiter des
vulnérabilités, d’autres sont utilisés pour exécuter des actions une fois qu’un premier accès a
été obtenu au système, d’autres sont de simples scanneurs, etc.
Classification : Public 3 / 17
UE Cybersécurité Metasploit 09/11/18
Une fois des exemples réalisés, cela vous paraîtra plus simple.
Classification : Public 4 / 17
UE Cybersécurité Metasploit 09/11/18
Classification : Public 5 / 17
UE Cybersécurité Metasploit 09/11/18
Nous pouvons ensuite ouvrir notre navigateur et aller sur la page d’accueil.
Classification : Public 6 / 17
UE Cybersécurité Metasploit 09/11/18
On recherche ensuite s’il existe un module metasploit pour l’exploitation de cette vulnérabilité
(google). On découvre qu’il existe effectivement un module correspondant :
Classification : Public 7 / 17
UE Cybersécurité Metasploit 09/11/18
Une fois les options configurées (rhost pour l’adresse ip de la cible, targeturi pour l’url, rport
pour le port)
Une fois les options configurées, on lance l’exploit avec la commande « exploit ».
Néanmoins nous constatons que l’exploit échoue (en tout cas rien ne se passe et aucun
accès n’a été obtenu)
Ceci est dû à un problème avec le payload (la charge utile). Comme dit précédemment, le
payload est ce que nous souhaitons faire en exploitant la vulnérabilité (afficher un message,
ajouter un compte utilisateur, exécuter une commande, etc.). Le payload sélectionné par
défaut avec l’exploit (struts_content_type_ognl) ne fonctionne pas, nous allons donc le
modifier.
Pour afficher la liste des payloads disponibles pour cet exploit, nous tapons la commande
« show payloads » :
Classification : Public 8 / 17
UE Cybersécurité Metasploit 09/11/18
Une fois l’accès au système obtenu (nous sommes root en plus), nous pouvons faire ce que
bon nous semble : afficher les mots de passe des utilisateurs (présents dans le fichier
/etc/shadow), ajouter un utilisateur (adduser eleve), etc.
Classification : Public 9 / 17
UE Cybersécurité Metasploit 09/11/18
1.2.1.4 Post-Exploitation
Dans le cas actuel nous avons un simple accès shell sur le système. Néanmoins metasploit
possède un module « meterpreter » qui est en fait un shell évolué avec des fonctionnalités
avancées. Comme nous avons déjà un accès au système, nous allons utiliser cet accès pour
obtenir un shell meterpreter sur le système. Le module à utiliser est « shell_to_meterpreter ».
Nous constatons avec la commande « sessions –i » (qui permet de lister les sessions en
cours) que notre session est toujours active (la session 2).
- Ensuite on utilise le module post/multi/manager/shell_to_meterpreter et on indique la
session à utiliser (dans notre cas la session 2 comme listé plus haut)
- Une fois le module configuré, on l’exécute avec la commande exploit et une nouvelle
session sur le système cible est créée, cette fois-ci avec un shell meterpreter plutôt
qu’un simple shell.
Classification : Public 10 / 17
UE Cybersécurité Metasploit 09/11/18
Avec ce shell meterpreter, nous avons désormais accès à d’autres fonctionnalités avancées
(capture de frappe, webcam, parcours des fichiers, etc.)
1.2.2 Windows
L’exemple suivant montre l’utilisation d’un exploit et la prise de contrôle d’un système sous
Windows.
Il a été détecté que la machine 192.168.60.128 était vulnérable à l’exploit ms03_049 (par un
scan de vulnérabilités par exemple). Le module ms03_049_netapi permet d’exploiter cette
vulnérabilité. Le service vulnérable (SMB) est sur le port 445 de la machine cible.
Il reste maintenant à configurer le paylaod, c’est-à-dire ce que nous désirons réaliser suite à
l’exploitation de la vulnérabilité. Souhaite-t-on un accès shll ? Exécuter une commande ?
Afficher un simple message ?
Le payload dépend de l’exploit utilisé, du système d’exploitation, ainsi que des possibilités
offertes par l’exploit (certains exploits permettent d’exécuter des commandes, d’autres
d’ajouter un utilisateur, etc.)
Dans le cas présent, le payload demandé est l’obtention d’un shell meterpreter en bind_tcp
« set payload windows/meterpreter/bind_tcp ».
Bind_tcp : C’est la machine de l’attaquant qui va se connecter à la cible
Reverse_tcp : C’est la cible qui va se connecter à la machine de l’attaquant
Classification : Public 11 / 17
UE Cybersécurité Metasploit 09/11/18
Une fois le module configuré, reste à lancer celui-ci avec la commande « exploit ».
Classification : Public 12 / 17
UE Cybersécurité Metasploit 09/11/18
Une fois les hashes enregistrés, il est possible de casser ceux-ci avec un outil adapté
(comme par exemple john the ripper dans l’exemple ci-dessous)
Classification : Public 13 / 17
UE Cybersécurité Metasploit 09/11/18
The -Ss option tells nmap to perform a stealth scan, the -A option tells it to try to discover OS
and service version levels. As you can see from the above picture, several services are
running on multiple ports. If you notice, you will see this box is running Samba on ports 139
and 445. Samba provides SMB file and print services for Windows clients.
In this tutorial we will focus on the Samba service. Nmap says it is running version 3.x, let’s
see if we can get more specific information. Metasploit has some amazing auxiliary modules,
one section being the scanner section. Let’s search the scanner section for the SMB
Protocol:
Classification : Public 14 / 17
UE Cybersécurité Metasploit 09/11/18
Looks like the scanner section has a SMB version detector. In the picture above, I select and
run the SMB detector program. The program responds with the exact version of Samba –
3.0.20.
Doing a online quick search for vulnerabilities for this version of Samba returns “Username
Map Script”. If we use the “search samba” command in Metasploit it lists available exploits.
Now we will use the “Username Map Script” to gain a root level shell on the system:
Classification : Public 15 / 17
UE Cybersécurité Metasploit 09/11/18
Classification : Public 16 / 17
UE Cybersécurité Metasploit 09/11/18
2 Commandes
2.1 Docs
https://hydrasky.com/network-security/create-a-web-backdoor-payload-with-metasploit/
2.2 Msfvenom
https://www.offensive-security.com/metasploit-unleashed/msfvenom/
msfvenom -l payoads
2.3 Metasploit
https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/
2.4 Meterpreter
https://www.offensive-security.com/metasploit-unleashed/meterpreter-basics/
Classification : Public 17 / 17