Les tests d’intrusion sont essentiels pour les entreprises face aux exigences de cybersécurité de leurs clients, partenaires et investisseurs.
Ce type d’audits de sécurité offre notamment un avantage compétitif, en particulier aux startups et PME, pour collaborer avec des grands comptes qui demandent souvent des rapports de tests d’intrusion dans leurs processus d’achats.
De plus, les tests d’intrusion sont un passage obligé pour les organisations engagés dans des processus de certifications (ISO 27001, HDS, PCI-DSS, SOC2, etc.).
Cet article détaille les objectifs des tests d’intrusion, la méthodologie, les types et conditions de tests (boite noire, grise ou blanche), les coûts, etc.
Guide complet pour comprendre les objectifs et la méthodologie des tests d’intrusion
- Qu’est-ce qu’un test d’intrusion ?
- Quels sont les différents types de tests d'intrusion ?
- Conditions des tests (boite noire, grise et blanche)
- Comment se déroule un test d’intrusion ?
- Méthodologies et normes de tests d'intrusion
- Rapport de test d'intrusion
- Outils utilisés lors d'un test d'intrusion
- Quel est le coût d’un test d’intrusion ?
- Réaliser un test d’intrusion avec Vaadata, entreprise certifiée CREST et ISO 27001/27701
Qu’est-ce qu’un test d’intrusion ?
Un test d’intrusion (ou pentest) est une évaluation de la sécurité d’un système (applications web et mobiles, infrastructures, réseaux, objets connectés, etc.) ou du facteur humain (via ingénierie sociale).
Les objectifs d’un test d’intrusion sont doubles :
- Identifier les failles de sécurité : les tests d’intrusion révèlent les vecteurs d’attaque, vulnérabilités, et défauts de configuration qui menacent la confidentialité, l’intégrité et la disponibilité des données.
- Renforcer la sécurité : ils fournissent des recommandations et correctifs pour combler les brèches et réduire l’impact des failles découvertes sur les systèmes ou dans la sensibilisation des collaborateurs.
Par ailleurs, un test d’intrusion est réalisé par des experts en sécurité offensive, appelés pentesters qui utilisent leurs compétences et leur créativité pour identifier les vulnérabilités spécifiques.
Ils s’appuient sur des normes et standards de sécurité comme l’OWASP ou le PTES, et utilisent des techniques d’analyse manuelles et automatisées pour détecter les vulnérabilités.
Les tests d’intrusion peuvent être réalisés en suivant trois conditions techniques distinctes : boite noire (sans information préalable), boite grise (avec des informations partielles) et boite blanche (avec un accès complet aux informations). Ces approches peuvent par ailleurs être combinées en fonction du périmètre des tests et des objectifs initiaux du test d’intrusion.
Quels sont les différents types de tests d’intrusion ?
Test d’intrusion web
Un test d’intrusion web vise à détecter les failles au niveau des fonctionnalités de l’application et les failles de configuration des infrastructures qui hébergent les services (serveurs, environnements cloud).
- Sur les infrastructures d’hébergements (serveurs, cloud, etc.), les vulnérabilités courantes incluent des services ouverts et mal sécurisés, des logiciels obsolètes, des erreurs de configuration et des mesures de sécurité contournables.
- Sur la couche applicative (fonctionnalités front/backend), les vulnérabilités concernent principalement celles listées dans le Top 10 OWASP (Broken Access Control, failles d’injections, problèmes de droits, etc.
Notez que tous types d’applications, de plateformes et de technologies peuvent être testés.
Pour en savoir plus, consultez notre article : Test d’intrusion web : objectifs, méthodologie, tests en boite noire, grise et blanche.
Tests d’intrusion d’applications mobiles (iOS et Android)
Un test d’intrusion d’application mobile inclut une analyse statique et une analyse dynamique, en plus des tests sur les serveurs et les APIs.
- L’analyse statique consiste à extraire des éléments comme les meta-informations et le code source pour tenter du reverse engineering.
- L’analyse dynamique se concentre sur la recherche de vulnérabilités pendant l’utilisation de l’application (communications non sécurisées, stockage non sécurisé, etc.).
Pour plus d’infos, vous pouvez consulter notre article : Test d’intrusion d’application mobile : objectifs, méthodologie et périmètre des tests.
Test d’intrusion d’API
Un test d’intrusion d’API peut être réalisé de manière autonome ou inclus dans le périmètre d’un test d’intrusion d’application web ou mobile, en ciblant les vulnérabilités spécifiques à ce type d’interface (Mass Assignment par exemple).
Pour en savoir plus, vous pouvez consulter notre article dédié : Test d’intrusion API : objectifs, méthodologie, tests en boite noire, grise et blanche.
Test d’intrusion réseau (interne)
Un test d’intrusion réseau interne vise à identifier les failles de sécurité dans l’infrastructure réseau interne d’une organisation. Il se concentre sur les équipements réseau, les serveurs internes, les protocoles utilisés et l’Active Directory.
- Sur l’infrastructure réseau, les vulnérabilités courantes incluent des protocoles non sécurisés, des mauvaises configurations réseau, des équipements obsolètes, etc.
- Concernant l’Active Directory, les vulnérabilités peuvent inclure des contrôles d’accès insuffisants, des comptes à privilèges excessifs, des mots de passe faibles ou par défaut, et des configurations incorrectes. Ces failles peuvent être exploitées pour élever les privilèges, accéder à des données sensibles ou prendre le contrôle du domaine.
Pour plus d’infos sur les tests d’intrusion interne, vous pouvez consulter notre article : Test d’intrusion interne : objectifs, méthodologie, tests en boite noire et grise.
Tests d’intrusion d’infrastructures (serveur, cloud, etc.)
Les tests d’intrusion d’infrastructures visent à identifier les failles de sécurité dans les environnements de serveurs et les infrastructures cloud.
Ils analysent les configurations des systèmes, la gestion des accès, et la sécurité des services exposés. Sur le cloud, les tests incluent la vérification des politiques IAM (Identity and Access Management), des erreurs de configuration des services, et des risques liés aux APIs.
L’objectif est de détecter les vulnérabilités qui pourraient compromettre la sécurité des données et des systèmes hébergés.
Test d’intrusion IoT
Les tests d’intrusion IoT se concentrent sur la sécurité des appareils connectés et de leur infrastructure.
Ils évaluent les vulnérabilités des composants matériels (capteurs, processeurs), des logiciels embarqués, et des communications réseau (protocoles). Ces tests analysent la possibilité d’interception de données, la manipulation de dispositifs ou la compromission des systèmes via des failles dans les firmwares ou des erreurs de configuration.
L’objectif est d’assurer la sécurité des dispositifs IoT en identifiant les failles exploitables pouvant affecter les utilisateurs ou l’écosystème connecté.
Tests d’ingénierie sociale
Un test d’ingénierie sociale évalue la capacité d’une organisation à se protéger contre des attaques basées sur la manipulation humaine.
Il vise à exploiter les comportements humains pour accéder à des informations sensibles ou à des systèmes; souvent en contournant les contrôles techniques.
Les techniques courantes incluent le phishing (emails frauduleux), le vishing (phishing par appels téléphoniques), ou l’intrusion physique pour obtenir un accès non autorisé.
Ce type de test permet d’identifier les faiblesses humaines et de sensibiliser les employés aux risques de sécurité.
Conditions des tests (boite noire, grise et blanche)
Test d’intrusion en boite noire
Un test d’intrusion en boite noire est une approche où le testeur n’a aucune connaissance préalable des systèmes ou de l’architecture en place.
Ce type de test simule l’attaque d’un attaquant externe, et permet d’évaluer la sécurité d’une application ou d’un réseau comme le ferait un intrus. Les testeurs utilisent uniquement des informations externes pour identifier les vulnérabilités.
Cela met en lumière les failles qui pourraient être exploitées par des attaquants sans accès spécifiques.
Test d’intrusion en boite blanche
Lors d’un test d’intrusion en boite blanche, les pentesters ont accès à toutes les informations du système, comme le code source, la documentation et l’architecture.
Cela permet une analyse approfondie des vulnérabilités, car les testeurs peuvent comprendre comment les différents composants interagissent.
Tests d’intrusion en boite grise
Un test d’intrusion en boite grise est une approche intermédiaire où le testeur a un accès limité à certaines informations du système cible, comme des détails sur l’architecture ou des comptes d’utilisateur.
Cela permet d’évaluer la sécurité avec une compréhension partielle des systèmes, ce qui simule les conditions d’un attaquant ayant obtenu des informations préliminaires.
Comment se déroule un test d’intrusion ?
Définition du périmètre d’un test d’intrusion
Définir le périmètre d’un test d’intrusion consiste à délimiter les objectifs, les ressources et les systèmes à tester.
Un test d’intrusion est une opération personnalisée, adaptée à des objectifs spécifiques. Que ce soit pour évaluer le niveau de sécurité d’une cible, obtenir une certification pour une application web, ou intégrer des risques d’ingénierie sociale dans une démarche de sécurité, il est essentiel de définir le périmètre des tests.
Ce périmètre peut être précis ou plus large. Par exemple, un test en boite noire se concentrera sur les éléments du SI identifiés lors de la phase de reconnaissance. En revanche, un test d’intrusion web en boite blanche pourra englober toutes les fonctionnalités ou se focaliser sur des aspects spécifiques.
Pour approfondir cette étape cruciale, nous pouvez consulter notre livre blanc. Il offre des conseils pour établir une stratégie de pentest en adéquation avec vos objectifs, enjeux et contraintes.
Reconnaissance (technique et humaine)
La phase de reconnaissance consiste à collecter des informations sur la cible, tant sur le plan technique qu’humain.
- Reconnaissance technique : Cela inclut l’identification des adresses IP, des services actifs, des systèmes d’exploitation, et des applications. Des outils automatisés et des techniques manuelles sont utilisés pour analyser la surface d’attaque.
- Reconnaissance humaine : Elle implique la recherche d’informations sur les employés, comme les adresses e-mail et les rôles, afin d’identifier des vecteurs d’attaque potentiels, comme l’ingénierie sociale.
Cette étape est cruciale pour préparer les phases suivantes du test.
Cartographie du système cible
Comme son nom l’indique, cette phase consiste à cartographier l’ensemble des fonctionnalités de la cible.
Elle permet aux pentesters de visualiser clairement les éléments critiques et exposés. Cette étape est particulièrement importante lorsque le périmètre des tests est large, car elle aide à prioriser les tests en fonction des risques.
En identifiant les différentes composantes et leurs interactions, les testeurs peuvent mieux cibler leurs efforts pour maximiser la découverte de vulnérabilités.
Découverte des vulnérabilités
La phase de découverte de vulnérabilités dans un test d’intrusion consiste à identifier les failles potentielles dans les systèmes ou applications.
Durant cette étape, le testeur utilise des techniques manuelles et des outils automatisés pour scanner les réseaux, applications web, et bases de données à la recherche de vulnérabilités connues, telles que des erreurs de configuration, des faiblesses dans le code, ou des failles de sécurité non corrigées.
L’objectif est de dresser un inventaire des vulnérabilités à exploiter lors des phases suivantes du test.
Exploitation des vulnérabilités
La phase d’exploitation de vulnérabilités consiste à tirer parti des failles découvertes pour accéder aux systèmes, données ou ressources protégées.
Cette étape permet de vérifier si une vulnérabilité est réellement exploitable et jusqu’à quel point elle peut être utilisée pour compromettre la sécurité du système.
Les testeurs tentent d’escalader leurs privilèges, d’accéder à des données sensibles ou de prendre le contrôle des systèmes, dans le but de simuler ce qu’un attaquant réel pourrait faire après avoir trouvé une faille.
Ici, l’objectif et donc d’évaluer l’impact concret des failles et de définir leur criticité.
Méthodologies et normes de tests d’intrusion
Dans le cadre des tests d’intrusion, plusieurs méthodologies et normes reconnues guident les pratiques des pentesters.
Bien qu’il existe de nombreuses approches, nous allons nous concentrer ici sur trois méthodologies spécifiques.
Ces standards permettent de structurer et d’harmoniser les audits de sécurité, tout en garantissant une approche rigoureuse et complète.
OWASP (Open Web Application Security Project)
L’OWASP (Open Web Application Security Project) est une fondation à but non lucratif dédiée à l’amélioration de la sécurité des logiciels.
Elle fournit des ressources, des outils et des méthodologies pour aider les organisations à sécuriser leurs applications web.
L’OWASP est notamment connue pour son Top 10, une liste des vulnérabilités les plus critiques. Cette initiative est un guide essentiel pour les testeurs d’intrusion, leur permettant d’identifier et de prioriser les risques de sécurité.
PTES (Penetration Testing Execution Standard)
Le PTES (Penetration Testing Execution Standard) est un ensemble de normes et de bonnes pratiques qui encadre les tests d’intrusion.
Il fournit une méthodologie complète couvrant toutes les phases d’un test, de la préparation à l’après-test. PTES est structuré pour assurer que les tests sont systématiques, reproductibles et répondent à des critères de qualité.
Il permet aux testeurs de suivre un cadre standardisé pour identifier, analyser et exploiter les vulnérabilités, tout en offrant des recommandations pour améliorer la sécurité des systèmes testés.
NIST (National Institute of Standards and Technology)
Le NIST (National Institute of Standards and Technology) est une agence américaine qui développe des standards et des directives en matière de cybersécurité.
Son cadre le plus connu, le NIST Cybersecurity Framework, fournit des bonnes pratiques pour évaluer et améliorer la sécurité des systèmes d’information.
Le NIST propose des méthodologies rigoureuses pour les tests d’intrusion, permettant d’identifier, d’analyser et de corriger les vulnérabilités dans les systèmes. Ces normes sont largement adoptées pour garantir une approche structurée et efficace en matière de sécurité.
Rapport de test d’intrusion
Le rapport de test d’intrusion est le livrable principal remis suite aux tests. Il détaille toutes les vulnérabilités identifiées, classées par criticité : faible, moyenne, importante, critique.
Ce rapport inclut également les exploitations possibles et des recommandations de correction. Un débriefing avec le(s) pentester(s) est organisé pour échanger sur les failles et les mesures correctives à mettre en place.
Une phase de contre-audit peut être réalisée pour vérifier la bonne implémentation des corrections et l’absence d’effets de bord.
En complément, une synthèse managériale peut être fournie. Ce document permet de présenter les résultats à des profils non techniques. Il sert à attester de votre démarche de sécurité auprès de partenaires, d’investisseurs ou lors de réponses à des appels d’offres.
Outils utilisés lors d’un test d’intrusion
Il existe une multitude d’outils dédiés aux tests d’intrusion. Chacun d’eux est conçu pour répondre à des besoins spécifiques, en fonction de la cible et des phases des tests.
Dans cette section, nous aborderons quelques outils, en expliquant leur utilité et les contextes dans lesquels ils s’appliquent.
Toutefois, en raison de la diversité des outils disponibles, nous ne pourrons pas tous les couvrir en détail.
Burp Suite
Burp Suite est un outil dédié aux tests d’intrusion d’applications web. Il offre principalement un proxy web, permettant de manipuler les requêtes et réponses, ainsi qu’un scanner de vulnérabilités.
Burp fonctionne de manière modulaire. Certains modules sont installés par défaut, tandis que d’autres, appelés extensions, peuvent être téléchargés via l’extender, le catalogue de Burp.
En plus de sa modularité, Burp Suite est reconnu pour son ergonomie et sa communauté active. Celle-ci développe régulièrement de nouvelles extensions et fournit une documentation détaillée, faisant de Burp un outil de référence dans son domaine.
Pour plus d’informations, nous vous renvoyons vers notre article dédié : Introduction à Burp, l’outil dédié à la sécurité des plateformes web.
Nuclei
Nuclei est un scanner de vulnérabilités open source conçu pour détecter des failles de sécurité dans les applications et les infrastructures.
Il utilise des modèles basés sur YAML pour exécuter des tests automatisés et peut s’intégrer facilement dans des outils de CI/CD. Nuclei est rapide et efficace, permettant aux professionnels de la sécurité d’effectuer des audits approfondis et de générer des rapports clairs.
Pour plus de détails, consultez l’article complet : Nuclei, un scanner de vulnérabilités open source.
Frida
Frida est un outil open source destiné aux tests de sécurité des applications mobiles.
Il permet de modifier le comportement des applications en temps réel, facilitant ainsi l’analyse et l’identification de failles de sécurité.
Frida est compatible avec Android et iOS, et offre des fonctionnalités pour inspecter les processus d’une application, intercepter des appels d’API, et injecter du code personnalisé. Il est largement utilisé dans les tests d’intrusion et pour le débogage d’applications.
Pour plus d’infos, vous pouvez consulter l’article complet : Frida, l’outil dédié à la sécurité des applications mobiles.
Exegol
Exegol est un environnement d’exploitation dédié à la recherche en cybersécurité et aux tests d’intrusion. Ce projet est basé sur Debian et Docker. Il est préconfiguré et contient de nombreux outils pour les experts en cybersécurité.
Exegol est facile à utiliser et à déployer. Il offre un environnement prêt à l’emploi pour les tests de sécurité et l’analyse de vulnérabilités. Les professionnels l’utilisent souvent pour simuler des attaques dans un environnement contrôlé, afin de détecter des failles de sécurité dans les systèmes et réseaux.
Pour plus d’informations, nous vous renvoyons vers notre article dédié : Découverte d’Exegol, un environnement dédié à la sécurité offensive
Sqlmap
SQLmap est un outil open source conçu pour détecter et exploiter les vulnérabilités d’injection SQL. Il automatise le processus de test, permettant aux professionnels de la sécurité de gagner du temps.
SQLmap prend en charge divers systèmes de gestion de bases de données et offre des fonctionnalités avancées, comme l’extraction de données, l’accès à un shell de base de données, et le support des requêtes complexes.
Pour plus d’informations, nous nous vous renvoyons vers notre article : Sqlmap, l’outil pour identifier et exploiter des injections SQL.
Quel est le coût d’un test d’intrusion ?
Un test d’intrusion est une prestation sur-mesure avec un temps alloué en fonction de la cible, du périmètre des tests et de vos objectifs.
En effet, il est possible de partir sur un test de 2 jours (pour un tarif d’environ 2500 euros – rapport inclus) ou sur des tests plus approfondis (entre 5 à 10 jours pour un tarif compris entre 5000 et 10 000 euros).
Chez Vaadata, nous proposons également une offre exclusive aux startups permettant de réaliser un pentest web d’1 journée à 750 euros (incluant rapport et présentation des résultats). Pour cet audit, vu le temps limité, nous nous focalisons sur les failles les plus évidentes du point de vue d’un attaquant (en boite noire et/ou en boite grise).
Réaliser un test d’intrusion avec Vaadata, entreprise certifiée CREST et ISO 27001/27701
Vaadata est une société spécialisée en sécurité offensive. Nous accompagnons des organisations de toutes tailles et de tous secteurs dans la sécurisation de leurs systèmes.
Vaadata est certifiée CREST, un label anglo-saxon délivré par un organisme indépendant à but non lucratif. Ce label garantit la qualité des prestations techniques en cybersécurité. Nous l’avons obtenu après une évaluation rigoureuse de nos processus, de notre méthodologie et des compétences de nos pentesters.
Nous disposons également des certifications ISO 27001 et ISO 27701, sur l’ensemble de notre périmètre. Ces certifications démontrent notre engagement à maintenir un environnement sécurisé, aussi bien au niveau de nos processus et outils métiers que de notre infra interne et plus globalement de l’ensemble de notre SI.
Toutes nos missions sont réalisées par notre équipe interne, basée à Lyon. Nos pentesters détiennent des certifications qui attestent de leur compréhension approfondie des vulnérabilités et de leur capacité à les exploiter efficacement (liste non exhaustive) :
- OSCP (Offensive Security Certified Professional)
- OSWE (Offensive Security Web Expert)
- BSCP (Burp Suite Certified Practitioner)
- CPTS (Certified Penetration Testing Specialist)
- CBBH (Certified Bug Bounty Hunter)
- CEH (Certified Ethical Hacker)
- AWS Certified Solutions Architect – Associate
- AWS Certified Security – Specialty
- GCP Google Cloud Certified – Professional Cloud Security Engineer
- CAWASP – Certified Azure Web Application Security Professional
Auteur : Amin TRAORÉ – CMO @Vaadata