Les tests d’intrusion, « pe­ne­tra­tion test » en anglais ou encore sous forme rac­cour­cie « pentests », per­met­tent de dé­ter­mi­ner le potentiel d’attaque du réseau, des dif­fé­rents systèmes par­ti­ci­pants ou même d’une seule ap­pli­ca­tion. Comment les pe­ne­tra­tion tests sont-ils effectués et quelles sont leurs con­sé­quences sur le réseau existant ?

Qu’est-ce qu’un pentest ?

En in­for­ma­tique, un pentest est une attaque planifiée d’un réseau de toute taille ou d’un or­di­na­teur in­di­vi­duel dans le but de révéler les points faibles et les failles de l’objet testé. Pour cela, dif­fé­rents outils sont utilisés pour simuler des modèles d’attaque dif­fé­rents basés sur des méthodes connues. Les com­po­sants qui sont soumis au test d’intrusion sont :

  • Les éléments in­ter­mé­diaires du réseau comme les routeurs, les com­mu­ta­teurs ou les pas­se­relles
  • Les pas­se­relles de sécurité comme les pare-feu matériels et logiciels, filtres de paquets, antivirus, ré­par­ti­teurs de charge (Load Balancer), IDS et IPS etc.
  • Les serveurs comme les serveurs Web, serveurs de base de données et serveurs de fichiers etc.
  • Les équi­pe­ments et systèmes de té­lé­com­mu­ni­ca­tion
  • Les ap­pli­ca­tions Web
  • Les ins­tal­la­tions d’in­fras­truc­tures comme les mé­ca­nismes de contrôle d’accès
  • Les réseaux sans fil impliqués comme les Wi-Fi ou Bluetooth

D’une manière générale, on distingue plusieurs méthodes : la méthode de test par boîte noire, par boîte blanche ou par boîte grise (black box, white box ou grey box en anglais). Dans le premier cas, seules les in­for­ma­tions d’adresse du réseau ou du système cible sont mises à la dis­po­si­tion des tests d’intrusion. Avec la seconde méthode, les testeurs ont une con­nais­sance ap­pro­fon­die des systèmes à tester, comme les adresses IP et les com­po­sants logiciels et matériels utilisés. Les tests boîte grise, la variante de test la plus fré­quem­ment utilisée, combinent les méthodes de test des tests boîte noire et boîte blanche. Une première con­nais­sance de l’in­fras­truc­ture in­for­ma­tique est dis­po­nible, par exemple à quoi servent les systèmes et ce qu’ils re­pré­sen­tent.

Comment effectuer un pentest ?

Comment réaliser un test d’intrusion ? Nous avons résumé dans les pa­ra­graphes suivants les aspects les plus im­por­tants pour effectuer un pentest.

Prérequis au pentest

Pour réussir un test d’intrusion, il est d’abord essentiel d’établir un concept clair. Dé­ter­mi­nez les com­po­sants à tester, la durée d’un test in­di­vi­duel ou de l’ensemble de l’examen de votre réseau et si vous disposez de tous les outils né­ces­saires.

Cette phase de pré­pa­ra­tion est d’autant plus im­por­tante si vous confiez le contrôle de sécurité à des testeurs ou des testeurs externes et si un test boîte blanche doit être réalisé. Dans ce cas, il est né­ces­saire que vous leur com­mu­ni­quiez toutes les in­for­ma­tions sur votre réseau et les systèmes par­ti­ci­pants et que vous leur trans­met­tiez la do­cu­men­ta­tion existante. Il en va autrement pour un test boîte noire, pour lequel vous com­mu­ni­quez uni­que­ment l’adresse de des­ti­na­tion des objets de test res­pec­tifs.

Note

L’Agence nationale de la sécurité des systèmes d’in­for­ma­tion (ANSSI)“) re­com­mande aux en­tre­prises de réaliser des tests d’intrusion de manière régulière, gé­né­ra­le­ment au moins une fois par an. Cependant, la fréquence exacte peut varier en fonction de dif­fé­rents facteurs tels que la taille de l’en­tre­prise, la sen­si­bi­lité des données traitées, l’évolution des menaces in­for­ma­tiques et les exigences spé­ci­fiques du secteur d’activité. La plupart des en­tre­prises attendent de soup­çon­ner une cy­be­rat­taque ou un piratage pour mener un test d’intrusion. Nous vous con­seil­lons fortement d’être proactif en ef­fec­tuant un pentest afin d’être informé à l’avance des menaces qui pour­raient peser sur votre en­tre­prise.

Parmi les prin­ci­paux domaines tech­niques que les pen­tes­ters devront vérifier, on trouve : l’ad­mi­nis­tra­tion système, les pro­to­coles réseau, les langages de pro­gram­ma­tion, les produits de sécurité in­for­ma­tique, les systèmes d’ap­pli­ca­tion et les com­po­sants réseau.

Pentest : les meilleurs outils

Puisqu’il y a une grande variété de formes d’attaque réseau, il existe un large éventail d’outils dif­fé­rents pour les testeurs. Parmi les outils les plus im­por­tants, on peut trouver :

  • Le scanneur de ports : le port scanning consiste à trouver les ports ouverts d’un système in­for­ma­tique à l’aide d’outils spéciaux.
  • Le scanner de vul­né­ra­bi­lité : les scanners de vul­né­ra­bi­lité (également appelés vul­ne­ra­bi­lity scanner) vérifient si les systèmes pré­sen­tent des failles de sécurité, des con­fi­gu­ra­tions in­cor­rectes et des po­li­tiques de mot de passe et d’uti­li­sa­teur in­suf­fi­santes.
  • Le sniffer : un sniffer permet d’analyser le trafic de données d’un réseau. Plus celui-ci est chiffré, moins d’in­for­ma­tions sont con­ser­vées.
  • Les gé­né­ra­teurs de paquets : les gé­né­ra­teurs de paquets sont des outils per­met­tant de générer ou de simuler le trafic de données du réseau. Ils per­met­tent d’imiter le trafic réseau réel dans le cadre d’un test d’intrusion.
  • Le Password-Cracker : avec les crackers de mots de passe, les pen­tes­teurs essaient d’obtenir des mots de passe non sécurisés.

De nombreux outils ont été spé­ci­fi­que­ment dé­ve­lop­pés pour les tests de sécurité réseau et sont donc adaptés à des domaines bien par­ti­cu­liers. Bien que la majorité des pro­grammes soit open source, il existe aussi des ap­pli­ca­tions de sécurité com­mer­ciales, qui sont gé­né­ra­le­ment mieux do­cu­men­tées et ac­com­pag­nées d’un support uti­li­sa­teur complet.

Conseil

Il existe désormais de grandes col­lec­tions d’outils pour les tests d’intrusion compilées par des experts en sécurité ex­pé­ri­men­tés. Ces col­lec­tions fonc­tion­nent souvent sur la base d’une dis­tri­bu­tion Linux stable. Parmi les solutions les plus po­pu­laires, on trouve la dis­tri­bu­tion Kali Linux qui a été publiée pour la première fois en 2007.

Dé­rou­le­ment d’un pe­ne­tra­tion test

La procédure d’un pentest peut être divisée en quatre phases.

Vé­ri­fi­ca­tion du concept de réseau

Dans la phase pré­pa­ra­toire d’un test d’intrusion, un testeur peut d’ores et déjà détecter des in­co­hé­rences ou des fai­blesses dans la con­cep­tion du réseau ou dans des com­po­sants in­di­vi­duels. Par exemple, si dif­fé­rentes ap­pli­ca­tions sont con­fi­gu­rées avec des groupes d’accès dif­fé­rents, elles peuvent ra­pi­de­ment créer des com­pli­ca­tions et poser un risque de sécurité pour l’ensemble du réseau, même si le réseau et les pro­grammes hébergés in­di­vi­duels sont bien protégés. Certains de ces cas peuvent déjà être réglés lors de cette phase pré­li­mi­naire. D’autres ne peuvent être confirmés que par un test pratique.

Test des mesures de dur­cis­se­ment (Hardening)

L’élément central d’un réseau d’en­tre­prise sécurisé est le fait que les systèmes concernés soient aussi durables que possible. Lors du pentest, il est important de vérifier quelles mesures de défense sont actives. D’une part, il s’agit des logiciels installés comme le système d’ex­ploi­ta­tion, les services système ou les ap­pli­ca­tions uti­li­sa­teurs qui doivent toujours être à jour. Si les versions plus anciennes sont com­pa­tibles avec d’autres ap­pli­ca­tions, vous devez prendre des pré­cau­tions al­ter­na­tives pour protéger votre système. De plus, les exigences en matière d’accès et d’au­then­ti­fi­ca­tion des dif­fé­rents systèmes et pro­grammes jouent également un rôle central. Le test d’intrusion traite ici des questions telles que :

  • la gestion des accès
  • l’uti­li­sa­tion et le chif­fre­ment des mots de passe
  • l’uti­li­sa­tion des in­ter­faces exis­tantes et des ports ouverts
  • les ensembles de règles définis (du pare-feu, par exemple).

Recherche de vul­né­ra­bi­li­tés connues

En général, il ne faut pas attendre longtemps avant que des lacunes de sécurité lo­gi­cielles soient détectées. C’est pourquoi, les testeurs sont souvent familiers avec les points d’attaque des objets testés. Grâce à l’état de la version et au statut des patchs, dé­ter­mi­nés lors de la recherche sur le degré de dur­cis­se­ment des com­po­sants du réseau, les testeurs ap­pren­nent ra­pi­de­ment quelles ap­pli­ca­tions re­pré­sen­tent un risque de sécurité. Si de nombreux systèmes doivent être analysés dans un laps de temps réduit, le recours aux scanners de vul­né­ra­bi­lité est alors utile, mais cela n’aboutit pas toujours à un résultat exact.

Uti­li­sa­tion ciblée des exploits

Un exploit est un élément de programme per­met­tant à un individu ou à un logiciel mal­veil­lant d’exploiter une faille de sécurité dans un système. Le testeur ne peut dé­ter­mi­ner si les vul­né­ra­bi­li­tés dé­cou­vertes peuvent être ex­ploi­tées ou non en utilisant un exploit cor­res­pon­dant. Ces séquences de commandes sont en général des scripts fournis par dif­fé­rentes sources Internet, mais ils ne sont pas toujours pro­gram­més de manière sécurisée. Si vous exécutez un exploit non sécurisé, il y a alors un risque que l’ap­pli­ca­tion ou le système se bloque et dans le pire des cas, que des données im­por­tantes soient écrasées. Le testeur doit donc veiller à n’utiliser que des scripts sûrs provenant de sources fiables ou alors à ne pas tester les vul­né­ra­bi­li­tés.

Note

Toutes les étapes et les résultats du test d’intrusion doivent être consignés et respecter stric­te­ment la con­fi­den­tia­lité des in­for­ma­tions obtenues, ne les di­vul­guant qu’avec un con­sen­te­ment explicite. Le testeur vous donnera ensuite une éva­lua­tion précise des failles de sécurité qui re­pré­sen­tent des risques forts pour votre réseau. Grâce à ces listes de priorités, vous pouvez optimiser la pro­tec­tion du système étape par étape.

Avantages et in­con­vé­nients des pentests

Les struc­tures in­for­ma­tiques homogènes ap­par­tien­nent désormais au passé. Les struc­tures in­for­ma­tiques dé­cen­tra­li­sées actuelles peuvent être à l’origine de nouvelles failles de sécurité et de dys­fonc­tion­ne­ments quo­ti­diens. Les éditeurs de logiciels les corrigent plus ou moins ra­pi­de­ment.

Les tests d’intrusion pré­sen­tent les avantages suivants :

  • lors de la vé­ri­fi­ca­tion des systèmes, les pentests vont beaucoup plus dans le détail que les contrôles de sécurité or­di­naires
  • l’objectif élé­men­taire est de vérifier l’in­te­rac­tion des dif­fé­rents com­po­sants
  • les testeurs externes apportent un avis sup­plé­men­taire et un point de vue différent sur le concept de sécurité sous-jacent
  • les testeurs pro­fes­sion­nels sont spé­cia­le­ment formés et procèdent de la même manière que le feraient des cy­ber­cri­mi­nels.

Le test d’intrusion, et en par­ti­cu­lier la col­la­bo­ra­tion avec des testeurs externes, présente toutefois certains in­con­vé­nients :

  • pendant l’exécution, l’équipe de pentests a accès à des in­for­ma­tions internes
  • il est toujours possible que le test d’intrusion cause des dommages que vous ne pourrez pas réparer par la suite
  • les pentests ne four­nis­sent qu’un ins­tan­tané de vos systèmes de réseau et ne doivent donc jamais servir de prétexte pour renoncer aux mesures de défense courantes.

L’in­gé­nie­rie sociale n’est pas examinée avec un pe­ne­tra­tion test classique. Cependant, de nombreux pres­ta­taires de services proposent des for­ma­tions pour aider les employés des en­tre­prises à lutter contre les lacunes en matière de sécurité.

Aller au menu principal