Le Pentest de A à Z : méthodologie et bonnes pratiques

Selon une enquête publiée par Cisco, 84 % des entreprises françaises ont subi une attaque (phishing, ransomware, logiciels malveillants, hacking) en 2017 et 40 % des PME interrogées ont subi une interruption de plus de 6 heures en 2018. 

statistiques attaques pentest

D’autre part, les entreprises ont maintenant l’obligation légale de sécuriser leur système informatique pour limiter le risque de fuite de données personnelles. Cette obligation a été renforcée par la loi RGPD (Règlement général sur la protection des données), en vigueur depuis le 25 mai 2018. En cas d’attaque avérée, les entreprises doivent désormais effectuer des déclarations relatives à la perte ou à la fuite des données personnelles de leurs clients, fournisseurs ou salariés. Les tentatives de hacking ne peuvent donc plus être passées sous silence, au risque de décrédibiliser et de ternir l’image des entreprises qui en sont victimes et de générer des impacts financiers importants.

Dans ce contexte, le pentest prend tout son sens. Alors que les hackers ne cessent d’améliorer leurs techniques et que les nouveaux usages facilitent l’accès aux données sensibles, le pentesting permet d’adapter et d’optimiser la sécurité informatique, tout en anticipant et en facilitant la prise de décision.

Pentest : audit de sécurité, redteam, purple team, quelles différences ?

 

Pentest ou test d’intrusion : mettons-nous d’accord.


Le pentest, également appelé test d’intrusion en français, est une technique de piratage éthique consistant à tester la vulnérabilité d’un système informatique, d’une application ou d’un site web en détectant les failles susceptibles d’être exploitées par un hacker ou un logiciel malveillant.

Le pentesting peut être réalisé de manière automatisée à l’aide d’applications logicielles ou être effectué manuellement par un pentester. Quelle que soit l’option choisie, les différentes étapes de cette stratégie reposent sur l’identification des points de vulnérabilité et sur une tentative d’intrusion au cœur du système, permettant d’obtenir des informations clés pour améliorer la cybersécurité.

Pentest versus audit de sécurité : approche technique ou fonctionnelle


L’audit de sécurité
doit être différencié du pentest. Il ne s’agit pas pour le testeur de se mettre dans la peau d’un hacker professionnel mais de réaliser une étude approfondie du système information de son client, sur la base d’échanges avec l’équipe informatique et l’analyse de sa documentation technique.

L’audit permet de déterminer des failles potentielles sans prédire si celles-ci sont réellement exploitables. Cette méthode ne permet donc pas d’anticiper des scénarios et d’ajuster la politique de sécurité en conséquence.

L’audit peut permettre d’étayer le cahier des charges des DSI dans le cadre de la création ou de la refonte d’un système informatique. Cependant, l’audit de sécurité ne protège pas l’entreprise des conséquences économiques d’une attaque. Il n’apporte pas de solution contextualisée permettant de consolider ou de renforcer la stratégie de sécurité en place de façon pragmatique.

Pentest en mode Red Team : en conditions réelles


RedTeam
: les tests d’intrusion RedTeam consistent à mettre à l’épreuve le système de sécurité informatique d’une organisation en évaluant et en testant chacune des mesures de protection mise en œuvre (par exemple : logiciels antivirus, chiffrement des données, conformité, sensibilisation des équipes et plans de sécurité informatique).

Orchestrée à la manière d’une véritable attaque, cette prestation permet de réaliser tous types de scénarios réalistes sans qu’aucune limite préalable ne soit posée. Elle va bien au-delà de la tentative d’intrusion et permet de tester tous les aspects relatifs à la sécurité informatique, par exemple :

  • l’intrusion physique de personnes tierces susceptibles d’accéder aux outils informatiques, telles que des prestataires ou des fournisseurs,
  • les tentatives de manipulation des salariés (ingénierie sociale) comprenant la récupération d’informations par des e-mails frauduleux ou des appels téléphoniques ciblés,
  • la vulnérabilité des infrastructures physiques (accessibilité des serveurs et des postes informatiques, logiciels de sécurité installés, etc.).


Le RedTeam est une méthode éprouvée pour évaluer le niveau de sécurité d’un SI et appliquer des actions correctives ciblées. Elle permet de confronter l’entreprise à des scénarios crédibles en laissant les équipes internes réagir et se défendre.

Pentest en mode Purple Team : le collaboratif en action


PurpleTeam
: cette stratégie est un peu différente, dans la mesure où elle ne repose pas sur la mise en perspective d’une équipe d’assaillants et d’opposants. Elle consiste au contraire à créer une seule et même équipe, afin de fédérer et renforcer la collaboration entre les auditeurs et tous les acteurs internes de la sécurité informatique.

Le PurpleTeam s’appuie sur différents leviers permettant de jauger la réactivité du service informatique et des salariés. À travers des groupes de travail, des formations et des ateliers, les prestataires évaluent et optimisent les capacités de détection.

Chaque méthode possède ses avantages, mais certaines nécessitent un travail de fond et une implication rigoureuse des entreprises. En règle générale, il est recommandé de commencer par un pentest ou un audit de sécurité, avant d’envisager des méthodologies qui reposent sur des mises en situation réelles, comme le RedTeam.

Le Pentest, un outil de réduction des risques

 

La notion de risques en sécurité


L’objectif de la sécurité au sens large est de couvrir un ensemble de risques. Chaque risque doit être évalué en fonction du secteur de l’entreprise et de ses enjeux personnels. La notion de risques se définit en 3 étapes :

     1. L’identification des risques pour l’entreprise d’un point de vue « business ». Exemple : Ne plus pouvoir vendre ou livrer un produit pour une société de e-commerce.

     2. La traduction des risques business en risque IT. Dans notre exemple : l’indisponibilité temporaire du site web empêchant les clients de passer des commandes.

     3. La traduction des risques IT en risques cybersécurité. Dans notre exemple : des attaques DDOS pourraient être la cause de l’indisponibilité du site.

Notions de risques en sécurité

Le Pentest, une réponse opérationnelle pour votre démarche SSI

 

Dans le domaine de la sécurité, il existe trois manières d’adresser les risques :

  • L’acceptation des risques
  • La réduction des risques
  • La surveillance des risques

Les trois méthodes sont complémentaires. Une quatrième réponse consiste à souscrire à une police d’assurance couvant les risques cybersécurité. Son coût est généralement indexé en fonction du niveau de maturité de couverture des risques de l’entreprise.

La finalité du test d’intrusion ne consiste pas à établir la liste des vulnérabilités d’un système mais bien de formaliser un plan d’action pragmatique, comprenant des préconisations techniques, organisationnelles, opérationnelles et humaines. Celles-ci doivent pouvoir être implémentées par les équipes IT et adaptées au budget qui leur est alloué.

Le pentest n’a donc pas vocation à être :

  • Uniquement une liste de vulnérabilités
  • Un outil pour tester les compétences des équipes (excepté dans le cas du PurpleTeam)
  • Une fin en soi : il s’inscrit dans une démarche globale, visant à optimiser la sécurité du SI.

Les éléments d’un bon rapport d’audit

Un bon rapport d’audit doit contenir trois éléments :

  • Un inventaire des vulnérabilités détectées : ces vulnérabilités doivent être contextualisées (exploitabilité, criticité, localisation…), en fonction de la connaissance du SI et des enjeux financiers du client.
  • Un plan d’action doté d’un prisme opérationnel. Les préconisations de l’auditeur doivent être pragmatiques en intégrant le budget du client et sa capacité à traiter les sujets. Cette étape est évocatrice de la valeur ajoutée de l’auditeur.  Ses préconisations seront d’autant plus réalistes qu’il est expérimenté dans la mise en œuvre de ce type de plan d’action.
  • Une synthèse managériale. Elle a pour objectif d’exposer les risques de cybersécurité à travers le prisme des enjeux métiers du client. Cette synthèse peut mettre en avant la complexité de la remédiation des failles, afin de sensibiliser la direction aux différents investissements à réaliser.

Méthodologie du pentest

méthodologies pentest

Greybox, le nouveau standard du pentest ?

 

Les tests d’intrusions peuvent être différenciés en trois grands groupes en fonction de la méthodologie utilisée par le pentester et son niveau de connaissance.

  • Le pentest BlackBox : l’auditeur simule une attaque en se mettant dans la peau d’un hacker, dans les conditions d’un piratage réel. Cela signifie qu’il ne dispose d’aucune information sur sa cible ou de très peu d’éléments. Cette stratégie permet de définir avec fiabilité les seuils critiques de la sécurité d’une entreprise. Les pirates informatiques ne possèdent normalement que peu de données relatives au SI qu’ils tentent de compromettre. L’exploration du système d’information leur prend donc un certain temps, pendant lequel les entreprises ciblées peuvent réagir, si elles en ont les moyens. Le pentest BlackBox est donc approprié pour définir des scénarios en cas de tentative d’intrusion par une entité extérieure à l’entreprise. Cette méthodologie ne permet pas à l’attaquant de se concentrer sur les éléments sensibles du SI du client, elle n’est pas adaptée à des audits sur une courte période.
  • Le pentest WhiteBox : contrairement au pentesting BlackBox, l’auditeur travaille en étroite collaboration avec la DSI de son client. Il accède à l’ensemble des informations relatives à la configuration du SI. Le pentest WhiteBox se rapproche davantage d’un audit informatique officiel, mais il offre la possibilité d’approfondir la détection des vulnérabilités en accédant à toutes les strates du SI.
  • Le pentest Greybox : de plus en plus utilisé, il s’agit d’une méthodologie intermédiaire, qui permet de bénéficier des avantages du BlackBox et du WhiteBox. Dans ce contexte, le pentester réalise son test d’intrusion en s’aidant d’un nombre restreint d’informations. Il peut, par exemple, intégrer l’entreprise en tant que salarié d’un service sensible et posséder son propre compte utilisateur. Au fur et à mesure qu’il progresse dans l’attaque, il obtient de nouvelles informations. Le GreyBox s’affirme comme une stratégie de pentesting optimale, puisqu’elle permet de simuler plusieurs types d’attaques, y compris celles réalisées « de l’intérieur ». Le pentester peut élaborer le scénario d’une attaque émanant d’un membre de l’entreprise ou d’un ancien salarié, voire même d’un prestataire externe, en fonction des droits qui lui sont alloués.

En amont du projet et avant son démarrage effectif, il est important de valider le périmètre de l’audit (y compris si le pentesting s’effectue en mode BlackBox). Cette phase de pré-engagement doit être l’occasion d’élaborer un cahier des charges comportant les attentes du client, les limites de l’opération et le détail des aspects techniques.

L’entreprise mandataire doit définir les conditions d’intervention du prestataire et délimiter précisément le périmètre du test d’intrusion. La constitution d’une convention d’audit permet de définir un cadre légal d’intervention, mais également l’implication de l’entreprise, qui devra laisser une marge de manœuvre suffisante à son prestataire. Le client doit être informé des éventuels risques liés aux tests d’intrusions. Par exemple, les tentatives d’exploration peuvent entraîner des dysfonctionnements du système informatique, entraîner une interruption d’activité ou exposer des données sensibles. Dans tous les cas, l’engagement contractuel doit être étayé d’une clause de confidentialité signée par le pentester.

Panorama des outils du Pentester par étapes

La méthodologie du pentestLa méthodologie du pentest est globalement partagée par tous, mais il existe de nombreux outils pour la mettre en œuvre. La valeur ajoutée du prestataire réside dans sa capacité à intégrer ces différents outils et les faire interagir entre eux.

1.Phase de reconnaissance :

La collecte d’informations est l’étape initiale de tout projet de pentesting. Elle consiste à recueillir les données et renseignements relatifs à la cible. Les sources d’informations peuvent varier selon la nature du test d’intrusion. Il peut s’agir de sources externes accessibles à tous les utilisateurs comme les moteurs de recherche, les réseaux sociaux et le DNS (Domain Name Service) ou d’informations prodiguées par l’entreprise elle-même.

Certains outils facilitent la collecte des données.

  • Maltego est un outil de fingerprinting (prise d’empreintes numériques) qui automatise des recherches effectuées sur des personnes et des sociétés. Il permet de collecter des informations publiques.
  • Sublist3r : est un logiciel en Python qui permet de lister très rapidement les noms de domaine complètement qualifiés d’un site (FQDN).

La mise en perspective de ces deux outils accélère la rapidité de traitement des informations.

2. Phase de cartographie et d’énumération :

Cette phase a pour objectif d’inventorier et de cartographier de façon précise l’ensemble des actifs du SI cible. Cette étape permet de se concentrer sur les éléments jugés critiques et sensibles.

Nmap, Nessus ou OpenVAS : ces trois outils de scan, entre autres, permettent la détection des ports ouverts  puis l’identification des services hébergés. C’est à partir de la connaissance des services publiés et de leurs technologies que l’on pourra débuter la 3° phase. Ils sont incontournables pour obtenir des informations sur le système d’exploitation et ses services.

3. Phase de recherche de vulnérabilités :

L’analyse de vulnérabilités consiste à analyser les faiblesses des applications, sites et systèmes en se fondant sur les données collectées.

Certains hackers procèdent de manière manuelle en élaborant des scripts, tandis que d’autres font appel à des logiciels qui scannent les vulnérabilités de manière automatisée.

CVEdetails.com est un site web qui référence la totalité des vulnérabilités officielles recensées. CVE signifie Common Vulnerabilities and Exposures (informations publiques relatives aux vulnérabilités de sécurité).

Pour la recherche de vulnérabilités sur des sites web, des outils comme Burp, Zap, Nikto, Dirbuster peuvent être utilisés pour découvrir de premiers indices d’un problème sous-jacent. L’auditeur devra ensuite rapidement passer sur des analyses manuelles. On se concentrera notamment sur les 10 types de vulnérabilités les plus fréquents (Top10 OWASP)

4.Exploitation

La phase d’exploitation correspond à la mise en application concrète du travail effectué précédemment. Le pentester tentera une intrusion à travers chaque faille mise en exergue afin d’asseoir son contrôle sur le système d’information de son client. Il peut s’aider des outils suivants :

  • Exploit-db.com est un site qui référence la grande majorité des exploits publics, c’est-à-dire les éléments de programme qui permettent à un pirate ou à un logiciel malveillant d’exploiter une faille de sécurité informatique dans un système donné.
  • Searchsploit est un outil offline permettant de consulter la base d’informations d’exploit-db sans connexion internet.
  • Metasploit : est un outil qui facilite la pénétration dans les systèmes informatiques et l’exécution des exploits permettant de s’introduire dans un système.

Il devra surtout prendre le temps d’adapter les exploits, ou les Proof of concept, à l’infrastructure spécifique de son client.

5.Élévation de privilèges

La phase de post-exploitation permet au pentester d’obtenir des privilèges supérieurs pour se substituer à l’administrateur du système et effectuer un plus grand nombre de tâches (par exemple, l’accession à un répertoire sensible ou à des dossiers)

Il n’existe pas d’outils spécifiques pour la réalisation de cette étape, qui dépend avant tout du niveau de connaissances du prestataire et de son savoir-faire. Chaque méthodologie peut varier en fonction du système d’exploitation et des stratégies de sécurité déployées par le client.

6.Maintien d’accès

Pour le pentester, l’enjeu est désormais d’obtenir de nouveaux privilèges et de maintenir ces derniers. Au cours de cette étape, il doit agir avec une extrême prudence et effacer ses traces pour éviter d’éveiller les soupçons des équipes techniques. L’implémentation d’une backdoor (porte dérobée) est utile pour se reconnecter facilement en mode administrateur sans être vu et créer des accès aux membres de l’équipe de pentesting.

Cette étape n’a lieu d’être que dans le cadre d’opération de redteam ou de purpleteam. Sur un modèle collaboratif il n’y aura pas de modifications non nécessaires des machines cibles.

7.Propagation/déplacements latéraux

La propagation consiste à étendre la compromission d’un poste de travail (infecté par un malware ou un logiciel espion, par exemple) aux autres machines et serveurs du parc informatique. L’objectif est d’accéder aux données sensibles de l’entreprise. Les outils les plus communément utilisés sont Empire et Mimikatz. Empire Powershell est un framework de post-exploitation qui permet d’obtenir le contrôle complet d’un ou plusieurs postes de travail. Il facilite la propagation de la compromission et le maintien d’accès des privilèges. Mimikatz est une application développée par Benjamin Delpy, qui permet d’extraire des mots de passe et de nombreux secrets sous Windows.

8.CleanUp

L’audit se termine par le nettoyage des traces de l’auditeurs sur le SI. Nous ne parlons pas ici des traces dans les journaux de log comme le ferait un attaquant, mais d’effacer les backdoor, webshell, compte à privilège que l’auditeur aurait créé afin de réaliser son attaque.

L’objectif est de rendre le SI au client dans son état d’origine.

9.La présentation du rapport

Le reporting est certainement la phase la plus importante du test d’intrusion. Le pentester doit fournir à son client un audit écrit expliquant sa méthodologie et la découverte des éventuelles failles et vulnérabilités du système d’information. Il doit proposer des correctifs adaptés, à travers des propositions d’actions concrètes.

La présentation du rapport est une étape essentielle de la prestation qui inclut :

  • Une synthèse technique avec la liste des vulnérabilités ainsi que l’impact dans le contexte métier du client.
  • Les préconisations de remédiations dans le but de pallier à l’ensemble des failles découvertes.
  • La synthèse managériale met en perspective les résultats obtenus avec les enjeux métiers du client.
  • Le plan d’action composé d’un macro-planning tenant compte du ROI sécurité.

Le ROI sécurité est un indicateur qui se base sur la criticité de la vulnérabilité versus le coût nécessaire pour y remédier.

Le pentester : qui est-il ? d’où vient-il ?

profil pentester

Le pentesting est un métier exigent, qui demande des compétences techniques et des qualités relationnelles élevées.

Le pentester doit être animé d’une grande curiosité intellectuelle. Il doit posséder un goût prononcé pour le challenge, être persévérant et faire preuve d’ouverture et de créativité. Mais il doit également être humble et posséder un sens de l’éthique professionnelle. Enfin, ses qualités de communicant sont essentielles pour faire passer les messages et accompagner les opérationnels à travers un plan d’action concret. Polyvalent, il doit savoir s’adapter aux différents interlocuteurs de l’entreprise (IT, métiers ou direction).

L’auditeur doit disposer d’une expérience opérationnelle dans l’univers de la production. Il ne doit pas se cantonner aux aspects offensifs (attaque), mais également maîtriser les aspects défensifs du hacking.

Le pentester est un passionné d’informatique, il est généralement issu d’une école d’ingénieur en technologie de l’information. Dans le programme des grandes écoles, la cybersécurité n’est pas toujours matière en tant que telle, mais plutôt une thématique transverse, bien que de plus en plus d’école propose un cycle spécialisé. Mais il peut très bien également être autodidacte, il existe de nombreuses ressources sur internet permettant de d’acquérir les connaissances techniques nécessaire à cette profession.

Plusieurs plateformes permettent de poursuivre l’entrainement et de valider les acquis, c’est le cas de root-me (root-me.org) ou NewbieContest (newbiecontest.org). Il existe également de nombreuses compétitions, les CTF (ctftime.org), qui se pratiques en équipe pour progresser et se confronter aux autres. Les plus importants CTF sont associés à de grands événements de sécurité (Defcon, CCC, NuitDuHack)

L’état d’esprit de l’auditeur et de l’audité

Le pentest : ni une compétition ni une punition

 

Le pentest peut avoir deux objectifs :

  • Améliorer la sécurité du SI et évaluer dans quelle mesure les risques sont réellement couverts. Dans ce contexte, les auditeurs et les audités officient dans une démarche d’ouverture et de collaboration.
  • Tester la sécurité en conditions réelles. Ce format concerne les entreprises plus matures sur le sujet ou qui évoluent dans des périmètres très restreints. Dans ce cas, l’audité cherche à donner le moins d’informations possible (ce qui est le cas dans les tests d’intrusion RedTeam).

Dans le cadre de l’amélioration de la sécurité du SI, le pentest ne doit pas mettre en compétition le pentesteur et l’équipe DSI. Il ne s’agit pas d’établir un jugement de valeur sur le travail accompli par l’équipe technique mais de proposer un accompagnement constructif, fondé sur l’évaluation objective du SI. Les conditions de réussite d’un tel projet mettent en jeu l’esprit de collaboration, l’ouverture, la bienveillance et la disponibilité du client, permettant de mettre en place des échanges de qualité entre les deux parties.

L’échange comme principal facteur clé de succès

 

La constitution de rapports d’intervention quotidiens avec des bilans intermédiaires permet de :

  • Transférer des informations essentielles relatives aux accès transversaux des applications. Il est possible d’utiliser plusieurs modes opératoires. Par exemple, un test BlackBox permettra de vérifier qu’un visiteur sans compte est bien dans l’impossibilité de se connecter à l’application. Un test GreyBox permettra ensuite de vérifier qu’un utilisateur légal n’est pas en mesure d’escalader ses droits ou de consulter les informations d’un autre utilisateur.
  • Partager les impacts éventuels sur la production.
  • Ajuster le périmètre de l’audit si besoin.
  • Vérifier que le résultat des découvertes correspond bien au périmètre du SI du client et à celui qui a été défini dans le périmètre de la convention.

Audité, comment bien se préparer à un pentest ?

 

Comme tout projet d’audit, l’entreprise doit se préparer à accueillir l’auditeur dans de bonnes conditions et respecter quelques recommandations :

☑  Ne pas essayer de corriger ou dissimuler des failles la veille de l’audit,

☑  Révéler au pentester les failles déjà connues pour ne pas perdre inutilement du temps d’audit.

☑  Prévenir son équipe et ses sous-traitants (infogérant ou hébergeur),

☑  Vérifier la présence d’une clause d’auditabilité dans les contrats des sous-traitants,

☑ Ne pas prévoir un audit pendant une opération informatique ou business majeure.

Le pentest, et après ?

 

Une fois le pentest réalisé et le rapport fournit par le prestataire d’audit, il est important de respecter les recommandations suivantes :

  • Ne pas dissimuler les résultats du test d’intrusion : il est important de partager le reporting en bonne intelligence avec les équipes internes, la direction et les sous-traitants.
  • Inscrire le plan d’action dans la roadmap de la DSI.
  • Planifier un test post-audit ciblé sur les vulnérabilités les plus critiques et les plus exposées, après remédiation.

 

Le pentest, un élément indispensable dans une démarche globale de sécurité en constante évolution.

 

Si le pentest est l’un des leviers permettant d’optimiser la sécurité d’un système informatique, il n’est pas une fin en soi. Il s’agit d’un outil efficace qui prend corps dans une démarche globale, impliquant l’ensemble des acteurs du SI. Le pentesting doit être considéré comme un moment d’échange constructif entre les audités et les auditeurs. Pour l’entreprise, le test d’intrusion s’affirme comme l’opportunité d’obtenir un avis objectif, émanant d’un expert extérieur. Il doit toujours superposer la découverte de vulnérabilités à un plan d’action effectif, prenant en compte la réalité opérationnelle et les risques métiers de l’entreprise.

Le pentesting est une discipline amenée à évoluer grâce aux nouvelles technologies issues de l’intelligence artificielle et à l’apparition d’outils de reconnaissance avancés et d’exploitation des failles. Mais, en dépit de l’automatisation de certaines tâches, la valeur ajoutée de l’auditeur restera dans sa capacité à produire des reportings et des recommandations personnalisées.

D’autre part, le pentester devra se familiariser avec de nouveaux risques de sécurité, induits par l’usage des objets connectés. Ainsi, un casino a récemment été victime d’un pirate informatique qui est parvenu à pénétrer dans son système de sécurité… par le biais d’un thermomètre d’aquarium connecté.

L’un des enjeux est d’inscrire les tests d’intrusion en amont de la chaîne de conception, en optant pour une démarche orientée « Security by Design ».