Le pentesting ethique : tester pour mieux protéger
Le test de pénétration (pentest) ethique consiste a simuler une cyberattaque sur un système informatique avec l’autorisation du propriétaire pour identifier les vulnerabilites avant que des attaquants malveillants ne les exploitent. C’est l’equivalent numérique d’un audit de sécurité physique : vous engagez quelqu’un pour tenter de s’introduire dans vos locaux afin de trouver les failles dans votre système de sécurité.
Au Sénégal, le besoin de pentesteurs qualifies explose avec la digitalisation des entreprises et des services publics. C’est un métier d’avenir accessible avec de la determination et les bonnes ressources.
Cadre legal et ethique
La loi au Sénégal
- Loi 2008-11 sur la cybercriminalite : l’accès non autorise a un système informatique est un délit puni d’emprisonnement et d’amende
- Autorisation obligatoire : vous devez TOUJOURS avoir une autorisation ecrite (lettre de mission, contrat de prestation) avant de tester un système
- Perimetre defini : le contrat doit préciser exactement ce qui peut être teste (adresses IP, applications, plages horaires)
- Rapport confidentiel : les résultats du pentest sont confidentiels et ne doivent être communiques qu’au commanditaire
Les 3 règles d’or du pentesteur ethique
- Autorisation : ne jamais tester sans accord écrit
- Proportionnalite : ne pas causer de dommages inutiles (pas de DoS en production, pas de suppression de données)
- Confidentialite : ne jamais divulguer les vulnerabilites trouvees a des tiers
Les 5 phases d’un test de pénétration
Phase 1 : Reconnaissance (Information Gathering)
Collecter le maximum d’informations sur la ciblé sans interaction directe :
# Reconnaissance passive (OSINT)
# Informations DNS
dig monsite.sn ANY
nslookup -type=ANY monsite.sn
whois monsite.sn
# Sous-domaines
# Outil : subfinder
subfinder -d monsite.sn -o subdomains.txt
# Recherche Google (Google Dorking)
# site:monsite.sn filetype:pdf
# site:monsite.sn inurl:admin
# site:monsite.sn "mot de passe"
# Emails et employes
# theHarvester collecte emails, noms, sous-domaines
theHarvester -d monsite.sn -b google,bing,linkedin
# Technologies utilisées
# Outil : whatweb
whatweb monsite.sn
# Résultat : Apache, PHP 8.1, WordPress 6.4, WooCommerce
Phase 2 : Scan et enumeration
# Scan de ports et services
nmap -sS -sV -sC -O -p- ciblé.sn -oA scan-complet
# Scan de vulnerabilites web
nikto -h https://ciblé.sn -o nikto-report.txt
# Enumeration WordPress
wpscan --url https://ciblé.sn --enumerate vp,vt,u --api-token TOKEN
# Enumeration des répertoires
# Outil : gobuster ou dirsearch
gobuster dir -u https://ciblé.sn -w /usr/share/wordlists/dirb/common.txt -o dirs.txt
# Résultat type :
# /wp-admin (Status: 302)
# /wp-content/uploads (Status: 200) -> listage de répertoire !
# /backup (Status: 200) -> fichiers de sauvegarde accessibles !
# /phpmyadmin (Status: 200) -> interface BDD exposée !
Phase 3 : Exploitation
Tenter d’exploiter les vulnerabilites identifiees :
# Metasploit Framework
msfconsole
# Exemple : exploitation d'une faille WordPress connue
msf6> search wordpress
msf6> use exploit/unix/webapp/wp_admin_shell_upload
msf6> set RHOSTS ciblé.sn
msf6> set USERNAME admin
msf6> set PASSWORD password123
msf6> exploit
# Test d'injection SQL
# Outil : sqlmap
sqlmap -u "https://ciblé.sn/page?id=1" --dbs
# Résultat : base de données listee = injection SQL confirmee
# Test XSS
# Outil : XSStrike
python3 xsstrike.py -u "https://ciblé.sn/search?q=" --crawl
Phase 4 : Post-exploitation
Évaluer l’impact réel de la compromission :
- Elevation de privileges : peut-on passer d’un utilisateur simple a administrateur ?
- Mouvement lateral : depuis cette machine compromise, peut-on accéder a d’autres systèmes du réseau ?
- Exfiltration : quelles données sensibles sont accessibles ? (sans les copier réellement)
- Persistance : un attaquant pourrait-il maintenir un accès permanent ? (documenter sans implémenter)
Phase 5 : Rapport
Le rapport est le livrable le plus important du pentest. Structure recommandee :
- Résumé executif : pour la direction, en langage non technique (2 pages max)
- Methodologie : outils utilisés, perimetre, dates du test
- Vulnerabilites trouvees : classees par criticite (Critique, Haute, Moyenne, Basse)
- Pour chaque vulnerabilite : description, preuve (capturé d’écran), impact potentiel, recommandation de correction
- Synthese des recommandations : priorisees par criticite et facilite de correction
Types de pentests
| Type | Connaissance prealable | Simule | Quand l’utiliser |
|---|---|---|---|
| Boite noire | Aucune information sur la ciblé | Un attaquant externe inconnu | Évaluer la sécurité vue de l’exterieur |
| Boite grise | Accès utilisateur standard, documentation partielle | Un employe malveillant ou un attaquant avec un compte | Le plus courant et le plus realiste |
| Boite blanche | Accès complet : code source, architecture, comptes admin | Audit de sécurité complet | Trouver le maximum de vulnerabilites |
Pentest web : les vulnerabilites OWASP Top 10
Le OWASP Top 10 est la référence des vulnerabilites web les plus critiques :
| Rang | Vulnerabilite | Description simple | Outil de test |
|---|---|---|---|
| 1 | Contrôle d’accès defaillant | Accès a des pages/fonctions non autorisees | Burp Suite, test manuel |
| 2 | Defauts cryptographiques | Données sensibles non chiffrees, algorithmes faibles | SSLScan, testssl.sh |
| 3 | Injection | SQL injection, commande injection | SQLMap, commix |
| 4 | Conception non sécurisée | Failles dans l’architecture même de l’application | Revue de code |
| 5 | Mauvaise configuration | Serveur mal configuré, headers manquants | Nikto, Nmap scripts |
| 6 | Composants vulnerables | Plugins, librairies obsoletes | WPScan, retire.js |
| 7 | Authentification defaillante | Mots de passe faibles, pas de 2FA, sessions mal gerees | Hydra, Burp Suite |
| 8 | Integrite logicielle | Mises a jour non verifiees, CI/CD compromis | Analyse de configuration |
| 9 | Journalisation insuffisante | Pas de logs, pas de détection d’intrusion | Revue manuelle |
| 10 | SSRF | Forcer le serveur a faire des requetes vers des ressources internes | Burp Suite, test manuel |
Outils essentiels du pentesteur
Kit de base (tous gratuits)
- Kali Linux : distribution avec 600+ outils pre-installés
- Nmap : scan réseau et détection de vulnerabilites
- Burp Suite Community : proxy d’interception pour tester les applications web
- Metasploit : framework d’exploitation
- SQLMap : détection et exploitation automatique d’injections SQL
- WPScan : scanner spécialisé WordPress
- John the Ripper / Hashcat : craquage de mots de passe hors ligne
- Gobuster / Dirsearch : découverte de répertoires web
- Wireshark : analyse de trafic réseau
Cas pratique : pentester votre propre site WordPress
# Étape 1 : Reconnaissance
whois votre-site.sn
nslookup votre-site.sn
whatweb https://votre-site.sn
# Étape 2 : Scan
nmap -sV -sC -p 80,443 votre-site.sn
wpscan --url https://votre-site.sn --enumerate vp,vt,u --api-token TOKEN
# Étape 3 : Vérifier les headers de sécurité
curl -I https://votre-site.sn
# Vérifier la presence de :
# X-Frame-Options
# X-Content-Type-Options
# Content-Security-Policy
# Strict-Transport-Security
# Étape 4 : Tester le login
# Vérifier si wp-login.php est accessible
curl -s https://votre-site.sn/wp-login.php | head -20
# Vérifier XML-RPC (souvent exploite)
curl -s https://votre-site.sn/xmlrpc.php
# Étape 5 : Vérifier les fichiers exposes
curl -s https://votre-site.sn/wp-config.php.bak
curl -s https://votre-site.sn/.env
curl -s https://votre-site.sn/debug.log
Devenir pentesteur au Sénégal
Parcours de formation
- Bases : Linux, réseaux TCP/IP, programmation (Python, Bash)
- Fondamentaux sécurité : CompTIA Security+ ou equivalent
- Pratique : TryHackMe, HackTheBox, DVWA, CTF (Capture The Flag)
- Certification : eJPT (debutant), CEH (intermediaire), OSCP (référence)
- Specialisation : pentest web, pentest réseau, pentest mobile, red teaming
Debouches au Sénégal
- Freelance : proposer des audits de sécurité aux PME (300 000 – 2 000 000 FCFA par mission selon la taille)
- ESN/Cabinet : rejoindre une entreprise de services numériques specialisee en cybersecurite
- Banques et telecoms : les grands groupes (CBAO, Société Generale, Sonatel, Free) ont des équipes sécurité internes
- Organismes publics : l’ADIE, la Presidence, les ministeres recrutent des experts en sécurité
- Bug bounty : programmes de recompense pour la découverte de vulnerabilites (HackerOne, Bugcrowd) – accessible depuis le Sénégal
Ressources gratuites pour debuter
| Ressource | Type | Niveau | Langue |
|---|---|---|---|
| TryHackMe | Plateforme interactive | Debutant | Anglais |
| HackTheBox Academy | Cours + labs | Debutant a avancé | Anglais |
| PortSwigger Web Academy | Cours sécurité web | Intermediaire | Anglais |
| OWASP Testing Guide | Documentation | Intermediaire | Anglais |
| Root-Me | Challenges | Tous niveaux | Francais |
| Hack.me | Applications vulnerables | Debutant | Anglais |
Checklist avant de lancer un pentest
- Contrat ou autorisation ecrite signe par le propriétaire du système
- Perimetre clairement defini (IP, applications, horaires)
- Contacts d’urgence en cas de problème (crash d’un service)
- Environnement de test séparé si possible (pas directement en production)
- Outils prepares et a jour sur Kali Linux
- Methodologie choisie (OWASP, PTES, OSSTMM)
- Modèle de rapport pret
- Sauvegarde des systèmes cibles effectuée par le client