Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1
PARTIE 1 : TEST DE PENETRATION
I- Préparez votre test d’intrusion
I-1- Généralités
Test de pénétration, Test d’intrusion, Pentest
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. 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.
Scan de vulnérabilité
Le scan de vulnérabilité est une composante du test d’intrusion, c’est-à-dire une sous-
partie. C’est plus précisément un scan (comme son nom l’indique) de la cible qui
permet d’énumérer les vulnérabilités, sans tenter de les qualifier ou de vérifier si elles
sont exploitables.
Lien entre le pentest et l’audit
Le test d’intrusion peut être considéré comme l’aspect plus technique et pratique d’une
démarche d’audit de sécurité. Il va révéler par exemple, une application non à jour ou
encore un port ouvert par erreur dans le firewall.
Objectif du test d’intrusion
Les objectifs sont clairs :
- la sévérité de la vulnérabilité ;
- la complexité de la correction ;
- et l'ordre de priorité qu’il faut donner aux corrections.
Quand faire le test d’intrusion
Afin de sécuriser l’infrastructure ou l’application, les tests d’intrusion peuvent être faits à
différents moments :
- lors de la conception du projet, afin d’anticiper les éventuelles attaques ;
- pendant la phase d’utilisation, à intervalle régulier ;
- suite à une cyberattaque pour que ça se reproduise pas.
La conduite d’un test d’intrusion est à l’initiative de l’entreprise qui veut se tester.
Le test d'intrusion peut se faire de l'extérieur (test d’intrusion externe). Ce test
d’intrusion pourra être réalisé de n'importe quelle connexion Internet.
Qui le fait ?
Le test d’intrusion est réalisé par 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.
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.
3
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.
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.
- la boîte noire
- la boîte grise
- la boîte blanche
Voyons cela dans le détail.
- 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.
I-3-2- 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.
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.
I-4-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.
5
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.
- 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(
www.kali.org)
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ée 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.
II-2- 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
II-3-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
Maintenant que nous avons identifié les systèmes d'exploitation et les outils principaux à
utiliser pour un test d'intrusion, vous allez installer et configurer votre environnement
d'entraînement.
Installez Kali
Nous allons installer Kali Linux ensemble. Pour ce faire, vous pouvez vous rendre sur le
site officiel sur ce lien, www.kali.org et télécharger la version qui correspond à votre
matériel.
Une installation de Kali Linux sur une machine virtuelle VirtualBox est conseillée 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 :
7
Au premier démarrage, puis avant chaque test d’intrusion, je conseille de réaliser les petites
manipulations suivantes :
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.
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.
IV- Préparer un pentest
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.
9
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.
- 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. Un tuto sur l’outil LOIC pour
mener une attaque par déni de service peut être consulté à ce lien : http://tuto-
informatique.seb30.overblog.com/2014/11/les-attaques-dos-loic.html
L’attaque Web
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 :
L’utilisation de faille connue
L'utilisation de la technique de l'homme du milieu
Forger des paquets HTTP
L'intégration de paramètres
Le cross-site scripting ou XSS
Voyons cela dans le détail dans le tableau suivant :
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 vont
paquets HTTP 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 de Ici, nous pouvons ajouter ou modifier des paramètres dans les chemins
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.
11
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.
Les outils à votre disposition pour tester votre réseau sans fil sont les suivants :
InSSIDer sur Windows Ce sont des applications qui permettent de scanner les
réseaux WiFi à proximité.
LinSSID sur Linux,
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.
L’ingénierie sociale
Les attaques par ingénierie sociale font appel à la faille humaine. Cette pratique vise à
obtenir par manipulation mentale une information confidentielle. Le pirate utilise
la crédulité d'un utilisateur afin d’obtenir des informations sensibles comme son nom
d'utilisateur ou son mot de passe.
Par exemple, toutes les fois où vous recevez un e-mail 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 e-mail. 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
Honeypots
Les honeypots, aussi appelés pots de miel en français, sont des systèmes que vous pouvez
installer en entrée d'un réseau. Ils ont pour but de simuler des machines d'un réseau
informatique qui ne sont en fait qu’un leurre. Le but est de détourner le pirate pour qu'il passe du
temps à essayer d'attaquer ces machines plutôt que de s'attaquer au réseau réel de l'entreprise.
Deux exemples :
Vous pourrez alors créer un compte et vous entraîner sur les challenges de hacking
proposés.
15