Pen Test - Test d'intrusion
Le Pen Test :
Le test d'intrusion peut être employé pour différentes cibles :
- Une adresse IP
- Une application
- Un serveur Web
- Un réseau complet
Les objectifs d'un test d'intrusion sont :
- Identifier les vulnérabilités de son système d'information ou de son application
- Évaluer le degré de risque de chaque faille identifiée
- Proposer des correctifs de manière priorisée
Le test d'intrusion permet donc de qualifier :
-
La sévérité de la vulnérabilité
-
La complexité de la correction
-
L'ordre de priorité qu’il faut donner aux corrections
Quand faire un test d'intrusion :
-
Durant la conception du projet
- Pendant la phase d'utilisation du composant ou du réseau (à intervalle régulier)
- Suite à une cyberattaque
Deux type de test :
- Interne
- Test d'intrusion depuis le réseau local
- Externe
- Test d'intrusion depuis internet
Il existe trois types de test :
- Le test en boite noir
- Le testeur n'as aucune information sur le réseau au début du test, il ne connait pas non-plus de mots de passes ou d'identifiants. Il va donc rechercher des informations sur l'entreprise en général pour l'aider à trouver des vulnérabilités.
- Le test en boite 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.
- L'objectif de ce test c'est de se mettre dans la peau d'un utilisateur "normal" au sein de l'entreprise cible.
- Le test en boite blanche
- Le testeur dispose de nombreuses informations comme des schémas d'infrastructure, le code source de l'application. La recherche de faille est donc très approfondie et très compète.
Les systèmes d'exploitations pour le Pen Test :
- Linux
- Kali Linux (regroupe l'ensemble des outils nécessaires pour procéder au test de sécurité d'un système d'information)
- Nmap (détecte les ports ouverts)
- Wireshark (analyse les trames réseau)
- Metasploit (fourni des informations sur les vulnérabilités des systèmes d'information et qui les exploites)
- Burp suite (sécurisation ou test d'intrusion des applications web)
- Kali Linux (regroupe l'ensemble des outils nécessaires pour procéder au test de sécurité d'un système d'information)
- Windows
- De nombreux logiciels similaires à ceux évoqués ci-dessus sont disponible sur Windows.
- Android
- Des outils très performants sont disponibles sur Android
- zANTI
- FaceNiff
- AndroRAT
- cSploit
- Des outils très performants sont disponibles sur Android
Préparer le Pen Test :
Premièrement, il faut définir un périmètre de test :
- Un Serveur
- Une partie d'un réseau
- Une IP publique
- Plusieurs IP publiques
- L'ensemble du réseau Interne
Avant de faire quoi que ce soit, il faut s'assurer de contracter avec l'entreprise cible pour ne pas avoir de problèmes juridiques ! Le document se nomme "mandat d'autorisation de test de pénétration"
Différentes attaques :
- DOS
- DDOS
- WEB
- Utilisation de failles connues
- Technique de l'homme du milieu
- L'utilisation de la technique de l'homme du milieu ou man-in-the-middle attack. Cette attaque consiste à se positionner au milieu dans la communication entre un client et un serveur pour intercepter et modifier les paquets échangés entre les deux machines. Le logiciel « Burp suite » permet de le faire.
- Forge de paquets HTTP
- Cette technique consiste à écrire manuellement des requêtes HTTP, qui 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.
- Intégration de paramètres
- Ici, nous pouvons ajouter ou modifier des paramètres dans les chemins 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.
- Cross-site scripting ou XSS
- Le cross-site scripting ou XSS. C’est un type de faille de sécurité de sites Web permettant d'injecter du contenu dans une page, provoquant ainsi des actions sur les navigateurs Web visitant la page. Par exemple, sur un serveur vulnérable, dans une zone où les utilisateurs peuvent poster un commentaire, si l'on rajoute la suite de caractères <script>alert("This Website has been hacked")</script> au prochain affichage de la page, un script s’exécutera à la place d’afficher le commentaire.
- Injection SQL
- Outil sur Kali : BSQL
- Ingénierie Sociale
- Création de site clone via Kali : social engineering toolkit
Test des réseaux sans-fils :
- Scan : insider, wifi analyser, Lnissid.
- Injection de trafique : AiroDump, Rmon
- Écoute et enregistrement du trafique : WireShark
- Décryptage de clés : Cain&abel, Aircrack-ng
Équipements de protection :
- Pare-feu
- IDS
- IPS
- Honeypot = Simule des machines d'un réseau informatique (c'est un leurre)
- KFsensor
- Snort
Outils pour contourner ces protections :
- Nmap et Hping3 (gestion de fragmentation d'une attaque pour ne pas qu'elle soit identifiée)
- HTTP Host (côté serveur) et HTTP Port (côté client) = Établie un tunnel HTTP
- DNS2TCP = Établie un tunnel DNS
- Métasploit = Optenir et maintenir l'accès à distance sur une machine à l'intérieur d'un réseau cible
Partie Pratique :
Utiliser NMAP pour scanner un réseau :
nmap -sn 10.0.2.0 /24
Utiliser NESSUS pour scanner un réseau :
dpkg -i PAQUET.deb
Puis nous démarrons le service :
/etc/init.d/nessusd start
Définition du démarrage automatique :
update-rc.d nessusd enable
Puis on met à jour metasploit :
msfconsole
aptupdate;aptinstallmetasploit-framework
Puis, nous accédons au site https://kali:8834 :
On constate, après le scan, que le système n'a pas trouvé de vulnérabilités :
Si il y avait eu des vulnérabilités, on aurait été informés sur la façon de résoudre les problèmes de sécurité.
Utiliser The social engineering toolkit :
Pour lancer cette applications nous allons dans l'outils recherche, 13 - Social Enginering Tools.
En suite, nous devons accepter les termes du contrat :
Puis nous allons sélectionner l'option une :
Et puis, l'option 2 :
Puis, l'option 3 :
Et enfin l'option 2 :
Et puis on spécifie l'url à cloner :
Pour ne pas avoir de problème j'ai choisi un site qui m'appartient personnellement !
Résultat :
Utiliser MSFConsole pour accéder au Shell via une vulnérabilité :
service postgresql start
msfconsole
On recherche un exploit :
search distcc
On utilise l'exploit :
On va ensuite lister les payloads :
show payloads
On choisie un payload :
On affiche les paramètres :
Je définie l'adresse cible :
Dans cette exemple je me choisi moi-même !
Lancement de l'exploit :
exploit
Rapport de Pen Test :
Critères d'évaluations :
- Sévérité
- Standard CVSS
- Standard CVSS
- Complexité
- Facile
- Modérée
- Complexe
- Priorité
- Urgente
- Standard
- Basse
On peux chercher les détailles d'une faille via les numéros CVEC (numéro attribué à chaque faille rendue publique).
Le rapport du Pentest peut-être adressé au :
- DSI
- Responsable système et réseau
- Équipes d'informatiques
- Prestataires
Le rapport doit donc être rédigé de telle façon à ce qu'une personne ne possédant pas de capacité techniques poussée comprenne son contenu !
Structure :
- Format = PDF 10 pages
- Document confidentiel
- Rédigé en français ou en anglais
- Sommaire
- Contexte et périmètre
- Conditions du test internet / externe
- Méthodologie de test
- Axes d'évaluations
- Résultats
- Synthèses
Présenté le travail réalisé :
Il est préférable de faire une réunion avec le client pour revoir avec lui le rapport et les vulnérabilités trouvées. Il faut faire attention à la forme de la présentation. Il est important que le client comprenne vos travaux pour apporter une correction adéquate.
No Comments