Le cycle de vie du Pentest
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 :
- L'engagement
- La collecte d'information
- Le scan
- La recherche de vulnérabilités
- L'exploitation
- 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 !