Test d’intrusion : qu’est-ce qu’un pentest ?

Les tests d’intrusion, « penetration test » en anglais ou encore sous forme raccourcie « pentests », permettent de déterminer le potentiel d’attaque du réseau, des différents systèmes participants ou même d’une seule application. Comment les penetration tests sont-ils effectués et quelles sont leurs conséquences sur le réseau existant ?

Qu’est-ce qu’un pentest ?

En informatique, un pentest est une attaque planifiée d’un réseau de toute taille ou d’un ordinateur individuel dans le but de révéler les points faibles et les failles de l’objet testé. Pour cela, différents outils sont utilisés pour simuler des modèles d’attaque différents basés sur des méthodes connues. Les composants qui sont soumis au test d’intrusion sont :

  • Les éléments intermédiaires du réseau comme les routeurs, les commutateurs ou les passerelles
  • Les passerelles de sécurité comme les pare-feu matériels et logiciels, filtres de paquets, antivirus, répartiteurs 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 équipements et systèmes de télécommunication
  • Les applications Web
  • Les installations d’infrastructures comme les mécanismes 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 informations d’adresse du réseau ou du système cible sont mises à la disposition des tests d’intrusion. Avec la seconde méthode, les testeurs ont une connaissance approfondie des systèmes à tester, comme les adresses IP et les composants logiciels et matériels utilisés. Les tests boîte grise, la variante de test la plus fréquemment utilisée, combinent les méthodes de test des tests boîte noire et boîte blanche. Une première connaissance de l’infrastructure informatique est disponible, par exemple à quoi servent les systèmes et ce qu’ils représentent.

Comment effectuer un pentest ?

Comment réaliser un test d’intrusion ? Nous avons résumé dans les paragraphes suivants les aspects les plus importants 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éterminez les composants à tester, la durée d’un test individuel ou de l’ensemble de l’examen de votre réseau et si vous disposez de tous les outils nécessaires.

Cette phase de préparation est d’autant plus importante 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écessaire que vous leur communiquiez toutes les informations sur votre réseau et les systèmes participants et que vous leur transmettiez la documentation existante. Il en va autrement pour un test boîte noire, pour lequel vous communiquez uniquement l’adresse de destination des objets de test respectifs.

Note

L’Agence nationale de la sécurité des systèmes d’information (ANSSI)“) recommande aux entreprises de réaliser des tests d’intrusion de manière régulière, généralement au moins une fois par an. Cependant, la fréquence exacte peut varier en fonction de différents facteurs tels que la taille de l’entreprise, la sensibilité des données traitées, l’évolution des menaces informatiques et les exigences spécifiques du secteur d’activité. La plupart des entreprises attendent de soupçonner une cyberattaque ou un piratage pour mener un test d’intrusion. Nous vous conseillons fortement d’être proactif en effectuant un pentest afin d’être informé à l’avance des menaces qui pourraient peser sur votre entreprise.

Parmi les principaux domaines techniques que les pentesters devront vérifier, on trouve : l’administration système, les protocoles réseau, les langages de programmation, les produits de sécurité informatique, les systèmes d’application et les composants 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 différents pour les testeurs. Parmi les outils les plus importants, on peut trouver :

  • Le scanneur de ports : le port scanning consiste à trouver les ports ouverts d’un système informatique à l’aide d’outils spéciaux.
  • Le scanner de vulnérabilité : les scanners de vulnérabilité (également appelés vulnerability scanner) vérifient si les systèmes présentent des failles de sécurité, des configurations incorrectes et des politiques de mot de passe et d’utilisateur insuffisantes.
  • Le sniffer : un sniffer permet d’analyser le trafic de données d’un réseau. Plus celui-ci est chiffré, moins d’informations sont conservées.
  • Les générateurs de paquets : les générateurs de paquets sont des outils permettant de générer ou de simuler le trafic de données du réseau. Ils permettent 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 pentesteurs essaient d’obtenir des mots de passe non sécurisés.

De nombreux outils ont été spécifiquement développés pour les tests de sécurité réseau et sont donc adaptés à des domaines bien particuliers. Bien que la majorité des programmes soit open source, il existe aussi des applications de sécurité commerciales, qui sont généralement mieux documentées et accompagnées d’un support utilisateur complet.

Conseil

Il existe désormais de grandes collections d’outils pour les tests d’intrusion compilées par des experts en sécurité expérimentés. Ces collections fonctionnent souvent sur la base d’une distribution Linux stable. Parmi les solutions les plus populaires, on trouve la distribution Kali Linux qui a été publiée pour la première fois en 2007.

Déroulement d’un penetration test

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

Vérification du concept de réseau

Dans la phase préparatoire d’un test d’intrusion, un testeur peut d’ores et déjà détecter des incohérences ou des faiblesses dans la conception du réseau ou dans des composants individuels. Par exemple, si différentes applications sont configurées avec des groupes d’accès différents, elles peuvent rapidement créer des complications et poser un risque de sécurité pour l’ensemble du réseau, même si le réseau et les programmes hébergés individuels sont bien protégés. Certains de ces cas peuvent déjà être réglés lors de cette phase préliminaire. D’autres ne peuvent être confirmés que par un test pratique.

Test des mesures de durcissement (Hardening)

L’élément central d’un réseau d’entreprise 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’exploitation, les services système ou les applications utilisateurs qui doivent toujours être à jour. Si les versions plus anciennes sont compatibles avec d’autres applications, vous devez prendre des précautions alternatives pour protéger votre système. De plus, les exigences en matière d’accès et d’authentification des différents systèmes et programmes jouent également un rôle central. Le test d’intrusion traite ici des questions telles que :

  • la gestion des accès
  • l’utilisation et le chiffrement des mots de passe
  • l’utilisation des interfaces existantes et des ports ouverts
  • les ensembles de règles définis (du pare-feu, par exemple).

Recherche de vulnérabilités connues

En général, il ne faut pas attendre longtemps avant que des lacunes de sécurité logicielles 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éterminés lors de la recherche sur le degré de durcissement des composants du réseau, les testeurs apprennent rapidement quelles applications représentent 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 vulnérabilité est alors utile, mais cela n’aboutit pas toujours à un résultat exact.

Utilisation ciblée des exploits

Un exploit est un élément de programme permettant à un individu ou à un logiciel malveillant d’exploiter une faille de sécurité dans un système. Le testeur ne peut déterminer si les vulnérabilités découvertes peuvent être exploitées ou non en utilisant un exploit correspondant. Ces séquences de commandes sont en général des scripts fournis par différentes sources Internet, mais ils ne sont pas toujours programmés de manière sécurisée. Si vous exécutez un exploit non sécurisé, il y a alors un risque que l’application ou le système se bloque et dans le pire des cas, que des données importantes 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 vulnérabilités.

Note

Toutes les étapes et les résultats du test d’intrusion doivent être consignés et respecter strictement la confidentialité des informations obtenues, ne les divulguant qu’avec un consentement explicite. Le testeur vous donnera ensuite une évaluation précise des failles de sécurité qui représentent des risques forts pour votre réseau. Grâce à ces listes de priorités, vous pouvez optimiser la protection du système étape par étape.

Avantages et inconvénients des pentests

Les structures informatiques homogènes appartiennent désormais au passé. Les structures informatiques décentralisées actuelles peuvent être à l’origine de nouvelles failles de sécurité et de dysfonctionnements quotidiens. Les éditeurs de logiciels les corrigent plus ou moins rapidement.

Les tests d’intrusion présentent les avantages suivants :

  • lors de la vérification des systèmes, les pentests vont beaucoup plus dans le détail que les contrôles de sécurité ordinaires
  • l’objectif élémentaire est de vérifier l’interaction des différents composants
  • les testeurs externes apportent un avis supplémentaire et un point de vue différent sur le concept de sécurité sous-jacent
  • les testeurs professionnels sont spécialement formés et procèdent de la même manière que le feraient des cybercriminels.

Le test d’intrusion, et en particulier la collaboration avec des testeurs externes, présente toutefois certains inconvénients :

  • pendant l’exécution, l’équipe de pentests a accès à des informations 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 fournissent qu’un instantané 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’ingénierie sociale n’est pas examinée avec un penetration test classique. Cependant, de nombreux prestataires de services proposent des formations pour aider les employés des entreprises à lutter contre les lacunes en matière de sécurité.