Pentesting
Tests d’intrusion et rapports d’audit
Notions théoriques
Tests d’intrusion
Qu'est-ce qu'un test d’intrusion ?
Les tests d’intrusion ou Pen Testing (Penetration Testing) consistent à simuler des attaques informatiques sur :
- un système,
- une application
- ou un réseau pour identifier les failles de sécurité avant qu'un attaquant malveillant ne puisse les exploiter.
Les tests d’intrusion sont réalisés dans un cadre légal et éthique, avec la permission explicite des propriétaires des systèmes testés.
Objectifs d'un test d’intrusion
Les objectifs d'un test d’intrusion sont de :
- Détecter les vulnérabilités : Cela inclut les faiblesses dans les systèmes, les erreurs de configuration, les problèmes de logiciels, etc.
- Évaluer l'impact potentiel : Cela aide à comprendre ce qui pourrait se passer si une vulnérabilité était exploitée.
- Tester la résilience : Évaluer la capacité des systèmes à résister aux attaques et à se rétablir.
- Améliorer les défenses : En se basant sur les résultats, les systèmes peuvent être renforcés.
Comment se déroule un test d’intrusion ?
Les étapes clés d'un test d’intrusion incluent :
- Collecte d'informations (Information Gathering) : Identifier et collecter des informations sur la cible.
- Modélisation des menaces (Threat Modeling) : Déterminer les menaces potentielles et les acteurs malveillants.
- Analyse des vulnérabilités (Vulnerability Analysis) : Détecter les faiblesses potentielles dans le système.
- Exploitation : Utiliser les vulnérabilités trouvées pour accéder au système ou aux données.
- Post-exploitation : Déterminer la valeur des données compromises et maintenir l'accès pour des tests futurs.
- Rapport (Reporting) : Documenter les découvertes et fournir des recommandations détaillées.
Les 3 stratégies possibles d'un test d'intrusion
Les tests d'intrusion (pentests) peuvent être réalisés selon 3 stratégies en fonction du niveau de connaissance que le testeur a du système cible.
Ces stratégies sont généralement désignées par les termes "white box", "grey box" et "black box", qui décrivent le degré d'information préalable sur l'infrastructure à tester.
1) White box (Boîte blanche)
Le pentest en boîte blanche est parfois appelé test "avec connaissance complète".
Dans ce type de test, l'auditeur a un accès complet aux informations concernant le système cible. Cela inclut les schémas de l'infrastructure, les codes sources, les adresses IP, les diagrammes de réseau et parfois même les identifiants.
L'avantage de cette approche est qu'elle permet une analyse en profondeur des applications et systèmes.
Le pentest en boîte blanche est souvent utilisé :
- pour simuler une attaque interne
- ou pour effectuer une vérification complète de la sécurité d'une application.
Le pentest en "white box" peut être plus rapide que les autres types de tests, car le testeur n'a pas besoin de passer du temps à collecter des informations sur la cible.
Un pentesteur "white hat" est un professionnel de la sécurité qui utilise ses compétences pour améliorer la sécurité des systèmes informatiques.
2) Grey box (Boîte grise)
Le pentest en boîte grise est une approche intermédiaire entre le black box et le white box.
Le testeur a un accès limité à l'information et ne connaît qu'une partie de l'environnement du système.
Cela peut inclure des informations telles que des schémas d'architecture de haut niveau ou des informations d'identification pour certains comptes.
Ce type de test est utile pour simuler une attaque par un utilisateur avec des privilèges limités ou par un attaquant qui a pu obtenir certaines informations sur le système.
Il fournit un équilibre entre l'efficacité du test et le réalisme de l'attaque, en permettant au testeur de se concentrer sur des scénarios de menace plus probable.
Ne pas confondre "grey box" et "grey hat".
Un hacker "grey hat" cherche à découvrir une vulnérabilité dans un système sans l'autorisation du propriétaire et choisit de la divulguer publiquement ou au propriétaire du système, parfois contre une compensation. Ils ne cherchent pas nécessairement à nuire, mais leurs méthodes ne sont pas toujours entièrement éthiques ou légales.
3) Black box (Boîte noire)
Le pentest en boîte noire est effectué sans aucune connaissance préalable de l'infrastructure interne du système cible. Le testeur commence sans informations et doit découvrir la configuration du réseau, les systèmes d'exploitation, les applications et les services en cours d'exécution tout en effectuant le test.
Ce type de test est similaire à une attaque réelle par un attaquant externe qui n'a aucune connaissance interne de la cible.
Bien qu'il puisse être plus chronophage que les tests en boîte blanche ou grise, le pentest en boîte noire peut aider à découvrir des vulnérabilités non évidentes sans une exploration approfondie.
Ne pas confondre "black box" et "black hat".
Les hackers "black hat" sont des cybercriminels qui exploitent les systèmes informatiques pour des gains personnels, souvent à des fins malveillantes telles que le vol de données, la création de botnets ou d'autres activités illégales. Ils opèrent sans permission, en violation de la loi.
Rapport d'audit
Qu'est-ce qu'un rapport d'audit ?
À la suite des tests d’intrusion, un rapport d'audit est produit.
Ce document est crucial car il présente les résultats de manière structurée et professionnelle, permettant aux parties prenantes de comprendre les risques et de prendre des décisions éclairées pour améliorer la sécurité.
Que contient un rapport d'audit ?
Le rapport d'audit contient :
- Résumé exécutif : Un aperçu haut niveau pour la direction.
- Méthodologie : Les techniques et outils utilisés pendant le test.
- Résultats détaillés : Une liste des vulnérabilités découvertes, souvent classées par gravité.
- Preuves et démonstrations : Des captures d'écran, des logs, ou d'autres preuves des failles.
- Analyse d'impact : Une évaluation de ce que les failles pourraient signifier pour l'entreprise.
- Recommandations : Des solutions proposées pour remédier aux vulnérabilités.
- Plan d'action : Un calendrier pour la mise en œuvre des recommandations.
Le rapport d'audit doit être précis, compréhensible et fournir des informations pratiques pour améliorer la sécurité.