Penetration Testing
Le Penetration Testing, ou test d'intrusion, est une méthodologie d'évaluation de la sécurité qui simule des attaques réelles afin d'identifier les vulnérabilités avant qu'elles ne soient exploitées par des attaquants malveillants.
Méthodologies de Pentesting
OWASP Testing Guide
Cadre complet pour les tests de sécurité des applications web, couvrant de la collecte d'informations aux tests de logique métier.
PTES (Penetration Testing Execution Standard)
Méthodologie structurée en 7 phases : pré-engagement, collecte d'informations, modélisation des menaces, analyse des vulnérabilités, exploitation, post-exploitation et rapport.
OSSTMM
Open Source Security Testing Methodology Manual - méthodologie scientifique pour les tests de sécurité sur divers canaux (humain, physique, sans fil, télécommunications et réseaux).
Phases du Penetration Testing
1. Reconnaissance
- Passive : Collecte d'informations sans interaction directe (OSINT, DNS, WHOIS)
- Active : Scan réseau, énumération des services, identification des technologies
- Outils : Nmap, Recon-ng, theHarvester, Shodan, Maltego
2. Scanning & Enumeration
- Scan de ports et fingerprinting des services
- Scan automatisé des vulnérabilités
- Énumération des utilisateurs, des partages et des services
- Outils : Nessus, OpenVAS, Nikto, enum4linux
3. Gaining Access (Exploitation)
- Exploitation des vulnérabilités identifiées
- SQL Injection, XSS, Command Injection
- Buffer Overflow, élévation de privilèges
- Outils : Metasploit, Burp Suite, SQLmap, Cobalt Strike
4. Maintaining Access (Post-Exploitation)
- Installation de backdoors et de mécanismes de persistance
- Élévation de privilèges (horizontale et verticale)
- Pivoting et déplacement latéral
- Exfiltration de données
5. Covering Tracks
- Nettoyage des journaux et des preuves
- Démonstration des techniques d'évasion
- Documentation des activités réalisées
Types de Pentesting
Black Box
Le testeur ne dispose d'aucune connaissance préalable de la cible. Simule une attaque externe réaliste.
White Box
Le testeur dispose d'une connaissance complète (code source, architecture, identifiants). Permet une analyse plus approfondie.
Gray Box
Connaissance partielle du système. Simule une attaque d'un initié ou d'un utilisateur privilégié.
Outils Essentiels
Frameworks et Distributions
- Kali Linux : Distribution complète avec plus de 600 outils
- Parrot OS : Alternative axée sur la confidentialité et le forensic
- Metasploit Framework : Suite d'exploitation et de développement d'exploits
Web Application Testing
- Burp Suite : Proxy intercepteur et scanner web
- OWASP ZAP : Scanner automatique open-source
- SQLmap : Outil automatique d'injection SQL
- Nikto : Scanner de vulnérabilités web
Network Penetration
- Nmap : Scanner réseau et détection de services
- Wireshark : Analyse du trafic réseau
- Responder : LLMNR/NBT-NS/MDNS poisoning
- Impacket : Suite Python pour les protocoles réseau
Password Cracking
- John the Ripper : Cracker de mots de passe classique
- Hashcat : Cracker accéléré par GPU
- Hydra : Force brute pour les services réseau
- CrackMapExec : Post-exploitation dans les environnements Windows
Vecteurs d'Attaque Courants
Web Applications
- SQL Injection (SQLi)
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Server-Side Request Forgery (SSRF)
- XML External Entity (XXE)
- Insecure Deserialization
Network & Infrastructure
- Man-in-the-Middle (MitM)
- ARP Spoofing et DNS Poisoning
- SMB Relay attacks
- Kerberoasting
- Pass-the-Hash/Pass-the-Ticket
Social Engineering
- Campagnes de phishing
- Vishing (voice phishing)
- Tests d'intrusion physique
- USB drop attacks
Rapport de Pentesting
Un rapport de qualité doit inclure :
- Executive Summary : Vue d'ensemble de haut niveau pour la direction
- Méthodologie : Approche et périmètre du test
- Vulnérabilités Identifiées : Classées par sévérité (CVSS)
- Exploitation Technique : Détails techniques avec captures d'écran et PoCs
- Recommandations : Mesures de remédiation priorisées
- Annexes : Journaux, scripts, preuves techniques
Certifications Professionnelles
- OSCP : Offensive Security Certified Professional
- CEH : Certified Ethical Hacker
- GPEN : GIAC Penetration Tester
- CRTP : Certified Red Team Professional
- PNPT : Practical Network Penetration Tester
Aspects Juridiques et Éthiques
- Toujours obtenir une autorisation écrite (RoE - Rules of Engagement)
- Définir clairement le périmètre et les limites
- Respecter les lois sur la confidentialité et la protection des données
- Ne pas causer de dommages aux systèmes testés
- Maintenir la confidentialité des informations découvertes
- Suivre un code de déontologie professionnel (EC-Council, SANS)
Le Penetration Testing est une discipline essentielle pour valider la posture de sécurité des organisations. Il combine une connaissance technique approfondie, une méthodologie structurée et une réflexion créative pour simuler des attaques réelles. Un pentest efficace va au-delà des scanners automatisés, exigeant une analyse manuelle, une compréhension du contexte métier et une communication claire des risques identifiés.
