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.