Le cycle de vie du Pentest

Le cycle de vie du Pentest
Photo by Ricardo Arce / Unsplash

Le Pentest ou test de pénétration en français est l'action qui consiste à identifier les vulnérabilités d'un système d'information afin de se prémunir de potentielles attaques.

Le Pentest est un exercice à la fois complexe et délicat car il faut à la fois comprendre le système d'information du client et en même temps garantir un impact minimal sur les systèmes en production. Il ne faut surcharger ni les systèmes, ni les réseaux.

Il est crucial d'avoir une compréhension profonde et compète des actions effectuées et c'est ce qui différencie un professionnel d'un amateur.

C'est un processus complet qui vise à découvrir l'ensemble des vulnérabilités et faiblesses de sécurité des infrastructures du client, et ce processus est rythmé par un ensemble d'étapes :

  1. L'engagement
  2. La collecte d'information
  3. Le scan
  4. La recherche de vulnérabilités
  5. L'exploitation
  6. Le rapport d'expertise

Prêt à découvrir à quoi tout cela correspond ?

L'engagement

L'engagement est et doit toujours être la première étape ! C'est ce qui vous couvre pénalement vis-à-vis des attaques et intrusions que vous vous apprêtez à réaliser.

Le pentester décrit toutes les phases présentées ci-dessous ; en outre, il décrit les critères de tests de l'équipement ciblé (un réseau, une application, une organisation, etc.).

Ces critères peuvent varier selon :

  • Le type d'engagement (black box, gray box, etc.)
  • Le temps consacré à la recherche
  • La complexité des applications auditées
  • Le périmètre

Le prix est généralement fixé en fonction de la charge de travail mais il peut également être fixé par heure.

Que contient la proposition ?

La proposition doit inclure :

  • La compréhension du besoin client
  • L'approche et la méthodologie utilisée
  • Les risques et les bénéfices pour le client en fonction des vulnérabilités vis-à-vis de la continuité d'activité, des pertes financières, de la réputation, etc.
  • Le périmètre du test avec la liste des IPs, les machines, le réseau ciblé
  • La durée du test
  • La gestion des incidents lors du pentest avec une alerte sur les risques, la demande d'un contact technique, la mise en place d'une procédure spécifique
  • La gestion des données du client avec des données anonymisées, des données chiffrées, la suppression des données à la fin du pentest

La collecte d'informations

Informations générales

Une fois l'engagement signé, il est temps de commencer à collecter des informations générales :

  • L'organigramme de la direction
  • Le nom des investisseurs
  • La liste des managers et des employés
  • La localisation et les adresses des bureaux et du personnel

Ces informations peuvent servir de point d'entrée pour les attaques de type Social Engineering.

Informations techniques

Il est important de comprendre les activités du client et comment fonctionne son infrastructure SI. Vous devez découvrir à quoi correspond la liste des IP et des machines que le client vous a fourni.

Pour chaque IP, vous devez déterminer les points suivants :

  • Est-ce que ce sont des serveurs ? des switchs ? des ordinateurs ?
  • Est-ce qu'il y a un ou plusieurs services ?
  • Quel est l'OS utilisé ? Quels sont les middlewares ?

Pour cela, vous pouvez commencer par analyser :

  • Le nom de domaine
  • Les sous-domaines
  • Les pages
  • Les technologies
  • Les frameworks

Le scan

Fingerprint

L'activité de fingerprint consiste à découvrir quel est l'OS de la machine ciblée afin de diminuer le nombre de vulnérabilités possibles. Il existe des outils capables de réaliser des hypothèses sur l'OS, sa version et même ses patchs sur la base de singularités que l'on retrouve dans la trames réseau ou dans l'implémentation même de chaque OS.

Port Scanning

Le port scanning vise à découvrir les ports ouverts. Un des meilleurs outils pour faire ça est nmap.

Services

La phase de détection des services vise à découvrir quels services se cachent derrière les ports UDP, TCP, etc. Ainsi le pentester aura une vision globale de la machine avec le(s) service(s) et leur importance.

L'audit de vulnérabilités

Le but est de lister les vulnérabilités présentent sur chaque système découvert dans la phase de Scan.

L'exploitation

Après l'audit de vulnérabilités, il est nécessaire de s'assurer qu'elles existent réellement. Le pentester va tenter d'accroître ses privilèges sur la cible en devenant admin par exemple.

Une exploitation considérée comme réussie est lorsque le pentester est capable d'entrer dans un processus cyclique de gain de privilèges d'une machine à l'autre par rebond.

Le rapport d'expertise

Le rapport d'expertise est le livrable qui rend compte des vulnérabilités découvertes. Il détaille notamment :

  • Les techniques utilisées
  • Les vulnérabilités trouvées
  • Les failles utilisées
  • Les impacts et les risques
  • Les astuces pour résorber les failles

Voilà pour cette introduction au cycle de vie d'un pentest, nous détaillerons prochainement les différentes phase !