Le pentesting ethique : tester pour mieux proteger
Le test de penetration (pentest) ethique consiste a simuler une cyberattaque sur un systeme informatique avec l’autorisation du proprietaire pour identifier les vulnerabilites avant que des attaquants malveillants ne les exploitent. C’est l’equivalent numerique d’un audit de securite physique : vous engagez quelqu’un pour tenter de s’introduire dans vos locaux afin de trouver les failles dans votre systeme de securite.
Au Senegal, le besoin de pentesteurs qualifies explose avec la digitalisation des entreprises et des services publics. C’est un metier d’avenir accessible avec de la determination et les bonnes ressources.
Cadre legal et ethique
La loi au Senegal
- Loi 2008-11 sur la cybercriminalite : l’acces non autorise a un systeme informatique est un delit 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 systeme
- Perimetre defini : le contrat doit preciser exactement ce qui peut etre teste (adresses IP, applications, plages horaires)
- Rapport confidentiel : les resultats du pentest sont confidentiels et ne doivent etre communiques qu’au commanditaire
Les 3 regles d’or du pentesteur ethique
- Autorisation : ne jamais tester sans accord ecrit
- Proportionnalite : ne pas causer de dommages inutiles (pas de DoS en production, pas de suppression de donnees)
- Confidentialite : ne jamais divulguer les vulnerabilites trouvees a des tiers
Les 5 phases d’un test de penetration
Phase 1 : Reconnaissance (Information Gathering)
Collecter le maximum d’informations sur la cible 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 utilisees
# Outil : whatweb
whatweb monsite.sn
# Resultat : Apache, PHP 8.1, WordPress 6.4, WooCommerce
Phase 2 : Scan et enumeration
# Scan de ports et services
nmap -sS -sV -sC -O -p- cible.sn -oA scan-complet
# Scan de vulnerabilites web
nikto -h https://cible.sn -o nikto-report.txt
# Enumeration WordPress
wpscan --url https://cible.sn --enumerate vp,vt,u --api-token TOKEN
# Enumeration des repertoires
# Outil : gobuster ou dirsearch
gobuster dir -u https://cible.sn -w /usr/share/wordlists/dirb/common.txt -o dirs.txt
# Resultat type :
# /wp-admin (Status: 302)
# /wp-content/uploads (Status: 200) -> listage de repertoire !
# /backup (Status: 200) -> fichiers de sauvegarde accessibles !
# /phpmyadmin (Status: 200) -> interface BDD exposee !
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 cible.sn
msf6> set USERNAME admin
msf6> set PASSWORD password123
msf6> exploit
# Test d'injection SQL
# Outil : sqlmap
sqlmap -u "https://cible.sn/page?id=1" --dbs
# Resultat : base de donnees listee = injection SQL confirmee
# Test XSS
# Outil : XSStrike
python3 xsstrike.py -u "https://cible.sn/search?q=" --crawl
Phase 4 : Post-exploitation
Evaluer l’impact reel de la compromission :
- Elevation de privileges : peut-on passer d’un utilisateur simple a administrateur ?
- Mouvement lateral : depuis cette machine compromise, peut-on acceder a d’autres systemes du reseau ?
- Exfiltration : quelles donnees sensibles sont accessibles ? (sans les copier reellement)
- Persistance : un attaquant pourrait-il maintenir un acces permanent ? (documenter sans implementer)
Phase 5 : Rapport
Le rapport est le livrable le plus important du pentest. Structure recommandee :
- Resume executif : pour la direction, en langage non technique (2 pages max)
- Methodologie : outils utilises, perimetre, dates du test
- Vulnerabilites trouvees : classees par criticite (Critique, Haute, Moyenne, Basse)
- Pour chaque vulnerabilite : description, preuve (capture d’ecran), 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 cible | Un attaquant externe inconnu | Evaluer la securite vue de l’exterieur |
| Boite grise | Acces utilisateur standard, documentation partielle | Un employe malveillant ou un attaquant avec un compte | Le plus courant et le plus realiste |
| Boite blanche | Acces complet : code source, architecture, comptes admin | Audit de securite complet | Trouver le maximum de vulnerabilites |
Pentest web : les vulnerabilites OWASP Top 10
Le OWASP Top 10 est la reference des vulnerabilites web les plus critiques :
| Rang | Vulnerabilite | Description simple | Outil de test |
|---|---|---|---|
| 1 | Controle d’acces defaillant | Acces a des pages/fonctions non autorisees | Burp Suite, test manuel |
| 2 | Defauts cryptographiques | Donnees sensibles non chiffrees, algorithmes faibles | SSLScan, testssl.sh |
| 3 | Injection | SQL injection, commande injection | SQLMap, commix |
| 4 | Conception non securisee | Failles dans l’architecture meme de l’application | Revue de code |
| 5 | Mauvaise configuration | Serveur mal configure, 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 detection 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-installes
- Nmap : scan reseau et detection de vulnerabilites
- Burp Suite Community : proxy d’interception pour tester les applications web
- Metasploit : framework d’exploitation
- SQLMap : detection et exploitation automatique d’injections SQL
- WPScan : scanner specialise WordPress
- John the Ripper / Hashcat : craquage de mots de passe hors ligne
- Gobuster / Dirsearch : decouverte de repertoires web
- Wireshark : analyse de trafic reseau
Cas pratique : pentester votre propre site WordPress
# Etape 1 : Reconnaissance
whois votre-site.sn
nslookup votre-site.sn
whatweb https://votre-site.sn
# Etape 2 : Scan
nmap -sV -sC -p 80,443 votre-site.sn
wpscan --url https://votre-site.sn --enumerate vp,vt,u --api-token TOKEN
# Etape 3 : Verifier les headers de securite
curl -I https://votre-site.sn
# Verifier la presence de :
# X-Frame-Options
# X-Content-Type-Options
# Content-Security-Policy
# Strict-Transport-Security
# Etape 4 : Tester le login
# Verifier si wp-login.php est accessible
curl -s https://votre-site.sn/wp-login.php | head -20
# Verifier XML-RPC (souvent exploite)
curl -s https://votre-site.sn/xmlrpc.php
# Etape 5 : Verifier 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 Senegal
Parcours de formation
- Bases : Linux, reseaux TCP/IP, programmation (Python, Bash)
- Fondamentaux securite : CompTIA Security+ ou equivalent
- Pratique : TryHackMe, HackTheBox, DVWA, CTF (Capture The Flag)
- Certification : eJPT (debutant), CEH (intermediaire), OSCP (reference)
- Specialisation : pentest web, pentest reseau, pentest mobile, red teaming
Debouches au Senegal
- Freelance : proposer des audits de securite aux PME (300 000 – 2 000 000 FCFA par mission selon la taille)
- ESN/Cabinet : rejoindre une entreprise de services numeriques specialisee en cybersecurite
- Banques et telecoms : les grands groupes (CBAO, Societe Generale, Sonatel, Free) ont des equipes securite internes
- Organismes publics : l’ADIE, la Presidence, les ministeres recrutent des experts en securite
- Bug bounty : programmes de recompense pour la decouverte de vulnerabilites (HackerOne, Bugcrowd) – accessible depuis le Senegal
Ressources gratuites pour debuter
| Ressource | Type | Niveau | Langue |
|---|---|---|---|
| TryHackMe | Plateforme interactive | Debutant | Anglais |
| HackTheBox Academy | Cours + labs | Debutant a avance | Anglais |
| PortSwigger Web Academy | Cours securite 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 proprietaire du systeme
- Perimetre clairement defini (IP, applications, horaires)
- Contacts d’urgence en cas de probleme (crash d’un service)
- Environnement de test separe si possible (pas directement en production)
- Outils prepares et a jour sur Kali Linux
- Methodologie choisie (OWASP, PTES, OSSTMM)
- Modele de rapport pret
- Sauvegarde des systemes cibles effectuee par le client