Qu’est-ce qu’un test d’intrusion ?

Lorsque l’on débute dans le domaine de l’audit technique, il y a beaucoup de notions à appréhender. L’une des premières est le test d’intrusion.

Dans un premier temps je vais essayer de vous montrer ce que c’est. Ensuite je vous montrerai la méthode à suivre.

La définition du test d’intrusion

C’est un audit de sécurité qui consiste généralement à simuler une attaque d’un utilisateur malveillant et à analyser les risques potentiels dus à une mauvaise configuration d’un système, un défaut de programmation une vulnérabilité liée à la solution testée.

Lors d’un test d’intrusion, l’auditeur se retrouve dans la position de l’attaquant potentiel. Le principal but de cette manœuvre est de trouver des vulnérabilités exploitables en vue de proposer un plan d’action permettant d’améliorer la sécurité d’un système.

Les 3 scénarios possibles 

Il existe trois scénarios possibles pour la réalisation des tests d’intrusions :

  • La méthode dite « boîte noire » (en anglais « black box ») consistant à essayer d’infiltrer le système, afin de réaliser un test en situation réelle ;
  • La méthode dite « boîte blanche » (en anglais « white box ») consistant à tenter de s’introduire dans le système en ayant connaissance de l’ensemble du système, afin d’éprouver au maximum la sécurité du réseau.
  • La méthode dite «  boite grise » (en anglais « grey box ») consistant à tenter de s’introduire dans le système en ayant connaissance d’un couple identifiant – mot de passe et d’une partie du système d’information.

La méthodologie employée : PTES (Penetration Testing Execution Standard)

Le Penetration Testing Execution Standard est un standard créé afin de proposer aux entreprises et aux équipes de sécurité une trame commune et un cadre (scope) pour l’exécution d’un pentest.

Le PTES se décompose en 7 étapes décrites ci-après :

Pré-engagement

La phase de  “pré-engagement”. Chaque test d’intrusion débute avant tout par une négociation, une compréhension des besoins clients et pour finir une contractualisation qui est formalisée par écrit. L’établissement du contrat est l’occasion pour l’entreprise demandant le test de sa sécurité de préciser plusieurs éléments relatifs au test d’intrusion à effectuer. En termes de temps (jours, semaines, mois,…), en termes technologique, en termes géographique (Plage d’IP[1] à tester et à ne pas tester par exemple). Également, c’est l’opportunité de préciser le type de test à prévoir : les auditeurs pourront-ils mettre en place des phases d’attaque DoS [2]? Devront-ils aller au bout de l’exploitation quitte à ouvrir des documents sensibles ? Le contrat vise également à établir un lien juridique et une protection du pen-testeur qui pourrait prendre connaissance de documents sensibles, mais également à négocier et prévenir les entreprises collaborant avec le client (FAI, hébergeur, application métier, etc.).

Récolte d’information

La seconde étape est celle de la récupération d’informations. Le but est la collecte de renseignements/d’informations. Ici, on va chercher à lister un maximum de données en corrélation avec le SI testé, et cela via plusieurs méthodes. L’objectif est donc de dresser une cartographie de la surface d’attaque depuis la position de départ de l’attaque, d’obtenir des renseignements sur les services, serveurs et éléments actifs utilisés, mais également leur version et les systèmes de sécurité en place (VPN, Firewall, Anti-Ddos, DMZ, etc.). La partie Intelligence Gathering[3] peut se faire de manière passive (sans interaction directe avec le SI de la cible) et/ou de manière active (en allant communiquer avec les serveurs ciblés). On retrouve également les notions de OSINT (Open Source Intelligence) et de HUMINT (Human Intelligence, comprendre social engineering).

Définition des menaces

La troisième étape est celle de la définition des menaces. Cela consiste à dresser une liste des menaces pour l’entreprise. À quoi l’entreprise peut-elle avoir à faire face ? On va chercher à évaluer ce qui est critique pour l’entreprise (Ex : son secret de fabrication), à établir l’impact potentiel de la perte de ce secret puis d’examiner quelles vulnérabilités peuvent amener à une perte du secret de fabrication. Également, on peut passer par une phase d’analyse en termes de sécurité des concurrents/entreprises similaires. Ont-elles été compromises récemment ? Quel a été l’impact de l’attaque ?  Une analyse du processus de l’entreprise et de ses actifs humains peut aussi être à effectuer, ainsi qu’une analyse du SI[4] : existe-t-il un mécanisme de chiffrement pour les commerciaux communiquant avec l’intérieur du SI sur l’application métier ? Un VPN[5] est-il en place pour l’administration distante du SI ?

Analyse des vulnérabilités

Quatrième étape : L’analyse des vulnérabilités.On va ici se servir des informations collectées précédemment pour analyser les systèmes, le personnel et les processus en place afin de rechercher des failles de sécurité et de vulnérabilité exploitables. Cela passe donc par un processus de recherche, manuelle et/ou automatique des vulnérabilités. L’objectif est ici de dresser une liste de ce qui pourrait être exploitable et de construire un “arbre d’attaque” .Cet arbre est, une suite d’attaques pouvant amener à la découverte d’autres vulnérabilités, traçant un chemin vers la prise de contrôle du SI ou la possibilité d’établir des actes d’espionnage ou de sabotage. Cette phase passe systématiquement par de la recherche sur les bases d’exploits publics, la vérification des patchs des systèmes scannés et l’utilisation d’outils de scans (Ex : Nessus, Nitko, WpScan, etc.).

Exploitation

La cinquième étape est souvent la plus attendue des pentesters, c’est le moment de passer à l’attaque : l’exploitation. Ici,on va chercher à tester les vulnérabilités trouvées dans la phase précédente et à avancer dans l’intrusion du système d’information. On va également chercher à tester les barrières et systèmes de sécurité mis en place (évasion d’un IDS, contournement d’un mod_security, bypass de l’authentification). S’en suivra un procédé de validation des vulnérabilités potentielles trouvées. Il est ici important de trouver des moyens d’exploiter les vulnérabilités et également les systèmes de sécurité. Si le pentester avance dans le système d’information, il peut avoir à revenir à l’étape 4 afin d’effectuer à nouveau une analyse des vulnérabilités dans la nouvelle zone (admettons s’il parvient à passer de la DMZ[6] au LAN[7]).

Post-Exploitation

La sixième étape est celle de la Post-Exploitation. Cette étape comporte plusieurs phases intéressantes, comme un attaquant réel, le pentester va devoir effacer ses traces pour que ses agissements soient les plus discrets possibles. Également, il va devoir chercher à s’implanter de manière durable dans le système d’information en y insérant des backdoors[8], en se créant un compte VPN ou en implantant un malware/rootkit[9] par exemple. La phase de post-exploitation est également la dernière phase technique du test d’intrusion, il est donc temps de viser les informations à dérober. L’idée est ici de réellement montrer quels méfaits un attaquant pourrait accomplir : espionnage, sabotage, exfiltration de données, déploiement d’un botnet, mise hors service d’une partie du SI, etc.

Rédaction

La démarche du Pentest[10] décrite dans le PTES se termine par la phase de reporting, et c’est la phase la plus importante, car il s’agit d’exposer le déroulement du test d’intrusion et ses fruits à l’entreprise l’ayant commandé. Le reporting va être à la fois technique et non technique. On va donc détailler les informations collectées durant la phase de récupération d’informations, exposer les vulnérabilités listées puis exploitées et décrire les méfaits qui ont/auraient pu être perpétrés dans la phase de Post-Exploitation. Cette phase est souvent orale mais s’accompagne systématiquement d’un livrable écrit contenant toutes ces informations. Pour finir, l’équipe de pentest est souvent amenée à dresser une “Carte de remédiation”, c’est à dire une liste de contre-mesures, corrections et protections à mettre en place pour que l’entreprise ait des pistes sur lesquelles débuter la suite de la sécurisation de son SI.

PTES - Test d'intrusion

 

 

Conclusion

Le test d’intrusion permet d’obtenir une vue du niveau de sécurité la plus objective possible. Elle permet à une entreprise de savoir si le périmètre audité est vulnérable ou non. Cependant il est nécessaire de rappeler qu’il existe seulement une obligation de moyen et non de résultat. Le nombre de jours d’audits et d’auditeurs doit être en corrélation avec le périmètre étudié.


[1] IP : Internet Protocol : numéro qui identifie chaque ordinateur connecté à Internet

[2] DOS : Denial Of Service (dénis de service) saturation d’un service jusqu’à l’obtention de l’arrêt ou de la non réponse de celui-ci

[3] Intelligence Gathering : Récupération d’informations

[4] SI : Système d’information

[5] VPN : Virtual Private Network (Réseau privé virtuel) : connexion inter-réseau permettant de relier deux réseaux locaux différents

[6] DMZ : zone démilitarisée servant de tampon de protection entre le système de l’entreprise et l’extérieur

[7] LAN : réseau interne d’entreprise

[8] Backdoors : porte dérobée permettant un accès illégitime au système informatique

[9] Malware : Virus informatique / Rootkit : logiciel d’administration malveillant

[10] Pentest : Test d’intrusion

Inscrivez-vous pour recevoir le guide pour bien débuter dans la sécurité des systèmes d'informations.

Adresse e-mail non valide