Un test de pénétration, ou « pen test », est un test de sécurité qui consiste à lancer une cyberattaque fictive pour trouver des vulnérabilités dans un système informatique.
Les testeurs de pénétration sont des professionnels de la sécurité qualifiés dans l'art du piratage éthique, qui consiste à utiliser des outils et des techniques de piratage pour corriger les faiblesses de la sécurité plutôt que de causer des dommages. Les entreprises embauchent des testeurs de pénétration pour lancer des attaques simulées contre leurs applications, leurs réseaux et d'autres actifs. En mettant en scène de fausses attaques, les testeurs de pénétration aident les équipes de sécurité à découvrir des failles de sécurité critiques et à améliorer la posture de sécurité globale.
Les termes « piratage éthique » et « test de pénétration » sont parfois utilisés de manière interchangeable alors qu'ils sont différents. Le piratage éthique est un domaine plus large de la cybersécurité qui comprend toute utilisation de compétences en matière de piratage pour améliorer la sécurité des réseaux. Les tests de pénétration ne sont qu'une méthode parmi d'autres utilisées par les hackers éthiques. Les hackers éthiques peuvent également fournir une analyse des logiciels malveillants, une évaluation des risques et d'autres services.
Il y a trois raisons principales pour lesquelles les entreprises effectuent des tests de pénétration.
Les tests de pénétration sont plus complets que les seules évaluations de la vulnérabilité. Les tests de pénétration et les évaluations de la vulnérabilité aident les équipes de sécurité à identifier les faiblesses des applications, des appareils et des réseaux. Cependant, ces méthodes ont des objectifs légèrement différents, de sorte que de nombreuses organisations utilisent les deux au lieu de se fier à l'une ou l'autre.
Les évaluations de vulnérabilité sont généralement des analyses automatisées et récurrentes qui recherchent les vulnérabilités connues d'un système et les signalent pour examen. Les équipes de sécurité utilisent les évaluations de vulnérabilité pour vérifier rapidement les failles communes.
Les tests de pénétration vont encore plus loin. Lorsque les testeurs de pénétration trouvent des vulnérabilités, ils les exploitent dans des attaques simulées qui imitent les comportements de pirates malveillants. Cela permet à l'équipe de sécurité de comprendre en profondeur comment de véritables pirates informatiques pourraient exploiter les vulnérabilités pour accéder à des données sensibles ou perturber les opérations. Au lieu d'essayer de deviner les agissements des pirates, l'équipe de sécurité peut utiliser ces connaissances pour concevoir des contrôles de sécurité réseau pour les cybermenaces du monde réel.
Dans la mesure où les testeurs de pénétration utilisent à la fois des processus automatisés et manuels, ils découvrent des vulnérabilités connues et inconnues. Étant donné que les testeurs de pénalité exploitent activement les faiblesses qu'ils trouvent, ils sont moins susceptibles de trouver des faux positifs ; s'ils peuvent exploiter une faille, les cybercriminels le peuvent aussi. Et comme les services de tests de pénétration sont généralement fournis par des experts en sécurité tiers, qui abordent les systèmes du point de vue d'un pirate, les tests de pénétration permettent souvent de découvrir des failles que les équipes de sécurité internes pourraient manquer.
Les experts en cybersécurité recommandent les tests de pénétration. De nombreux experts et autorités en cybersécurité recommandent les tests de pénétration comme mesure de sécurité proactive. Par exemple, en 2021, le gouvernement fédéral américain (lien externe à ibm.com) a exhorté les entreprises à utiliser des tests de pénétration pour se défendre contre la prolifération des attaques de ransomware.
Les tests de pénétration prennent en charge la conformité réglementaire. Les réglementations sur la sécurité des données telles que la loi Health Insurance Portability Accountability Act (HIPAA) et le Règlement général sur la protection des données (GDPR) imposent certains contrôles de sécurité. Les tests de pénétration peuvent aider les entreprises à prouver leur conformité à ces réglementations en s'assurant que leurs contrôles de sécurité fonctionnent comme prévu.
D'autres réglementations exigent explicitement des tests de pénétration. La norme de sécurité des données de l'industrie des cartes de paiement (PCI-DSS), qui s'applique aux organisations qui traitent les cartes de crédit, préconise spécifiquement des « tests de pénétration externes et internes » réguliers (lien externe à ibm.com).
Les tests de pénétration peuvent également contribuer à la conformité aux normes volontaires de sécurité de l'information, comme la norme ISO/IEC 27001 (lien externe à ibm.com).
Tous les tests de pénétration impliquent une simulation d'attaque contre les systèmes informatiques d'une entreprise. Cependant, les différents types de tests de pénétration ciblent différents types d'actifs de l'entreprise.
Les tests de pénétration d'application recherchent les vulnérabilités dans les applications et les systèmes liés, notamment les applications Web et les sites Web, les applications mobiles et IoT, les applications cloud et les interfaces de programme d'application (API).
Les testeurs de pénétration commencent souvent par rechercher les vulnérabilités figurant dans le Top 10 de l'Open Web Application Security Project (OWASP) (lien externe à ibm.com). Le Top 10 de l'OWASP dresse la liste des vulnérabilités les plus critiques des applications Web. La liste est périodiquement mise à jour pour refléter l'évolution du paysage de la cybersécurité, mais les vulnérabilités les plus courantes sont les injections de code malveillant, les mauvaises configurations et les échecs d'authentification. Outre le Top 10 de l'OWASP, les tests de pénétration des applications recherchent également des failles de sécurité moins courantes et des vulnérabilités qui peuvent être propres à l'application en question.
Les tests de pénétration du réseau attaquent l'ensemble du réseau informatique de l'entreprise. Il existe deux grands types de tests de pénétration du réseau : les tests externes et les tests internes.
Dans le cadre de tests externes, les testeurs de pénétration imitent le comportement de pirates informatiques externes afin de trouver des problèmes de sécurité dans les actifs orientés vers l'internet, tels que les serveurs, les routeurs, les sites Web et les ordinateurs des employés. Ceux-ci sont appelé « tests externes » car les testeurs de pénétration tentent de s'introduire dans le réseau depuis l'extérieur.
Lors de tests internes, les testeurs de pénétration imitent le comportement d'initiés malveillants ou de pirates disposant d'informations d'identification volées. L'objectif est de découvrir les vulnérabilités qu'une personne pourrait exploiter depuis l'intérieur du réseau, par exemple en abusant des privilèges d'accès pour voler des données sensibles.
Ces tests de sécurité recherchent les vulnérabilités des appareils connectés au réseau, tels que les ordinateurs portables, les appareils mobiles et IoT et les technologies opérationnelles (OT).
Les testeurs de pénétration peuvent rechercher des failles logicielles, comme un exploit du système d'exploitation qui permet aux pirates d'accéder à distance à un terminal. Ils peuvent rechercher des vulnérabilités physiques, comme un centre de données mal sécurisé dans lequel des acteurs malveillants pourraient s'infiltrer. L'équipe de test peut également déterminer comment les pirates peuvent passer d'un appareil compromis à d'autres parties du réseau.
Les tests de pénétration du personnel recherchent les faiblesses de la sécurité informatique des employés. En d'autres termes, ces tests de sécurité évaluent la vulnérabilité d'une entreprise aux attaques d'ingénierie sociale.
Les testeurs de pénétration du personnel utilisent le phishing, le vishing (hameçonnage vocal) et le smishing (hameçonnage par SMS) pour inciter les employés à divulguer des informations sensibles. Les tests de pénétration du personnel peuvent également évaluer la sécurité physique des bureaux. Par exemple, les testeurs de pénétration peuvent essayer de s'introduire dans un bâtiment en se déguisant en agents de livraison. Cette méthode, appelée « filature », est couramment utilisée par les criminels du monde réel.
Avant le début d'un test de pénétration, l'équipe de test et l'entreprise définissent la portée du test. La portée décrit les systèmes qui seront testés, le moment où les tests auront lieu et les méthodes utilisées par les testeurs de pénétration. La portée détermine également la quantité d'informations dont les testeurs de pénétration disposeront à l'avance :
Dans un test de boîte noire, les testeurs de pénétration ne disposent d'aucune information sur le système cible. Ils doivent s'appuyer sur leurs propres recherches pour élaborer un plan d'attaque, comme le ferait un pirate du monde réel.
Dans un test de boîte blanche, les testeurs de pénétration disposent d'une transparence totale sur le système cible. La société partage des détails tels que des diagrammes de réseau, des codes sources, des informations d'identification, etc.
Dans un test de boîte grise, les testeurs de pénétration obtiennent quelques informations et guère plus. Par exemple, la société peut partager des plages IP pour les périphériques réseau, mais les testeurs de pénétration devront sonder ces plages IP à la recherche de vulnérabilités par eux-mêmes.
Une fois le champ d'application défini, les tests commencent. Les testeurs de pénétration peuvent suivre un certain nombre de méthodologies de test de pénétration. Parmi les plus courantes, citons les directives de l'OWASP en matière de tests de sécurité des applications (lien externe à ibm.com), la norme PTES (Penetration Testing Execution Standard) (lien externe à ibm.com) et la norme SP 800-115 du National Institute of Standards and Technology (NIST) (lien externe à ibm.com).
Quelle que soit la méthodologie utilisée par une équipe de test, le processus suit généralement les mêmes étapes générales.
L'équipe de test recueille des informations sur le système cible. Les testeurs de pénétration utilisent différentes méthodes de reconnaissance en fonction de la cible. Par exemple, si la cible est une application, les testeurs de pénétration peuvent étudier son code source. Si la cible est un réseau entier, les testeurs de pénétration peuvent utiliser un analyseur de paquets pour inspecter les flux de trafic réseau.
Les testeurs de pénétration s'appuient également souvent sur des renseignements en open source (OSINT). En lisant la documentation publique, les articles d'actualité et même les médias sociaux et les comptes GitHub des employés, les testeurs de pénalité peuvent glaner des informations précieuses sur leurs cibles.
Les testeurs de pénétration utilisent les connaissances acquises lors de l'étape de reconnaissance pour identifier les vulnérabilités exploitables du système. Par exemple, les testeurs de pénétration peuvent utiliser un scanner de ports comme Nmap pour rechercher des ports ouverts où ils peuvent envoyer des logiciels malveillants. Pour un test d'ingénierie sociale, l'équipe de test peut développer une fausse histoire, ou un « prétexte », qu'elle utilisera dans un e-mail de phishing pour voler les informations d'identification des employés.
Dans le cadre de cette étape, les testeurs de pénétration peuvent vérifier comment les dispositifs de sécurité réagissent aux intrusions. Par exemple, ils peuvent envoyer du trafic suspect au pare-feu de l'entreprise pour voir ce qui se passe. Les testeurs de pénétration utilisent ce qu'ils ont appris pour éviter d'être détectés pendant la suite du test.
L'équipe de test lance l'attaque réelle. Les testeurs de pénétration peuvent essayer une variété d'attaques en fonction du système cible, des vulnérabilités qu'ils ont trouvées et de la portée du test. Les attaques les plus couramment testées sont les suivantes :
Injections SQL : les testeurs de pénétration tentent de déclencher la divulgation de données sensibles sur une page Web ou une application en saisissant un code malveillant dans les zones de saisie.
Cross-site scripting : les testeurs informatiques tentent d'introduire un code malveillant sur le site Web d'une entreprise.
Attaques par déni de service : les testeurs de pénétration tentent de mettre hors ligne des serveurs, des applications et d'autres ressources réseau en les inondant de trafic.
Ingénierie sociale : les testeurs de pénétration utilisent le phishing, l'appâtage, le prétexte ou d'autres tactiques pour inciter les employés à compromettre la sécurité du réseau.
Attaques par force brute : les testeurs de pénétration tentent de s'introduire dans un système en exécutant des scripts qui génèrent et testent des mots de passe potentiels jusqu'à en trouver un qui fonctionne.
Attaques de l'homme du milieu (HDM) : les testeurs de pénétration interceptent le trafic entre deux appareils ou utilisateurs pour voler des informations sensibles ou installer des logiciels malveillants.
Une fois que les testeurs de pénétration ont exploité une vulnérabilité pour s'implanter dans le système, ils essaient de se déplacer et d'accéder à une plus grande partie du système. Cette phase est parfois appelé « chaînage de vulnérabilité » car les testeurs de pénétration se déplacent de vulnérabilité en vulnérabilité pour pénétrer plus profondément dans le réseau. Par exemple, ils peuvent commencer par installer un enregistreur de frappe sur l'ordinateur d'un employé. À l'aide de cet enregistreur de frappe, ils peuvent capturer les informations d'identification de l'employé. Grâce à ces identifiants, ils peuvent accéder à une base de données sensibles.
À ce stade, l'objectif du testeur de pénétration est de conserver l'accès et d'augmenter ses privilèges tout en échappant aux mesures de sécurité. Les testeurs de pénétration font tout cela pour imiter les menaces persistantes avancées (APT), qui peuvent se cacher dans un système pendant des semaines, des mois ou des années avant d'être découvertes.
À la fin de l'attaque simulée, les testeurs de pénétration nettoient les traces qu'ils ont laissées derrière eux, comme les chevaux de Troie qu'ils ont installés ou les configurations qu'ils ont modifiées. Ainsi, les pirates du monde réel ne peuvent pas utiliser les exploits des testeurs de pénétration pour pénétrer dans le réseau.
Ensuite, les testeurs de pénétration préparent un rapport sur l'attaque. Le rapport décrit généralement les vulnérabilités qu'ils ont trouvées, les exploits qu'ils ont utilisés, les détails sur la façon dont ils ont contourné les dispositifs de sécurité et la description de ce qu'ils ont fait lorsqu'ils étaient à l'intérieur du système. Le rapport peut également inclure des recommandations spécifiques sur la correction des vulnérabilités. L'équipe de sécurité interne peut utiliser ces informations pour renforcer les défenses contre les attaques du monde réel.
Les testeurs de pénétration utilisent un certain nombre d'outils pour effectuer une reconnaissance, détecter les vulnérabilités et automatiser les parties clés du processus de test de pénétration. Les outils les plus courants sont les suivants :
Systèmes d'exploitation spécialisés : La plupart des testeurs de pénétration utilisent des systèmes d'exploitation conçus pour le test de pénétration et le piratage éthique. Le plus populaire est Kali Linux, une distribution Linux open source qui est livrée préchargée avec des outils de test de pénétration comme Nmap, Wireshark et Metasploit.
Outils de piratage d'identité : Ces programmes peuvent découvrir des mots de passe en cassant les chiffrements ou en lançant des attaques par force brute, qui utilisent des robots ou des scripts pour générer et tester automatiquement des mots de passe potentiels jusqu'à ce qu'un seul fonctionne. Les exemples incluent Medusa, Hyrda, Hashcat et John the Ripper.
Scanners de port : Les scanners de ports permettent aux testeurs de pénétration de tester à distance des dispositifs pour détecter les ports ouverts et disponibles, qu'ils peuvent utiliser pour pénétrer dans un réseau. Nmap est le scanner de port le plus utilisé, mais masscan et ZMap sont également courants.
Scanners de vulnérabilité : Les outils d'analyse des vulnérabilités recherchent les vulnérabilités connues des systèmes, ce qui permet aux testeurs de pénétration de trouver rapidement les points d'entrée potentiels dans une cible. Les exemples incluent Nessus, Core Impact et Netsparker.
Les scanners de vulnérabilité Web sont un sous-ensemble de scanners de vulnérabilité qui évaluent les applications Web et les sites Web. Parmi les exemples, citons Burp Suite et Zed Attack Proxy (ZAP) de l'OWASP.
Analyseurs de paquets : Les analyseurs de paquets, également appelés renifleurs de paquets, permettent aux testeurs de pénétration d'analyser le trafic réseau en capturant et en inspectant les paquets. Les testeurs de pénétration peuvent déterminer d'où vient le trafic, où il va et, dans certains cas, quelles données il contient. Wireshark et tcpdump comptent parmi les analyseurs de paquets les plus utilisés.
Metasploit : Metasploit est une infrastructure de test de pénétration dotée d'une multitude de fonctions. Plus important encore, Metasploit permet aux testeurs de pénétration d'automatiser les cyberattaques. Metasploit dispose d'une bibliothèque intégrée de codes d'exploitation et de contenus pré-écrits. Les testeurs de pénétration peuvent sélectionner un exploit, lui attribuer un contenu à déposer sur le système cible et laisser Metasploit s'occuper de la suite.
Tests de pénétration pour vos applications, vos réseaux, votre matériel et votre personnel, afin de découvrir et de corriger les vulnérabilités exposant vos actifs les plus importants à une attaque.
X-Force Red est une équipe mondiale de pirates engagés pour s'introduire dans des entreprises et mettre en évidence les vulnérabilités dangereuses susceptibles d'être exploitées par des attaquants à des fins personnelles.
Détectez et éliminez les menaces plus rapidement grâce à la suite XDR leader du secteur.
La traque des menaces est une approche proactive qui permet d'identifier les menaces inconnues ou en cours non corrigées, au sein d'un réseau d'entreprise.
Les cyberattaques sont des tentatives indésirables de voler, d'exposer, de modifier, de désactiver ou de détruire des informations via un accès non autorisé aux systèmes informatiques.
Les menaces d'initiés proviennent d'utilisateurs qui ont un accès autorisé et légitime aux actifs d'une entreprise et qui en abusent, délibérément ou accidentellement.