Académique Documents
Professionnel Documents
Culture Documents
• Cours >
• Conduisez un test d'intrusion
• 8 heures
• Difficile
Licence
•
•
•
Introduction du cours
Vous êtes étudiant, administrateur système et réseaux, ou responsable informatique ?
Vous voulez apprendre à sécuriser une infrastructure informatique en utilisant une méthode
simple et rapide ? Alors vous êtes au bon endroit !
Les systèmes d’informations (SI) sont régulièrement attaqués par des « pirates » ou «
hackers mal intentionnés », et ce pour différentes raisons (économiques, politiques, etc.).
Pour pallier ces cyberattaques, les infrastructures informatiques doivent être testées en
passant par des tests d’intrusions pour s’assurer du bon niveau de sécurité.
On parle de tests d’intrusion mais aussi de Pentest, ou test de pénétration. Ils sont réalisés
par des experts en cybersécurité que l’on appelle aussi des pentesters.
Dans ce cours, je vous propose de maîtriser pas à pas la méthodologie de conduite d’un test
d’intrusion afin de déterminer le réel potentiel d’intrusion et de destruction d’un pirate sur
votre infra ou SI. Vous découvrirez :
• #
CONTINUER LE COURS
NE PLUS SUIVRE
Faites-en votre métier !
Créé par
•
•
•
Le professeur
Sebastien Salito
Gérant & Fondateur SARL EXPINFO - Expert en Cybersécurité - Expert judiciaire près la
Cour d'Appel de Chambéry
Un test d'intrusion, ou test de pénétration, ou encore pentest, est une méthode qui consiste à
analyser une cible en se mettant dans la peau d'un attaquant (connu aussi sous le nom de hacker
malveillant ou pirate, mais nous y reviendrons). Cette cible peut être :
• une IP,
• une application,
• un serveur web,
• ou un réseau complet.
Dans ce cours, vous allez pratiquer sur un serveur web.
Le test d'intrusion est donc une photographie à l’instant T de cette cible. Il ne doit donc pas
être confondu avec le scan de vulnérabilités.
Contrairement à ce que certains pensent, le test d’intrusion n’est pas un audit de sécurité.
Brièvement, l’audit permet d'établir un panorama de la sécurité d'un système d'information,
mais il ne va pas tester la réalité et l’exploitabilité de chaque vulnérabilité. Il se concentre
plutôt sur la sécurité fonctionnelle, opérationnelle et plus généralement la politique de
sécurité du système d'information (PSSI) mise en place. D’un autre côté, le test d’intrusion
est plus technique et pratique. Il va révéler par exemple, une application non à jour ou
encore un port ouvert par erreur dans le firewall.
Un test d'intrusion, pour quoi faire ?
Depuis plusieurs années, le nombre de cyberattaques double, année après année.
L’intention des pirates est variée, mais les principales motivations sont d’ordre :
• économique,
• politique
• ou juste pour le challenge de l’exercice !
Cela dit, la grande majorité du temps, elle est économique. L'objectif étant de gagner de l'argent à
l'insu ou sur le dos des entreprises, comme dans le cas du cheval de Troie « Ruthless » qui vole les
numéros de cartes bancaires et accès aux comptes bancaires.
Il y a pas mal d'années, la sécurisation des systèmes coûtait cher et les chances de se faire
pirater étaient minces. Cela dit, aujourd'hui la donne a changé car le pourcentage de chance
de se faire pirater est élevé. Il faut absolument que chaque entreprise mette en place une
sécurité adaptée.
• la sévérité de la vulnérabilité,
• la complexité de la correction,
• et l'ordre de priorité qu’il faut donner aux corrections.
Le but n'est pas malveillant, mais il est de s'assurer que ces vulnérabilités sont bien réelles.
Par exemple, aujourd’hui certaines entreprises ont encore des vulnérabilités dans leurs
réseaux permettant aux rançongiciels de se propager. Un rançongiciel (ransonmware en
anglais), c’est un logiciel malveillant qui prend en « otage » vos données personnelles et qui
les restitue uniquement contre le versement d'une « rançon ».
Je suis sûr que vous connaissez quelqu’un à qui c’est déjà arrivé ! Lorsque vous n’avez plus
accès à vos documents car ils ont changé d’extension et qu’on vous demande de payer en
ligne X euros pour les décrypter !
Un test d’intrusion permet d’en prendre conscience et de prioriser les corrections. Sinon la
vulnérabilité risque de rester dans le système jusqu'à son exploitation malveillante. Une
récente étude a établi que dans le monde, une entreprise se fait attaquer, en moyenne,
toutes les 40 secondes par un rançongiciel.
Le test d’intrusion peut également se faire de l'intérieur de l’infrastructure (test d’intrusion interne).
Dans ce cas, le test sera opéré sur le LAN (réseau interne de l'entreprise).
Qui le fait ?
Vous vous demandez sûrement qui peut ou qui est en charge de réaliser un test d’intrusion ?
Et bien c’est un expert en cybersécurité ou encore appelé pentesteur !
Pour devenir pentesteur, il faut avoir une large maîtrise des systèmes et réseaux, car le
monde de la sécurité est transversal. Il faut connaître les différents matériels et technologies
sur le marché pour pouvoir comprendre et exploiter les vulnérabilités qui y sont présentes.
Ce cours vous permettra de réaliser votre premier test pour ainsi avoir un aperçu
d’ensemble de la sécurité de vos infrastructures ou applications. Si vous souhaitez aller plus
loin, n’hésitez pas à vous former au métier d’expert ou de pentesteur. C’est un profil très
recherché par les entreprises, mais ces professionnels ont en général au moins 5 à 10 ans
d'expérience.
Voilà, nous venons de voir ensemble ce qu’est un test d’intrusion et à quoi cela sert. Dans le prochain
chapitre, vous allez découvrir les différents types d'attaques ou intrusions possibles sur votre
infrastructure.
En résumé
• Un test d'intrusion est un test pour vérifier et identifier les types
de vulnérabilités ou d’attaques d'un SI (infrastructure, application…).
• Il est plus rapide et efficace qu'un audit de sécurité. Il donne également des résultats
plus pertinents qu’un scan de vulnérabilité.
• Les tests d’intrusions peuvent être faits depuis l’infrastructure elle-même ou via
Internet.
• Les professionnels du domaine sont appelés des experts en cybersécurité
expérimentés ou des pentesteurs.
• #
• 8 heures
• Difficile
Licence
•
•
•
Interne
À l'inverse, dans ce cas-là, le pentesteur est sur le réseau interne de l'entreprise. Il est dans
la situation d'une personne malveillante interne.
Par exemple, cela peut être le cas d'un prestataire qui a accès physiquement au bureau de
l'entreprise comme un technicien télécom, un électricien, etc. C'est également le cas
d'un employé malveillant, par exemple pour de l’espionnage industriel ou par vengeance.
L’employé peut également être inconscient des risques, et cliquer sur une pièce jointe
infectée ou communiquer des identifiants. Enfin, on peut également imaginer un
pirate ayant la possibilité de s'introduire physiquement dans l'entreprise et de se retrouver
dans un de ces scénarios.
Il y a donc des deux types de tests que nous réalisons, interne et externe, car ce sont les
deux types de scénarios qui se produisent dans la vie réelle des entreprises.
Conditions du test
En fonction du niveau de connaissance du pentesteur, trois qualificatifs différents sont
utilisés pour identifier les tests d'intrusion :
• la boîte noire
• la boîte grise
• la boîte blanche
Voyons cela dans le détail.
Boîte noire
Dans ce cas, le pentesteur n'a aucune information sur le réseau cible au début du test et ne
connaît aucun nom d’utilisateur ni mot de passe.
• l'entreprise,
• les employés,
• connaître la situation géographique,
• les informations générales,
• le fournisseur d'accès à Internet,
• et toutes autres données pour rassembler un maximum d'informations qui
pourraient aider à trouver des vulnérabilités.
Nous sommes là dans le scénario d'un pirate qui souhaiterait s'introduire dans une
entreprise qu'il ne connaît pas.
Boîte grise
Le testeur possède un nombre limité d'informations. En général, lors de tests d'intrusion en
mode boîte grise, le testeur dispose uniquement d'un couple identifiant / mot de passe que
l'entreprise cible lui a fourni avant de démarrer la phase de test. Cela permet notamment de
passer l'étape d'authentification, et de pouvoir approfondir le test à l'intérieur de
l'application ou du système.
L'objectif de ce type de test est de se mettre dans la peau d'un « utilisateur normal » de
l'entreprise cible.
Boîte blanche
Enfin, dans cette condition, le pentesteur peut être en possession de nombreuses
informations. Parmi elles, les plus courantes sont :
L'objectif de ce type de test est de se mettre dans la peau d'un « administrateur système et
réseau » de l'entreprise cible.
Choix du test
Le choix du test d'intrusion qui va être conduit et très important, car il faudra le déterminer
en fonction de ce que le client veut tester. En fonction de la stratégie adoptée, les résultats
sont différents. Il faut donc bien identifier ce que l'entreprise cible veut protéger et de quel
type d'attaque elle veut se prémunir. De là, il faut déterminer le meilleur type de scan et les
meilleures conditions de connaissance du pentesteur avant le début du test.
Quelques exemples
1. Vous êtes RSSI pour l’entreprise SECURITYFIRST. Vous êtes soucieux qu’un pirate sur
Internet vole les données que vous hébergez. Dans ce cas, vous devrez privilégier un
test de type externe basé sur la boîte noire car c’est le scénario qui se rapproche le
plus de la menace pour laquelle vous voulez vous protéger.
2. Vous êtes RSSI dans une entreprise qui traverse une période de crise sociale avec
grèves et licenciements. Vous vous interrogez sur les conséquences que pourrait
avoir un collaborateur malveillant. Le choix le plus judicieux sera un test d'intrusion
interne en boîte grise. Le pentesteur possédera alors un login et mot de passe pour
accéder au système comme un utilisateur standard et vous pourrez identifier les
vulnérabilités internes dans ce scénario.
En résumé
• Il existe deux types de tests d'intrusion : interne et externe
• Il y a trois conditions de test d'intrusion : boîte blanche, boîte grise, et boîte noire.
• En fonction des conditions de départ, le pentesteur possède un niveau d'information
qui lui permet de plus ou moins approfondir le test.
• Le choix du type de test et des conditions de connaissance de départ est très
important. Il doit être fait en fonction de ce que l'entreprise veut protéger et
également en fonction du risque contre lequel elle se protège.
• sur Linux
• Windows
• Mobile avec Android.
Voyons cela de plus près.
Kali Linux
Kali Linux est une distribution regroupant l'ensemble des outils nécessaires aux tests de
sécurité d'un système d'information. Cette distribution a pris la succession de Backtrack.
• 32 ou 64 bits
• Live CD
• Images Vbox et VMWare
• Versions pour processeurs ARM (utilisables sur matériel type Raspberry Pi)
Toutes les versions sont disponibles en téléchargement gratuit sur le site officiel.
• Nmap : Le plus célèbre scanner de ports libre distribué par Insecure.org. Il est conçu
pour détecter les ports ouverts, identifier les services hébergés et obtenir des
informations sur le système d'exploitation d'un ordinateur distant.
• Wireshark : Analyseur de paquets libre et gratuit. Il est utilisé dans le dépannage et
l’analyse de réseaux informatiques
• Metasploit : programme open source qui fournit des informations sur les
vulnérabilités de systèmes informatiques et les exploite.
• Burp Suite : application utilisé pour la sécurisation ou les tests d’intrusion des
applications web.
C'est vraiment la boîte à outils principale d'un pentesteur. Nous allons d'ailleurs nous
attarder plus longuement sur ce système d'exploitation un peu plus loin dans le cours.
Windows
Le système d'exploitation de Microsoft Windows 7, 8 ou 10 peut également être utilisé. Dans
la grande majorité des cas, une version équivalente des outils de Kali Linux est disponible en
version Windows. C'est évidemment le cas pour les plus connus d'entre eux :
• NMAP
• PuTTY
• Metasploit Framework
• Burp Suite
• OWASP Zed Attack Proxy
• Nessus
• John the Ripper
Étant donné que des versions similaires et en open source gratuit existent sur Kali Linux,
nous n'utilisons pas de système d'exploitation Microsoft dans ce cours.
Android
Les outils sur plateforme mobile sont parfois très pratiques quand on a besoin de tester de
manière itinérante. Des outils très performants et très bien conçus sont disponibles pour
l'utilisation sur Android :
• zANTI
• FaceNiff
• AndroRAT
• cSploit
Sachant que les outils installés sur Kali Linux couvrent les fonctionnalités de ses applications
Android, nous ne les verrons pas dans ce cours.
En résumé
• La distribution la plus adaptée pour les tests d'intrusion est Kali Linux.
• Les principaux outils utilisés par les pentesteurs sont souvent disponibles sur les 3
plateformes Windows, Linux, et Android.
Installez Kali
Nous allons installer Kali Linux ensemble. Pour ce faire, vous pouvez vous rendre sur le site
officiel sur ce lien, et télécharger la version qui correspond à votre matériel.
Je vous conseille soit l'utilisation de l’ISO BootCD, soit l'utilisation de Kali sur machine
virtuelle.
Je vous conseille quand même l’installation de Kali Linux sur une machine virtuelle
VirtualBox car sinon il faut beaucoup de ressources pour la faire tourner dans la mémoire
vive uniquement.
Il peut être intéressant d’installer également les pilotes graphiques de VirtualBox pour avoir
toutes les résolutions disponibles avec la commande suivante :
apt-get install virtualbox-guest-x11
Au premier démarrage, puis avant chaque test d’intrusion, je conseille de réaliser les petites
manipulations suivantes :
Vérifiez la présence de mises à jour en tapant les 2 commandes suivantes dans un terminal :
apt-getupdate&&apt-getupgrade
apt-getdist-upgrade
Et enfin, vérifier si votre système Kali est bien propre et sain de tout malware. Pour cela,
tapez les 2 commandes suivantes dans un terminal :
/usr/sbin/chkrootkit
rkhunter-c
Installez Nessus
Nessus est un outil de scan de vulnérabilité très performant, simple d'utilisation, tout en
étant très puissant. C'est un logiciel payant pour les professionnels, mais qui peut être utilisé
gratuitement de manière personnelle.
Sur cette version gratuite, il y a des limitations mais elles ne seront pas gênantes pour notre
cours. Il est également possible d’utiliser, openVAS, équivalent de Nessus dans le monde
libre, mais il est un peu moins convivial donc nous aborderons Nessus dans ce cours.
Téléchargez la version adaptée à votre distribution de Kali. Ensuite, pour l'installation nous
allons taper la ligne de commande suivante dans un terminal :
dpkg -i Nessus-*.deb
Puis, pour que Nessus démarre, nous allons saisir la commande suivante dans un terminal :
/etc/init.d/nessusd start
Enfin, pour que le service Nessus démarre à chaque démarrage de Kali automatiquement, il
faut écrire la commande ci-dessous dans un terminal :
update-rc.d nessusd enable
Installez Metasploit
Metasploit framework est un outil d'exploitation de vulnérabilités très puissant. Il est
intégralement en ligne de commande. Il possède une base de données énorme avec les
vulnérabilités existantes à ce jour.
Dans notre exemple, mettez à jour l'application Metasploit framework en tapant les 2
commandes suivantes dans un terminal :
msfconsole
aptupdate;aptinstallmetasploit-framework
Il est préférable de mettre à jour cette base de données avant chaque test d'intrusion pour
avoir des dernières vulnérabilités disponibles.
En résumé
• La configuration de l'environnement du test d'intrusion est très importante pour
réaliser un test d’intrusion dans de bonnes conditions.
• La Distribution Kali Linux est conçue spécialement pour les tests d'intrusion.
• Avant chaque test d'intrusion, il faut s'assurer que ces outils sont à jour et intègres.
• Il faut un scanner de vulnérabilité comme Nessus ou openVAS.
• Il faut également un outil d'exploitation de vulnérabilité comme le célèbre Metasploit
framework.
Préparez votre pentest
Maintenant que nos outils sont prêts, pour terminer cette première partie, nous allons voir
comment préparer son test d'intrusion et quels sont les critères pour définir le périmètre.
• Un serveur : dans le cas d'une application en ligne, d'un serveur Web, ou d'un
serveur interne à l'entreprise qui héberge différents services.
• Une partie du réseau : par exemple la partie DMZ du réseau, les machines de
développement, ou encore les serveurs de production.
• L’IP publique de l’entreprise : dans le cas d'une petite entreprise qui ne possède
qu'une connexion Internet et que l’objectif est de s'assurer que personne ne puisse
pénétrer de l'extérieur.
• Plusieurs IP publiques : dans le cas d'une plus grosse entreprise qui possède une
plage d’IP publiques avec plusieurs serveurs en hébergement.
• Tout le réseau interne : le réseau local LAN complet dans le cas où l'entreprise veuille
s'assurer que toutes ses machines internes sont sécurisées.
Par exemple, si vous voulez tester une application utilisée en interne, il faudra intégrer dans
le périmètre tous les serveurs hébergeant les composants de l’application (serveur Web,
base de données, etc.).
Il faut donc discuter et déterminer cela entre le donneur d'ordre et le pentesteur qui
réalisera le test d'intrusion. Comme vous l'avez compris, il est très important que le
périmètre colle parfaitement avec les attentes et l’évaluation de la menace.
Les autorisations, interlocuteurs et documents
Avant tout démarrage de test d'intrusion, il est indispensable d'avoir un accord
écrit et signé de la cible que l'on va tester. Dans le cas contraire, une tentative d'intrusion
sans autorisation est punie par la loi :
Le « mandat d'autorisation de test de pénétration » doit être signé par le représentant légal
de l’entreprise ou le responsable des systèmes d’informations. Voilà ci-dessous un exemple
demande de mandat :
Je soussigné (prénom, nom) en tant que (fonction) de l’entreprise (nom) par la présente,
autorise la société ExpInfo, spécialisée en cybersécurité, à effectuer un test d’intrusion dans
notre système d’information.
Il peut également être précisé sur ce mandat la date et l'heure à laquelle sera réalisé le test
d'intrusion, l'adresse IP publique à partir de laquelle seront effectués les tests en cas de test
d'intrusion externe.
En résumé
• Pour préparer un pentest, il faut déterminer le périmètre du test d'intrusion
• Il y a 5 critères : le serveur, la partie réseau, l’IP publique de l’entreprise, les IP
publiques, le réseau interne.
• Il est impératif d'avoir une autorisation écrite et signée de l'entreprise cible du test
d'intrusion sous peine de sanction pénale.
Pour aller plus loin
• Page de téléchargement de la distribution Kali.
• Certification oscp sur Kali certification au SCP sur calice
• Présentation générale des tests d'intrusion
Description
Maintenant que vous en avez appris un peu plus sur les tests d'intrusion, je vous propose de
répondre à ces quelques questions.
• Question 1
Oui
o
Non
• Question 2
Oui
Non
• Question 3
À identifier les vulnérabilités, tenter de les exploiter pour les qualifier, et proposer des
solutions pour les corriger
• Question 4
Interne
Externe
o
En frontière
Défensif
Intrusif
• Question 5
La boîte neutre
La boîte grise
La boîte externe
La boîte blanche
la boîte interne
• Question 6
Quelle est la distribution Linux conçue spécialement pour les tests d'intrusion ?
Debian
RedHat
o
Kali
• Question 7
Lesquels des outils de pentest suivants sont des outils utilisés dans les tests d'intrusion ?
Nero
Nmap
Wireshark
Word
OpenOffice
• Question 8
Facebook Scan
Nessus
• Question 9
o
Vulnerability Exploiter Corp
WireShark
Metasploit
VulntesterPro
• Question 10
Le pentesteur détermine cela tout seul en fonction de ce qu'il pense le plus adapté, c'est sa
seule expertise qui compte.
• Question 11
Non, une autorisation n'est pas nécessaire car le pentesteur est un professionnel qui sait ce
qu'il fait.
Oui, et n'importe quelle personne de l'entreprise cible peut signer le mandat d'autorisation.
o
• Question 12
Vous êtes RSSI d’une entreprise qui est un hébergeur français. Votre PDG est soucieux que
n’importe quel pirate puisse s’introduire dans votre système. Quel test d’intrusion pouvez-
vous faire, pour vous assurer de la sécurité de votre SI dans un tel scénario ?
• Question 13
Vous êtes RSSI d’une entreprise qui est un industriel français. Votre PDG est soucieux que
n’importe quel employé puisse utiliser le système d’information de l’entreprise de
manière malveillante. Quel test d’intrusion pouvez-vous faire, pour vous assurer de la
sécurité de votre SI dans un tel scénario ?
Avant de commencer, petite précision sur une erreur couramment faite en français : il ne
faut pas confondre hacker et pirate.
• Un hacker est une personne avec de très bonnes compétences techniques qui
cherche à contourner les protections pour s'introduire dans un système ou un réseau
informatique. Cependant, les actions de hacker ne sont pas forcément malveillantes,
car on peut parler de hacker éthique.
• À l'inverse, un pirate va chercher à s'introduire dans un système en contournant les
protections, et le fera avec des intentions malveillantes.
Allez, commençons par les attaques les plus courantes.
Le déni de services
Le déni de service ou DoS, pour « Denial of Service » en anglais, est une attaque qui a pour
but de rendre indisponible un service. En d'autres termes, cette attaque empêche les
utilisateurs légitimes d'accéder à une ressource en ligne. Cette attaque peut-être lancée sur :
• un serveur Web,
• un serveur de messagerie,
• un serveur de base de données,
• toutes autres ressources accessibles en ligne.
C'est une attaque qui est très simple à mettre en place. Le principe est uniquement
de saturer la connexion cible pour qu'elle ne puisse plus répondre aux requêtes des
utilisateurs. Cette attaque peut se présenter sous plusieurs formes :
Il est compliqué de se prémunir contre ce type d'attaque. C'est pour ça que des attaques de
ce type ont lieu chaque seconde. Seuls les fournisseurs d'accès ont vraiment la possibilité de
les repérer et de les prévenir.
L’attaque Web
Maintenant que vous avez découvert l'attaque la plus simple, augmentons un petit peu en
complexité. Les attaques Web sont des attaques visant les serveurs Web. Il existe plein de
techniques qui permettent de contourner les protections d'un serveur Web :
Faille connue Ces failles peuvent être trouvées avec un scanner de vulnérabilités comme
Nessus, et exploitées avec un logiciel comme Metasploit.
Forger des Cette technique consiste à écrire manuellement des requêtes HTTP, qui
paquets HTTP vont ensuite être envoyées au serveur. Ces requêtes seront non standards,
avec des malformations qui peuvent générer des plantages sur le serveur
Web. Le logiciel Wfetch intégré à Microsoft IIS permet de le faire.
L'intégration Ici, nous pouvons ajouter ou modifier des paramètres dans les chemins
de paramètres HTTP qui seront mal interprétés par le serveur et qui permettront de
l'exploiter. Aucun logiciel n'est nécessaire car c'est faisable manuellement.
Pour se protéger contre les attaques Web, il faut donc régulièrement que vous examiniez
vos serveurs Web pour les tester. Il faut notamment vérifier la vulnérabilité du contenu des
pages et des versions d’applications qui tournent dessus.
L’injection SQL
Dans le même registre que précédemment, les serveurs SQL peuvent être vulnérables aux
attaques. Ils peuvent être attaqués soit en direct, soit à travers le site Web pour lequel ils
hébergent une base de données. Le nom de cette attaque s'appelle injection SQL car le
principe est d'injecter des caractères pour exploiter les vulnérabilités.
Dans Kali Linux, il y a une multitude d'applications pour faire de l'injection SQL comme BSQL.
Cela dit, l’injection peut parfaitement se faire manuellement.
Quand vous avez un champ dans un formulaire Web, si le serveur SQL derrière n'est pas
protégé, et donc qu'il accepte les apostrophes, il y a toutes les chances qu’une injection SQL
soit possible.
Voilà, ceci n'est qu'un aperçu de ce que peut être l'injection SQL car c'est une activité qui
peut devenir rapidement très complexe.
Il existe également beaucoup de vidéos YouTube sur lesquels vous pouvez voir des démos
d'injection SQL par exemple ici.
Au début des années 2000, les réseaux WiFi n'étaient pas cryptés. Puis la norme WEP est
arrivée. Cette norme a été pendant un bon moment la référence dans la sécurisation des
réseaux WiFi. Mais des vulnérabilités ont été découvertes, permettant de trouver la clé de
décryptage en moins de 10 minutes. Le protocole WPA est donc arrivé, et maintenant
le WPA2. Ces protocoles sont beaucoup plus sécurisés !
Les outils à votre disposition pour tester votre réseau sans fil sont les suivants :
InSSIDer sur Ce sont des applications qui permettent de scanner les réseaux WiFi à
Windows proximité.
LinSSID sur
Linux,
Wifi Analyser
sur Android
airodump-ng + Deux outils en ligne de commande, préinstallés dans Kali. Leur objectif est
airmon-ng d'injecter du trafic sur un réseau wifi inconnu, afin d’obtenir suffisamment
de paquets pour deviner la clé.
cain&abel Deux outils disponibles sur Windows et Kali pour décrypter une clé WEP,
WPA, et WPA2.
ou
aircrack-ng
Pour vous prémunir contre les attaques WIFI, utilisez ces outils pour tester votre réseau.
Vous devez également impérativement utiliser les derniers protocoles de chiffrement WIFI
disponibles.
Aujourd'hui, c'est clairement le WPA2 qui vous protègera le mieux. Vous devez aussi utiliser
un mot de passe long, avec chiffres, majuscules, minuscules et caractères spéciaux. Les
suites de caractères que vous utilisez ne doivent surtout pas être dans le dictionnaire. Sinon
votre connexion wifi sera vulnérable aux attaques par dictionnaire.
Si vous souhaitez aller plus loin, et vous entraîner concrètement sur des types d'attaques
comme celle que vous venez de voir dans ce chapitre, n'hésitez pas à aller sur la célèbre
plateforme d'entraînement au hacking RootMe.
Vous pourrez alors créer un compte et vous entraîner sur les challenges de hacking
proposés.
En résumé
• Il existe plusieurs types d'attaques, avec des niveaux de complexité différents, et qui
permettent d'exploiter les vulnérabilités des systèmes.
• Les attaques par déni de service sont les basiques.
• Il existe différentes techniques pour attaquer un serveur Web : l'utilisation d'une
faille logiciel, l'attaque par l'homme du milieu, l'attaque par paquets Forget,
l'intégration de paramètres dans l'adresse, ou encore le cross site scripting.
• Un serveur SQL peut se faire attaquer soit directement, soit au travers du serveur
Web pour lequel il héberge la base de données. Les attaques de serveur SQL se font
souvent par injection.
• Un réseau sans fil Wifi doit utiliser la dernière norme de cryptage WPA2 pour être
sécurisé. Les anciennes normes de cryptage comme WEP ou WPA sont vulnérables.
• Des plateformes Internet sont à votre disposition pour vous entraîner au hacking.
Par exemple, toutes les fois où vous recevez un email qui vous demande de cliquer sur un
lien pour vous connecter sur votre site de banque : Méfiance ! Les banques ne mettent
normalement pas de lien dans leur email. Il est donc fort probable que ce soit une copie
imitation du réel site de banque héberger sur un serveur pirate. Après avoir saisi l'identifiant
et le mot de passe, un message d'erreur s'affichera et le pirate sera alors en possession de
vos identifiants. Pas besoin de vous expliquer la suite de l'histoire…
• La méthode non informatique : Le pirate peut par exemple appeler par téléphone un
utilisateur, se présenter physiquement devant lui, ou encore se faire passer pour une
personne légitime comme le support informatique. Un utilisateur crédule pourra
donner son mot de passe sur simple demande, ouvrir des portes, faire visiter, etc.
• Le hameçonnage : cette technique reste quand même la plus courante avec l'envoi
d'un courriel qui est du SPAM. Ce courriel est une imitation d’un courrier officiel
comme les impôts, la banque, ou encore la poste. Le pirate utilise une raison crédible
pour que l'utilisateur clique sur le lien et saisisse ses identifiants. L'utilisateur croit
être sur le site officiel alors qu'il est en réalité sur une copie du site détenu par le
pirate. Des d'outils comme « social engineering toolkit » sont disponibles dans Kali
pour créer ces sites clonés.
La meilleure prévention par rapport à ce type d'attaque est de loin la sensibilisation et
la formation. Une entreprise et ses collaborateurs sont comme une chaîne, qui est aussi
solide que le plus faible de ses maillons. C'est pour ça qu'il est très important que tous les
collaborateurs qui ont accès au système d'information soient au minimum sensibilisé.
Contournez un pare-feu, un IDS et un IPS
Revenons maintenant un petit peu plus sur la technique. Deux équipements matériels sont
indispensables pour assurer la sécurité d'un réseau : Le pare-feu et l’IDS.
Deux exemples :
• KFsensor : honeypot vraiment simple d'utilisation qui s'installe en quelques clics sur
Windows.
• Snort : le honeypot le plus utilisé qui est très complet et très performant, mais plus
complexe à configurer.
Ces outils ont également l'avantage de mémoriser chaque action faite par le pirate sur le
système. Cela permet de mieux comprendre les méthodes et techniques employées pour
s'introduire dans le réseau, et donc de s’en protéger.
Cependant, il existe des outils pour détecter ces honeypots. Il faut donc vous assurer que
votre honeypot n'est pas détectable avec un outil comme « Send-Safe Honeypot Hunter ».
Sinon le pirate ciblant votre infrastructure ne va pas s'attarder là-dessus et va se concentrer
sur votre infra réseau réel.
En résumé
• Les techniques utilisées par les pirates ne sont pas toutes informatiques, car le social
engineering est très utilisé aujourd'hui.
• La sensibilisation à la cybersécurité de tous les collaborateurs de l'entreprise est
capitale pour maintenir un bon niveau de sécurité.
• Même les outils les plus performants comme les pare-feu, IPS, et IDS sont
contournables. Il faut s'assurer qu'ils soient à jour et parfaitement configurés pour
réduire les risques.
• Un honeypot installé en entrée d'un réseau est un atout indéniable pour protéger
votre système. Il permet d'attirer le pirate et de le détourner de votre réseau réel.
Ensuite, une fois que vous avez collecté toutes les informations disponibles sur cette cible, il
faut scanner les adresses IP du périmètre. Et enfin, vous poursuivrez en scannant les
vulnérabilités présentes. Pour réaliser les étapes suivantes, vous allez utiliser le
logiciel Oracle Virtual Box, disponible ici avec deux machines virtuelles (Kali Linux et
Metasploitable).
Voyons tout ça ensemble !
• Google bien sûr : c'est incontournable, il faut googliser l'entreprise pour essayer de
rassembler un maximum d'information.
• Network Tools : sur ce site vous avez accès à une large gamme d'outils que les
administrateurs système et réseaux connaissent bien.
• Serversniff : également disponible des outils en ligne sur ce site pour tester une cible
en IPv4, IPv6, ou même un serveur Web HTTP et HTTPS.
• Shodan : vous trouverez ici une base de données des adresses IP publiques qui ont
été scannées avec les différents ports ouverts et les vulnérabilités trouvées.
• Google Maps : bien sûr le classique Google Maps qui permet de géolocaliser une
entreprise pour obtenir plus d'informations sur l'implantation géographique.
• Archive.org : et pour terminer, ce site est incontournable car il contient une archive
d'Internet. À intervalle régulier, il mémorise les différents sites. Même si un contenu
a été effacé d'un site Web, si ce site a été archivé, le contenu effacé est encore
disponible ici :
Vous pouvez par exemple scanner toutes les adresses IP de votre réseau pour voir quelles
sont les réponses :
nmap -sn 10.0.2.0 /24
Recherchez les vulnérabilités
Comme de l'avant vu précédemment, il existe beaucoup de logiciels de scan de vulnérabilité.
Celui que nous allons utiliser dans ce cours est Nessus.
Après installation, vous pouvez accéder aux logiciels en vous connectant sur l'adresse
: https://localhost:8834/
Plusieurs types de scans sont possibles. Quelques modèles sont disponibles dans la version
gratuite, et tous les autres sont disponibles dans les versions payantes.
Cela dit, il est toujours possible de personnaliser son propre modèle.
Dans cet exemple, vous allez utiliser un « scan basic » pour scanner votre réseau de test avec
la machine virtuelle Metaspoitable active.
Une fois le scan terminé, vous pouvez analyser le résultat.
Vous voyez qu'il y a plusieurs vulnérabilités qui sont catégorisées en fonction de leur
sévérité.
Quand vous cliquez sur une vulnérabilité, vous pouvez en voir le détail.
En résumé
• Il est très important de régulièrement vérifier les informations internes à l'entreprise
qui sont disponibles sur la toile. Il est fréquent que des informations sensibles fuitent
sur les réseaux sociaux. Pour un pirate, cela peut être une opportunité d'accéder au
système.
• Pour être efficace dans un test d'intrusion, il faut suivre le processus suivant :
recherche d'empreinte, énumération des systèmes actifs et recherche de
vulnérabilités.
Comme vous l'avez vu précédemment, il existe plusieurs méthodes non informatiques pour
s'introduire dans un système. La plus célèbre d'entre elles est l'ingénierie sociale.
Vous allez donc voir comment obtenir des identifiants et mots de passe en utilisant la faille
humaine. Puis, vous mettrez en œuvre une autre méthode assez connue pour obtenir un
mot de passe et le casser. Deux attaques existent pour se faire : l'attaque par dictionnaire,
ou l'attaque par force brute.
Cependant, il n'est pas toujours possible de casser un mot de passe comme vous l'avez vu
au chapitre précédent. C'est pourquoi il suffit parfois d'écouter les paquets trafiquants sur le
réseau pour relever ces mots de passe.
Voyons tout ça ensemble !
Plusieurs outils sont intégrés à Kali pour faire des attaques par ingénierie sociale. Celui que
nous allons voir ensemble dans ce chapitre est l’outil : « Social Engineering Toolkit ».
Avec cet outil nous allons cloner la page d’identification d’un site Web, pour collecter des
mots de passe. Vous trouvez ici des copies d'écran des différentes options, n'hésitez pas à les
suivre en intégralité dans la vidéo.
• Option 1
• Option 2
• Option 3
• Option 4
Notre serveur Web qui va héberger le site cloné est notre machine Kali Linux.
Nous allons cloner la page de login de Facebook :
Cela semble fonctionner car si on se connecte sur le port 80 de notre machine Kali, nous
avons bien une copie de la page Web de login de Facebook.
Écoutez le réseau
Simplement en écoutant le réseau, il est possible de capter des informations qui transitent
en clair. Effectivement à chaque fois qu'un protocole non chiffré est utilisé, l'écoute est
possible. Pour ce faire, je vous propose d'utiliser Wireshark.
Connectez-vous sur la page Web de votre machine Metasploitable, et cliquez sur le lien
DVWA.
C'est bon, vous pouvez maintenant arrêter la capture dans Wireshark. Appuyez sur le bouton
STOP en haut à gauche. Maintenant, recherchez dans toutes les trames. Capturez la trame
qui possède l'information du login et mot de passe que vous avez rentré sur le site. Étant
donné que la page Web est en HTTP et non en HTTPS, tout est passé en clair.
En résumé
• Il est très important que tous les collaborateurs soient formés à identifier le SPAM.
Beaucoup d’outils sont à la disposition de tous pour casser les mots de passe. Il faut
donc respecter des règles de complexité minimums pour établir un mot de passe.
• Il faut toujours utiliser des protocoles chiffrés pour échanger des données sensibles.
Par exemple, les sites sur lesquels vous rentrez un mot de passe doivent être en
HTTPS.
Testez le système cible avec des méthodes complexes
Si nous augmentons encore le niveau par rapport au chapitre précédent, nous allons
maintenant étudier des méthodes encore plus complexes pour nous introduire dans un
système informatique.
L’outil le plus utilisé est Metasploit. Il est complexe à prendre en main, mais extrêmement
puissant. Il permet de s'introduire et de maintenir l'accès dans un système, en utilisant des
vulnérabilités connues.
Nous avons vu dans la partie 1 comment le démarrer sur Kali et le mettre à jour.
Maintenant, voyons la méthodologie d'utilisation de cet outil, étape par étape :
Un exploit est le code permettant de pénétrer un système cible en profitant de l'une de ses
vulnérabilités. Plus de 1 000 exploits sont disponibles dans Metasploit pour les systèmes
d’exploitation.
3. Choisissez et configurez un payload.
Un payload est le code qui s'exécutera après s'être introduit dans la machine cible, par
exemple pour avoir accès à un shell distant ou un serveur VNC.
4.Choisissez la technique d'encodage pour encoder le payload de sorte que les systèmes de
prévention d'intrusion ne le détectent pas. Choisissez également les options du payload :
5.Exécutez l'exploit. Dans l’exemple j’ai ouvert un shell sur l’ordinateur cible :
Il existe différentes versions de Metasploit. Deux sont payantes et deux sont gratuites. Celle
qui est préinstallée dans Kali est la version Metasploit framework qui est gratuite.
Pour en savoir plus sur Metasploit, vous pouvez aller visiter cette page. Si vous souhaitez
approfondir l'utilisation de cet outil, vous pouvez visiter cette documentation en ligne très
complète.
Une machine virtuelle est disponible pour s'entraîner. Elle s'appelle Metasploitable. Elle
possède volontairement des vulnérabilités pour s'entraîner à les détecter et les exploiter en
toute légalité. Elle est téléchargeable ici. La documentation pour cette machine virtuelle est
disponible ici.
Le vol de sessions
Une session est une visite ou une connexion individuelle, initiée par un utilisateur. Quand un
utilisateur arrive sur un site, et qu'il se connecte à son compte, pendant toute la durée de la
session, l'utilisateur n'aura pas besoin de remettre son mot de passe car il sera identifié par
ce site.
Il y a plusieurs outils utilisés pour voler la session d'un utilisateur et se faire passer pour lui :
• Zed Attack Proxy : c'est un outil qui permet de créer un proxy en utilisant la
technique MITM, comme nous l'avons vu dans la partie précédente, en nous
interposant entre le client et le serveur. Avec ce logiciel, le pirate voit donc passer les
flux : du client au serveur et du serveur au client. Il peut donc récupérer les mots de
passe.
• Wireshark : Pour écouter le trafic réseau réalisé sur un protocole non sécurisé et
récupérer l'ID de session afin de le réutiliser par la suite.
Voici un article du New York Times pour plus de détails sur cet événement qui est, à ce
jour, la plus grosse fuite de données connue. Également, un article récent nous apprend que
les entreprises mettent 205 jours en moyenne avant de réaliser qu'elles se sont fait
cyberattaquer.
Finalement, les différentes notions vues dans ce chapitre peuvent rapidement être très
techniques mais les bons pirates les maîtrisent parfaitement.
En résumé
• Metasploit est l’outil le plus connu pour exploiter les vulnérabilités des systèmes.
• La procédure classique utilisée par les pirates est la suivante : scan de
vulnérabilité, exploitation des vulnérabilités, maintien de l'accès malveillant, et
effacement des traces.
• Il existe beaucoup de techniques pour voler une session utilisateur. Il n'est pas
obligatoirement nécessaire de connaître le mot de la session utilisateur.
• La dernière étape d'une attaque par un pirate est l'effacement de ses traces.
Pour aller plus loin
• Méthode OWASP
• Jeu interactif pour sensibiliser à la cybersécurité
• Plateforme de sensibilisation à la cybermalveillance
• Entraînez-vous pour de vrai, mais légalement sur la plateforme HackMe
Entraînez-vous à mener un test d'intrusion
Bienvenue dans cet exercice de pratique. L'objectif est de vous mettre en situation, pour que vous
soyez en mesure de réaliser un test d'intrusion en utilisant les outils de pentesting.
À vous de jouer !
Pour vous entraîner, réalisez cet exercice étape par étape. Une fois terminé, vous pouvez
comparer votre travail avec les pistes que je vous propose.
Étape 1 : Préparez votre environnement
En premier lieu, installez un environnement pour réaliser le test : un système Kali Linux et la machine
virtuelle Metasploitable. Vous avez normalement déjà installé et configuré Kali Linux dans la partie 1
(sinon, faites-le dès maintenant).
Concernant Metasploitable :
• Screenshot1 Scan Nmap : le scan montre toutes les machines du réseau local ;
• Screenshot2 Scan Zenmap : les ports ouverts sont visibles ;
• Screenshot3 Scan Nessus : les résultats sont visibles ;
• Screenshot4 Logiciel FTP : Le nom du logiciel et sa version sont visibles ;
• Screenshot5 Scan Nmap sur le port 6200 : le port 6200 est ouvert ;
• Screenshot6 Shell Root : L'accès root est bien visible.
Question bonus : il faut mettre à jour la version de vsFTPd qui est beaucoup trop ancienne.
Voici le corrigé type pour vous permettre de vérifier votre travail.
Proposez et inventoriez les mesures correctives
Évaluez les risques
Vous savez maintenant comment réaliser un test d'intrusion. Votre objectif à présent est
d'apprendre à présenter le résultat de votre travail. Vous allez donc mettre en forme et
proposer des solutions pour la correction des vulnérabilités trouvées.
Pour chaque vulnérabilité trouvée, le risque est évalué. Ce n’est pas systématique, mais
dans les rapports de test d’intrusion très complet de l'évaluation du risque découle la
classification des trois axes suivants :
• la sévérité,
• la complexité,
• et la priorité.
Voyons cela ensemble et commençons par la sévérité !
La sévérité
Dans le domaine de la sécurité informatique, le système d'évaluation standardisé de la
criticité des vulnérabilités - ou « Common Vulnerability Scoring System » (CVSS) - se base
sur des critères objectifs et mesurables. Cette évaluation est constituée de 3 mesures
appelées métriques :
• la métrique de base,
• la métrique temporelle
• la métrique environnementale.
Ce standard CVSS multiplie la probabilité d’apparition d’un événement avec le niveau de
gravité des conséquences de cet événement. La composante qui en résulte est la sévérité,
ou criticité. Celle-ci est évaluée et adaptée au contexte de l’entreprise par nos pentesteurs.
La complexité de la correction
Pour chaque vulnérabilité identifiée, vous devez proposer une solution corrective et estimer
le niveau de difficulté de correction.
Un autre exemple serait qu’une entreprise utilise toujours Windows Server 2003 pour faire
fonctionner son réseau. Ce système d'exploitation n'étant plus supporté par Microsoft, il
faut en changer. La complexité de la correction serait là « complexe » puisqu'elle nécessite le
changement du serveur et la migration vers une version plus récente de Windows Server.
La priorité de la correction
Partant du constat des 2 axes précédents (sévérité et complexité), vous pouvez conseiller sur
la priorisation de l’application des solutions correctives du système d’information.
Priorité Urgent La correction de la vulnérabilité doit être faite dans les plus brefs
1 délais.
Chaque vulnérabilité est présentée dans un tableau, qui présente le détail des systèmes
touchés et la façon dont on peut l’exploiter.
Exemple de vulnérabilité
An issue was discovered in certain Apple products. iOS before 11.3 is affected. macOS before
10.13.4 is affected. iCloud before 7.4 on Windows is affected. iTunes before 12.7.4 on
Windows is affected. tvOS before 11.3 is affected. watchOS before 4.3 is affected. The issue
involves the "Security" component. A buffer overflow allows attackers to execute arbitrary
code in a privileged context via a crafted app.
Vulnerability Dans cette colonne du tableau, nous avons l'information sur le type
Type(s) d'exploitation de la vulnérabilité. Cela peut être une exécution de code
arbitraire, une exécution de code SQL, une attaque XSS, une attaque DoS,
une attaque de type overflow, etc.
Score C'est le système d'évaluation dont je vous parlais tout à l'heure, avec une
note CVSS qui est donnée pour évaluer la sévérité de la vulnérabilité.
Gained Access Ce champ indique s'il est possible d'obtenir des accès grâce à cette
Level vulnérabilité. Cela peut-être des accès système, utilisateur, ou
administrateur.
Access Dans cette colonne, nous avons une précision sur le type d'accès qui peut
être local ou distant.
Complexity Ici, c'est la complexité et donc la technicité qu'il est nécessaire de mettre en
œuvre pour exploiter cette vulnérabilité.
Conf. + Integ. Ces champs indiquent le niveau d’impact sur la confidentialité, l'intégrité et
+ Avail la disponibilité.
Prenons un autre exemple : la faille la plus utilisée en 2017 CVE-2017-0143 aussi connue
sous le nom de EternalBlue.
C’est un exploit développé par la NSA. Il est révélé et publié par le groupe de hackers « The
Shadow Brokers ». Cet exploit utilise une faille de sécurité présente dans la première version
du protocole SMB (SMBv1). Bien que cette faille de sécurité ait déjà été résolue par
Microsoft, de nombreux utilisateurs de Windows n'avaient toujours pas installé ce correctif
de sécurité lorsque. Le célèbre rançongiciel « WannaCry » utilise cette faille de sécurité pour
se propager.
The SMBv1 server in Microsoft Windows Vista SP2; Windows Server 2008 SP2 and R2 SP1;
Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold and R2; Windows RT 8.1; and
Windows 10 Gold, 1511, and 1607; and Windows Server 2016 allows remote attackers to
execute arbitrary code via crafted packets, aka "Windows SMB Remote Code Execution
Vulnerability." This vulnerability is different from those described in CVE-2017-0144, CVE-
2017-0145, CVE-2017-0146, and CVE-2017-0148.
Sur le résultat du scan de vulnérabilité de Nessus, il est indiqué les références CVE
correspondantes aux vulnérabilités trouvées. Il est donc possible d'aller se documenter pour
avoir les détails.
Par exemple, voici le lien pour avoir des précisions sur la vulnérabilité CVE-2018-4144
touchant le système iOS.
Dès qu’une vulnérabilité est rendue publique, un numéro de CVE lui est attribué.
Le re-test et la réglementation
À la suite du rapport de test d'intrusion, un plan d'action est déterminé pour corriger les
vulnérabilités éventuelles. Pour s'assurer que le système est totalement protégé après la
correction, il est conseillé de faire un deuxième test de vulnérabilité que l’on appelle
couramment un « re-test ». En général plus rapide, il vérifie uniquement les points qui ont
été notés « à corriger » dans le premier test.
Si trop de temps (plus de 6 mois) s'est écoulé entre le premier test de vulnérabilité et le re-
test, il est quand même conseillé de le refaire de manière complète.
En règle générale et selon les recommandations, pour s'assurer que votre système est
sécurisé, il faut prévoir de faire un test d'intrusion ou un audit de sécurité de
manière annuelle.
Pour les établissements sensibles type « bancaires », qui se soumettent aux règles PCI DSS
(Payment Card Industry Data Security Standard), des normes encore plus drastiques sont
préconisées. Un test d'intrusion annuel interne et externe doit être réalisé en incluant tout
le système d’information dans le périmètre.
Les scans de vulnérabilité et les tests d'intrusion sont également des composants essentiels
de la norme ISO 27001. Cela s'intègre parfaitement dans la logique de contrôle initial et de
développement continu de la sécurité des systèmes d'information ISMS « Information
Security Management System ».
Pour aller plus loin sur l'évaluation des risques, cliquez ici.
Pour aller plus loin sur la matrice des risques, cliquez ici.
Les entreprises spécialisées en cybersécurité qui réalisent des pentests ont chacune leur
façon de présenter leur rapport de test. Elles intègrent plus ou moins d'informations et de
détails sur la façon dont elles ont fait le pentest et les corrections à apporter. Vous pourrez
donc noter que dans ce rapport n'est précisée que la sévérité de la vulnérabilité trouvée. La
complexité et la priorité de la correction sont laissées à l'appréciation du client.
Prenons tout d'abord un exemple qui vient du site offensive-security. Le scénario est le
suivant : l'entreprise MegaCorp One est soucieuse qu'un pirate puisse s'introduire à partir de
l'Internet dans son système. Elle contacte donc l'entreprise Offensive-Security, experte en
cybersécurité. Un test d’intrusion externe en boîte noire est préconisé.
En utilisant le serveur Web compromis ainsi que les mots de passe récupérés, il a été
possible de cibler des ressources internes auparavant inaccessibles. Cela a ensuite permis
d’accéder à de nombreuses fenêtres internes d'hôtes avec l’accès administrateur local, à la
compromission complète d'un serveur Citrix, et au contrôle administrateur complet de
l'infrastructure Windows Active Directory. Les contrôles de trafic réseau existants ont été
contournés grâce à l'encapsulation de trafic malveillant dans des protocoles autorisés.
Je vous invite à lire l'intégralité du rapport de ce test d'intrusion ici (en anglais).
Cette partie ne doit pas être négligée, car même le meilleur des travaux est inutile s’il n'est
pas restitué. Nous allons donc voir dans cette partie comment effectuer la restitution.
Le destinataire du rapport
Pour bien rédiger un document, il faut toujours avoir en tête le ou les destinataires. Ceux-ci
peuvent être mentionnés dans les premières pages du document.
Présentation et structure
Chaque entreprise en cybersécurité présente son rapport d'une façon différente. Cela dit, il
est souvent formaté de la manière suivante :
• Le sommaire : comme dans tout document assez long, il est conseillé d'avoir un
sommaire pour une meilleure appréhension de la structure et faciliter sa lecture.
• Le contexte et le périmètre : il est bon de rappeler la raison pour laquelle le test a
été effectué, et le périmètre du test d'intrusion, par exemple les adresses IP qui ont
été testées.
• Les conditions du test : il est bien expliqué qu'il existe plusieurs types de tests
d'intrusion (boîte noire, boîte grise, boîte blanche). Il est important de préciser lequel
de ces tests a été effectué.
• La méthodologie : il existe plein de méthodologie de test d'intrusion (OWASP, PCI,
Penetration Testing Execution Standard, OSSTMM, etc…). Il peut être intéressant
pour les lecteurs de savoir quelle méthodologie a été choisie. À défaut, il faut
indiquer le processus de test qui a été suivi.
• Les axes d’évaluation : souvent les 3 axes d'évaluation utilisés pour qualifier les
vulnérabilités ne sont pas forcément intuitifs. Il est bon de les expliquer pour que le
lecteur comprenne plus facilement.
• Les résultats du test : La plupart du temps sous forme de tableau, il est présenté
comme un listing des vulnérabilités trouvées, avec les différentes informations les
qualifiantes.
• Une synthèse : pour les lecteurs qui veulent juste avoir un aperçu de la sécurité sans
lire l'intégralité du rapport, il est intéressant de mettre une partie de synthèse
récapitulant le nombre de vulnérabilités trouvées en fonction :
o de la sévérité
o du niveau de priorité de correction
o de la difficulté de correction
Il peut être intéressant de résumer le nombre de failles trouvées dans des petits tableaux de
synthèse par sévérité, priorité, et difficulté de correction. Par exemple, noter qu’il existe 2
failles de sévérité intolérables, 5 modérées et 3 acceptables.
Pour rappel, l’exemple de test d'intrusion vu dans le chapitre précédent est ici.
Cette fois-ci, je vous invite à consulter surtout la mise en forme. Regardez bien : Page 31, 32
et 33, vous retrouverez le « rating » de chaque vulnérabilité écrit en rouge. C'est la sévérité
de la vulnérabilité que le pentesteur a déterminée.
Voilà également un deuxième exemple. Dans ce rapport, regardez bien les choses suivantes :
page 34 le pentesteur de détail l'échelle qui l'utilise pour classifier le niveau de risque ; page
35 et un résumé de toutes les vulnérabilités avec leur niveau de risque ; et enfin page 37
présenter sous une autre forme, un tableau récapitulatif des vulnérabilités avec les adresses
IP et de leur criticité.
Voilà pour l’essentiel sur la rédaction du rapport de test d’intrusion. Voyons maintenant
comment le présenter au client.
En résumé
• Le rapport de test d'intrusion est un document technique qui doit également pouvoir
être lu par des responsables sans compétences informatiques poussées.
• Le rapport de test d'intrusion est un document confidentiel, car il contient des
informations sensibles qui peuvent permettre à une personne malveillante de
s'introduire dans le système informatique.
• Il n’y a pas de structure unique de rapport d’intrusion, mais certains éléments sont
indispensables.
Cette partie du travail ne doit pas être sous-estimée. En effet, le client prend alors mesure
de votre travail et doit s'en imprégner.
Nous allons donc voir comment présenter le résultat de votre travail et transmettre les
connaissances à ceux qui vont prendre le relais.
La réunion de restitution
La réunion de restitution est le moment où vous présentez tout le travail qui a été réalisé.
Cette réunion se déroule en fin de prestation.
Le premier enjeu est que le client réalise et comprenne le travail technique qui a été réalisé.
Vous pouvez donc parcourir le rapport ensemble, expliquer la méthodologie utilisée, et
répondre aux questions.
Cette réunion vous offre aussi l’opportunité de remettre le rapport de la main à la main de
manière confidentielle. Si vous voulez l'envoyer au préalable, il vous faudra trouver
une solution sécurisée pour le transmettre.
La transmission de fichiers sensibles par une voie non maîtrisée comme Internet est risquée.
Il faut utiliser un protocole et un niveau de chiffrement adéquat. Par exemple, un mot de
passe dans un fichier Word n'est pas très sécurisé car cassable assez facilement. Un mot de
passe sur un fichier zip n'est pas non plus très sécurisé. Une solution pourrait être le
chiffrage d’un email avec l'outil OpenPGP.
Enfin, il est primordial que le client s’approprie les éléments nécessitant un suivi ou du
travail complémentaire, comme notamment les mesures correctives à prendre pour
sécuriser l'entreprise. Il est très important que ce dernier point soit transmis correctement
pour qu’un plan d'action efficace et adéquat puisse être mis en place.
L’organisation de cette réunion peut être de votre initiative ou de celle du client. Accordez-
vous sur une date, un lieu, et une heure. Essayez également d’arrêter une durée
d’intervention et de vous y conformer (souvent entre une et deux heures).
Il est nécessaire que les destinataires du rapport soient invités et de préférence présents.
Selon les personnes conviées, l’ordre du jour de la réunion pourra être adapté. Vous pourrez
présenter le rapport à un public large, mais également intervenir pour briefer des équipes
techniques sur la mise en œuvre des actions correctives.
Enfin, faites attention à la forme de votre présentation. Ceci est tout aussi important que le
fond. La qualité de votre présentation en dépend, et plus globalement de votre prestation et
votre appréciation par le client. Vous pouvez par exemple faire un PowerPoint ou
simplement vous appuyer sur votre rapport. Veillez à faire un exposé clair,
structuré, et dynamique.
Suivant le contrat signé, la prestation pourra inclure ou non l'assistance à la correction. Ceci
permet à l'informaticien de l'entreprise de contacter le pentesteur si besoin.
Voici un exemple de faille et de solution corrective proposée : imaginons que le test
d'intrusion a révélé qu'il était possible de s'introduire dans le contrôleur de domaine par un
utilisateur administrateur du domaine avec un mot de passe faible. La solution est assez
simple : le pentesteur conseille de désactiver ce compte s’il n'est pas utilisé, sinon de
complexifier son mot de passe.
En résumé
• Le rapport de test d’intrusion est un document confidentiel.
• Ce rapport et la réunion de restitution sont deux rendus très importants de la
prestation de test d'intrusion.
• Les prestations de test d'intrusion n'incluent pas la correction des vulnérabilités
trouvées.
• Cependant, elles peuvent inclure l'élaboration d'un plan d’action, voir l’assistance à
leur mise en place.
• Le pentesteur doit veiller à bien transmettre tous les éléments importants à la
personne qui va s'occuper de la correction des vulnérabilités trouvées.
Pour conclure ce cours
C’est ainsi que s’achève ce cours. Vous êtes maintenant en capacité de conduire un test
d’intrusion, élément clé de la protection d’un système d’information.
Une protection optimale passe également par d’autres types de tests, comme l’audit de
sécurité informatique.
Il est aussi important de comprendre que les pirates et les attaques évoluent sans cesse, de
même que l’informatique et les technologies. Les outils et les techniques de protection
suivent la même évolution. Vous devez donc vous aussi toujours apprendre, vous remettre
en question, vous tenir informé, bref faire de la veille active pour rester dans la course !
Description
Vous avez vu comment rédiger un rapport d'intrusion et les étapes qui suivent la réalisation
d'un test de façon générale. Testez vos connaissances en répondant à quelques questions !
• Question 1
La liste exhaustive des outils utilisés par le pentesteur pendant son test d'intrusion.
Toutes les techniques et méthodes employées par le pentesteur pendant son test.
• Question 2
Quels sont les axes d'évaluation des risques qui permettent de qualifier les vulnérabilités
?
La sévérité.
o
• Question 3
C’est un référentiel qui donne une méthodologie à suivre pour effectuer un test d'intrusion.
C’est un système d'évaluation de la criticité des vulnérabilités selon des critères objectifs et
mesurables.
• Question 4
L'ancienneté de la vulnérabilité.
• Question 5
Quand une vulnérabilité est rendue publique, elle est référencée dans des bases de
données officielles qui sont disponibles sur Internet
Vrai
Faux
• Question 6
Vrai
Faux
• Question 7
Vrai
Faux
• Question 8
Il est conseillé de re-tester pour vérifier si les vulnérabilités sont toujours présentes après
leur correction.
Vrai
Faux
• Question 9
Pour avoir un niveau de sécurité optimal, il est conseillé de faire un test d'intrusion
régulièrement ? Est-ce vrai ou faux ?
Vrai
Faux
• Question 10
Le rapport de test d'intrusion est un document officiel qui doit être rendu public.
Vrai
Faux
• Question 11
Quelles sont les personnes qui sont susceptibles de lire un rapport de test d'intrusion ?
Tous les collaborateurs de l'entreprise car ils ont le droit de savoir s’ils travaillent dans un
environnement sécurisé.
• Question 12
Une réunion de restitution à la fin du test d'intrusion n'est jamais nécessaire car tout est
écrit dans le rapport.
o
Vrai
Faux
• Question 13
Vous réalisez un test d'intrusion chez un hébergeur de site Web. Dans votre rapport, Vous
établissez que l'hébergeur possède une infrastructure hétérogène qui contient certains
serveurs tournant sur Windows Server 2003. Pendant le test, vous avez trouvé des
vulnérabilités sur ces quelques serveurs. Quelle recommandation allez-vous faire pour la
correction des vulnérabilités trouvées sur ces serveurs tournant sur Windows 2003 ?
Installer un patch spécial fourni par Microsoft, la KB2953522 pour sécuriser les serveurs.
Recommander de changer les systèmes d'exploitation pour des versions plus récentes que
Windows Server 2003.
• Question 14
Vous réalisez un test d'intrusion dans une petite PME. Vous réalisez que les mots de passe
par défaut (utilisateur et administrateur) n'ont pas été changés sur leurs applications
métiers. Qu’allez-vous recommander dans votre rapport ?