Pentest

Méthodologie Pentest

Les phases d'un test d'intrusion — de la reconnaissance à la rédaction du rapport

pentestméthodologiereconnaissanceexploitationrapport

Les 5 phases

1. Reconnaissance  →  2. Scan  →  3. Exploitation  →  4. Post-exploitation  →  5. Rapport

Phase 1 — Reconnaissance (OSINT)

Collecte d'informations sans interagir avec la cible.

Passive

$whois example.com
Informations WHOIS du domaine
$dig example.com ANY
Tous les enregistrements DNS
$dig +short example.com MX
Serveurs mail

Outils OSINT :

  • theHarvester : emails, sous-domaines, IPs
  • Shodan : moteur de recherche pour appareils connectés
  • Google Dorks : recherches avancées (site:, inurl:, filetype:)

Active

$nmap -sn 10.0.0.0/24
Découverte d'hôtes actifs
$dnsrecon -d example.com -t std
Énumération DNS

Phase 2 — Scan et énumération

$nmap -sS -sV -sC -O -p- -T4 target.com
Scan complet de ports et services
$nikto -h https://target.com
Scan de vulnérabilités web
$gobuster dir -u https://target.com -w /usr/share/wordlists/dirb/common.txt
Énumération de répertoires

Énumération de services

ServiceOutilObjectif
HTTPNikto, Gobuster, BurpFichiers, répertoires, vulns
SSHssh-auditConfiguration, algorithmes
SMBenum4linux, smbclientPartages, utilisateurs
DNSdnsrecon, fierceSous-domaines, zone transfers
SMTPsmtp-user-enumÉnumération d'utilisateurs

Phase 3 — Exploitation

Vulnérabilités communes

VulnérabilitéVecteurOutil
SQL InjectionFormulaires, paramètres URLsqlmap
XSSChamps de saisieBurp Suite
File UploadUpload de fichiersShell reverse
Default CredentialsServices avec mdp par défautHydra
Outdated SoftwareCVE connuesMetasploit, searchsploit
$searchsploit apache 2.4
Chercher des exploits pour Apache 2.4

Brute force

$hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://target.com
Brute force SSH (avec autorisation)

Phase 4 — Post-exploitation

Après avoir obtenu un accès initial :

  • Escalade de privilèges : passer de user à root
  • Mouvement latéral : pivoter vers d'autres machines
  • Persistance : maintenir l'accès (dans le scope du pentest)
  • Collecte de données : prouver l'impact

Escalade de privileges Linux

$sudo -l
Vérifier les commandes sudo autorisées
$find / -perm -4000 -type f 2>/dev/null
Trouver les binaires SUID
$cat /etc/crontab
Vérifier les tâches cron
$uname -a
Version du kernel (chercher des exploits)

Phase 5 — Rapport

Structure d'un rapport de pentest

  1. Executive Summary : résumé non-technique pour la direction
  2. Scope : périmètre du test, dates, méthodes
  3. Findings : vulnérabilités découvertes, classées par sévérité
  4. Evidence : captures d'écran, logs, preuves
  5. Recommendations : correctifs priorisés
  6. Appendix : détails techniques, outils utilisés

Classification des vulnérabilités

SévéritéCVSSExemple
Critical9.0 - 10.0RCE non authentifié
High7.0 - 8.9SQL injection, escalade de privilèges
Medium4.0 - 6.9XSS stocké, CSRF
Low0.1 - 3.9Information disclosure, headers manquants
Info0.0Recommandations, bonnes pratiques

Cadre légal

  • Toujours avoir une autorisation écrite avant un pentest
  • Définir clairement le périmètre (IPs, domaines, horaires)
  • Ne jamais dépasser le scope autorisé
  • Documenter toutes les actions
  • Signaler immédiatement les vulnérabilités critiques