I — Qu'est-ce que le pentesting ?
Le pentesting (ou test d'intrusion) est une démarche de sécurité offensive qui consiste à simuler l'attaque d'un système, d'un réseau ou d'une application dans le but d'identifier ses vulnérabilités avant qu'un attaquant réel ne le fasse.
Un pentest suit généralement plusieurs phases :
• Reconnaissance — Collecter des informations sur la cible (domaine, IP, services exposés…).
• Scan & Énumération — Identifier les ports ouverts, les services actifs et leurs versions.
• Exploitation — Tirer parti des vulnérabilités identifiées pour obtenir un accès.
• Post-exploitation — Maintenir l'accès, pivoter sur le réseau, escalader les privilèges.
• Rapport — Documenter les failles et proposer des correctifs.
Important : Un pentest est toujours réalisé avec l'accord explicite du propriétaire du système. Toute action non autorisée est illégale.
II — Reconnaissance passive
La reconnaissance passive consiste à collecter des informations sur une cible sans interagir directement avec elle. L'objectif est de rester discret et de construire une cartographie initiale avant tout scan actif.
ping
ping vérifie si un hôte est joignable sur le réseau en envoyant des paquets ICMP Echo Request. C'est le premier réflexe pour vérifier qu'une machine répond.
ping google.com
ping -c 4 192.168.1.1
traceroute
traceroute (ou tracert sous Windows) affiche le chemin emprunté par les paquets pour atteindre une cible, saut par saut. Utile pour identifier les équipements réseau intermédiaires et détecter d'éventuels filtrages.
traceroute google.com
tracert google.com
whois
whois interroge les registres de noms de domaine pour obtenir des informations sur un domaine : registrant, dates d'enregistrement, serveurs DNS, adresse email de contact…
whois exemple.com
dig
dig (Domain Information Groper) est l'outil de référence pour interroger les enregistrements DNS d'un domaine. Il permet de récupérer les adresses IP, les serveurs mail, les serveurs de noms, etc.
dig exemple.com
dig exemple.com MX
dig exemple.com NS
dig exemple.com ANY
dig @8.8.8.8 exemple.com
III — Scan de réseau avec Nmap
Nmap (Network Mapper) est l'outil de référence pour le scan de ports et la découverte de services. Il permet d'identifier les hôtes actifs, les ports ouverts, les services exposés et leurs versions.
Découverte d'hôtes
Avant de scanner les ports, on identifie les machines actives sur le réseau avec un ping scan (sans scan de ports).
nmap -sn 192.168.1.0/24
Types de scan
• SYN Stealth (-sS) — Scan TCP furtif : envoie un SYN mais ne complète pas la connexion (requiert les droits root). C'est le scan par défaut et le plus utilisé.
• UDP (-sU) — Scan des ports UDP. Les réponses possibles sont : OPEN, OPEN|FILTERED (pas de réponse, peut-être derrière un pare-feu), ou ICMP Port Unreachable (port fermé).
nmap -sS cible
nmap -sU cible
Options courantes
nmap -sV cible
nmap -sC cible
nmap -oN resultat.txt cible
nmap -p 80,443 cible
nmap -p- cible
nmap --top-ports 1000 cible
Combinaison recommandée : nmap -sC -sV -oN scan.txt cible — lance les scripts par défaut, détecte les versions et sauvegarde les résultats.
NSE — Nmap Scripting Engine
Le NSE permet d'étendre les capacités de Nmap via des scripts Lua. Les catégories principales sont :
• safe — Scripts non intrusifs.
• vuln — Détection de vulnérabilités connues.
• exploit — Tentatives d'exploitation (à utiliser avec précaution).
• brute — Brute-force de services.
nmap --script=vuln cible
nmap --script=http-title cible
nmap --script vuln -p 445 cible
Évasion de pare-feu (Firewall Evasion)
Nmap propose plusieurs techniques pour contourner les filtrages réseau :
nmap -f cible
nmap -D RND:5 cible
nmap --source-port 53 cible
nmap -Pn cible
À retenir : -Pn est particulièrement utile quand l'hôte bloque les pings ICMP mais a des ports ouverts. Sans cette option, Nmap considèrerait la cible comme éteinte et arrêterait le scan.
IV — Scan web
Gobuster
Gobuster est un outil de bruteforce de répertoires et fichiers sur un serveur web. Il envoie des requêtes HTTP en masse pour découvrir des chemins cachés non listés dans la navigation normale.
gobuster dir -u http://cible.com -w /usr/share/wordlists/dirb/common.txt
gobuster dir -u http://cible.com -w wordlist.txt -x php,html,txt
gobuster dns -d cible.com -w wordlist.txt
Options utiles :
• -x — Extensions de fichiers à tester (php, html, txt…).
• -t — Nombre de threads (défaut : 10).
• -o — Fichier de sortie pour sauvegarder les résultats.
WPScan
WPScan est un scanner spécialisé pour les sites WordPress. Il permet d'identifier la version de WordPress, les plugins et thèmes installés, ainsi que les comptes utilisateurs.
wpscan --url http://cible.com
wpscan --url http://cible.com --enumerate u
wpscan --url http://cible.com --enumerate p
wpscan --url http://cible.com -U admin -P /usr/share/wordlists/rockyou.txt
Bonne pratique : Utiliser l'option --api-token avec un token WPScan pour accéder à leur base de données de vulnérabilités connues et enrichir les résultats.
Nikto
Nikto est un scanner de vulnérabilités pour serveurs web. Il teste un large éventail de problèmes de sécurité : fichiers sensibles exposés, mauvaises configurations, en-têtes HTTP manquants, versions obsolètes…
nikto -h http://cible.com
nikto -h http://cible.com -p 8080
nikto -h http://cible.com -o nikto.txt
À noter : Nikto est bruyant — il génère de nombreuses requêtes et sera facilement détecté par un IDS/IPS. À utiliser uniquement dans un cadre autorisé.
V — Récapitulatif des outils
Voici un résumé des outils couverts dans cette documentation :
• ping — Vérifier la joignabilité d'un hôte.
• traceroute — Tracer le chemin réseau vers une cible.
• whois — Informations sur un domaine (OSINT passif).
• dig — Interroger les enregistrements DNS.
• nmap — Découverte de ports, services et vulnérabilités réseau.
• gobuster — Bruteforce de répertoires et sous-domaines web.
• wpscan — Audit de sites WordPress.
• nikto — Scanner de vulnérabilités serveur web.