Le pentest, ou test d’intrusion, est un processus permettant de trouver et lister les différentes failles qu’un système ou réseau peut avoir. Afin de bien réussir cela il convient d’avoir une méthodologie pentest claire.
Ce processus implique une analyse active et approfondie de toutes les fonctionnalités liées à la sécurité du système cible, suivie d’une tentative de pénétration en contournant ces mécanismes de sécurité. Ces tests peuvent être réalisés à l’aide d’outils spécifiques.
Les informations obtenues sur les vulnérabilités exploitées avec succès lors de ces tests permettent de générer un rapport qui met en évidence toutes les zones d’insécurité nécessitant l’attention des administrateurs du système.
Il est essentiel de comprendre qu’il ne suffit pas de détecter un grand nombre de vulnérabilités dans un système. Sans une analyse approfondie des résultats et la préparation d’un plan adéquat d’atténuation des risques, le test n’apportera pas de réelle valeur ajoutée aux activités de l’organisation.
2. Processus de Pentest
Le processus de test d’intrusion comprend les activités suivantes :
- Définir le périmètre
- Réaliser le test d’intrusion
- Produire un rapport
2.1 Définir le périmètre
Avant de réaliser un test d’intrusion, il est nécessaire de définir la portée des tests. Selon le type de test d’intrusion, différents dispositifs réseau peuvent être concernés. La cible du test peut être l’ensemble du réseau et des systèmes, ou simplement des dispositifs spécifiques comme les serveurs Web, routeurs, pare-feu, serveurs DNS, serveurs de messagerie ou serveurs FTP.
2.2 Réaliser le test d’intrusion
Cette étape consiste à collecter toutes les informations sur la cible, y compris l’analyse des vulnérabilités de sécurité. Une fois les vulnérabilités identifiées, des exploits sont lancés pour les déclencher. Si les exploits réussissent, le testeur d’intrusion obtient un accès à la cible et analyse ensuite l’impact de cette compromission sur le système testé.
2.3 Produire un rapport
Une fois le test d’intrusion terminé, les testeurs de sécurité présentent toutes les informations issues de la procédure sous la forme d’un rapport. Ce rapport contient les éléments suivants :
- Une liste priorisée des vulnérabilités et des risques
- Des informations sur les points forts et faibles du système de sécurité existant
- Une catégorisation des risques en niveaux (élevé, moyen, faible)
- Des détails sur les vulnérabilités propres à chaque dispositif
Les testeurs formulent des recommandations pour corriger les vulnérabilités et fournissent des informations techniques sur les solutions à mettre en place. Ils peuvent également proposer des ressources utiles, comme des liens vers des informations complémentaires ou des correctifs permettant de résoudre les vulnérabilités identifiées.
3. Types de tests d’intrusion (Pentest)

Le type de test d’intrusion dépend généralement de l’objectif de l’organisation : simuler une attaque interne (employé, administrateur réseau/système, etc.) ou une attaque externe. Cela influe également sur la quantité d’informations fournies au testeur d’intrusion concernant les systèmes à tester. Il existe deux types principaux de tests d’intrusion :
3.1 Black-box testing (test en boîte noire ou à connaissance nulle)
Dans ce type de test, le testeur ne dispose d’aucune connaissance préalable sur l’infrastructure à tester. Le testeur utilise des techniques de reconnaissance pour collecter des informations sur les entrées et les résultats attendus, mais il n’a aucune visibilité sur le fonctionnement interne du système.
Ce test simule une attaque externe par un assaillant ayant peu ou pas de connaissances sur les systèmes cibles.
3.2 White-box testing (test en boîte blanche ou à connaissance complète)
Aussi appelé test à connaissance complète, ce type de test donne au testeur des informations détaillées sur l’organisation avant le début du test, telles que :
- Infrastructure de l’entreprise : Informations sur les départements, le matériel, les logiciels et les contrôles en place.
- Type de réseau : Détails sur le réseau LAN, la topologie, ou les connexions aux réseaux distants/Internet.
- Implémentations de sécurité actuelles : Mesures de sécurité en place pour protéger les données.
- Adresses IP/pare-feu/IDS : Informations techniques, y compris politiques de pare-feu et systèmes de détection d’intrusion.
- Politiques de l’entreprise : Règles de sécurité adoptées par l’organisation.
Ce test simule une attaque interne menée par un utilisateur malveillant disposant de ces informations.
4. Phases d’un test d’intrusion
La réalisation d’un test d’intrusion suit généralement les phases suivantes :
4.1 Préparatifs (Pre-engagement Interactions)
Cette phase de planification définit le périmètre du test, obtient les autorisations nécessaires, et inclut la signature de documents comme des accords de confidentialité (NDA). Une stratégie claire est élaborée en s’appuyant sur les politiques de sécurité existantes, les standards industriels, et les meilleures pratiques.
Contraintes courantes :
- Temps : Contrairement aux hackers qui disposent de temps illimité, le testeur doit travailler dans des délais stricts.
- Restrictions légales : Le testeur doit respecter un contrat légal détaillant les actions autorisées et interdites.
4.2 Collecte d’informations (Intelligence Gathering)
Cette phase consiste à recueillir un maximum d’informations sur la cible, qu’elles soient techniques (ports ouverts, services actifs) ou non techniques. Des outils comme Nmap, SuperScan ou Hping sont utilisés pour scanner les ports. Une fois les services identifiés, des outils de fingerprinting (Xprobe2, Nmap, httprint) permettent de confirmer les versions exactes et de réduire les faux positifs.
4.3 Analyse des vulnérabilités (Vulnerability Analysis)
Les informations collectées sont utilisées pour identifier les vulnérabilités potentielles. Des outils de scan comme Nessus, Nexpose ou GFI LANguard permettent de détecter les failles connues. Le testeur doit également utiliser son expertise pour tester des entrées invalides ou aléatoires qui pourraient révéler des vulnérabilités inconnues.
4.4 Exploitation
C’est la phase où les vulnérabilités identifiées sont exploitées. Le testeur doit s’assurer de la validité de chaque vulnérabilité avant de lancer un exploit. Les exploits sont souvent obtenus via des bases de données comme Exploit-DB ou Rapid7. Cette étape nécessite des précautions car elle pourrait causer des interruptions de service. Les frameworks comme Metasploit ou CANVAS sont utilisés pour développer et exécuter des exploits.
4.5 Post-exploitation
Cette étape vise à approfondir les analyses pour identifier les infrastructures critiques et démontrer les impacts potentiels sur le business. Le but est de mettre en évidence les conséquences d’une compromission réussie et de fournir des preuves concrètes des failles.
4.6 Rédaction du rapport (Reporting)
Le rapport est l’élément clé du pentest. Il résume les méthodologies utilisées, les vulnérabilités découvertes, et fournit des recommandations claires pour corriger les failles.
Le rapport inclut :
- Un résumé exécutif.
- Une analyse détaillée des failles avec leur niveau de risque.
- Les impacts sur l’entreprise.
- Des recommandations et ressources utiles.
Un bon rapport doit être clair, précis et orienté vers l’amélioration globale de la sécurité.
Pour ma part j’utilise l’outils SysReptor qui est opensource. J’envisage de faire une vidéo pour présenter comment ça fonctionne bientôt :).