Vous êtes sur la page 1sur 36

TEST D’INTRUSION

1
REDIGE PAR SIMPLICE DJANKOU
 Penetration test / Pentest / Test d’intrusion

Un test d’intrusion est une méthode d’évaluation de la sécurité d’un système ou d’un réseau
informatique.
● Simulation d’un utilisateur (ou logiciel) malveillant.
● Le testeur adopte la position d’un attaquant potentiel.
● Le testeur analyse les risques potentiels du a :
○ Une mauvaise configuration d’un système
○ Un défaut de programmation Objectif : Trouver des vulnérabilités exploitables en vue de proposer
un plan d’actions permettant d’améliorer la sécurité d’un système.

2
Compétences requises
Nombreuses et étendues
Curieux
Créatif, Astucieux et Méthodique
Aimer le challenge
Psychologue et éthique
Pratiquer, pratiquer, pratiquer (CTF, walkthrough)
Ce domaine est trop vaste pour être entièrement
maîtrisé...
(programmation, système (*nix/windows), réseau,
web client ou serveur, base de données, exploitation
binaire, cryptanalyse, stéganographie, forensic,...)

3
Trois types d’analyse

 Blackbox : Le testeur se met dans la peau de l’attaquant et


ne possède a priori aucune information.
 Greybox : Le testeur possède un nombre limité
d’informations (ex: un compte pour passer l’étape
d’authentification).
 Whitebox : Le testeur possède les informations dont il a
besoin (ex: schéma d’architecture, compte utilisateur, code
source, …).

4
Types de Pentesting

Réseau
○ Interne
○ Externe
Web
Réseaux sans fil (WiFi)
Social-engineering (ingénierie sociale)
Physique (Red team)

5
Les tests « Red Team/Blue Team »

Test d’intrusion :
● Sans limite de temps
(2 à 3 mois au lieu d’une ou deux semaines),
● Pas de périmètre précis défini par le
commanditaire (le nom de l’entreprise seulement).
En complément les testeurs peuvent user de techniques
alternatives
(ex: Social engineering, Intrusion physique,…)

6
L’approche Juridique

 Une intrusion dans un SI a pour conséquence deux ans


d'emprisonnement et de 30 000 euros d'amende (Code
pénal, art. 323-1)
 L’auditeur doit prouver contractuellement le consentement
de l’audité
 Labellisation des auditeurs possible auprès de l’ANSSI

7
Le périmètre

Le périmètre est une des phases la plus importantes des RE


Souvent négligé il assure de ne pas produire l’effet “Clients insatisfaits” ou
“illégal”

L’idéal est de décrire le coût temps/charge de travail dans le périmètre afin d’éviter
le surfacturation ou le dépassement de charges pour l’auditeur

8
 PTES (The Penetration Testing Execution Standard)
 OSSTMM (Open Source Security Testing Methodology Manual)
 OWASP Testing Guide ….

9
Méthodologie

10
Méthodologie

11
Méthodologie

12
Les différentes phases

1. Pré-engagement
2. Collecte de renseignements
3. Détermination de la menace
4. Analyse des vulnérabilités
5. L’exploitation
6. Post exploitation
7. Le rapport

13
Règles de pré-engagement

Un test d’intrusion n’est pas simplement un “hack” de l’entreprise mais plutôt


l’identification des “risques business” de l’organisation

L'intérêt des RE est l’adaptation suivant les besoins de l’entreprise Celui-ci


peut être complété avec des questions

14
Collecte de renseignements

La collecte permet d’obtenir des informations précises sur votre cible


sans révéler vos intentions. Elle exige une préparation minutieuse (pour
ne pas manquer des vecteurs d’attaque) et la faculté de penser tel un
attaquant.
Notez tout ! Soyez méthodique et précis.
1. Collecte d’informations passive : whois, nslookup, réseaux sociaux,
moteurs de recherche, GitHub, shodan.io, …
2. Collecte d’informations active : Scan de ports (nmap)
3. Scan ciblé : SMB, SQL, SSH, FTP, SNMP,…
15
Phase de cartographie et d’énumération

Cette phase a pour objectif d’inventorier et de cartographier de façon


précise l’ensemble des actifs du SI cible. Cette étape permet de se
concentrer sur les éléments jugés critiques et sensibles.
Nmap, Nessus ou OpenVAS : ces trois outils de scan, entre autres,
permettent la détection des ports ouverts puis l’identification des
services hébergés. C’est à partir de la connaissance des services
publiés et de leurs technologies que l’on pourra débuter la 3° phase. Ils
sont incontournables pour obtenir des informations sur le système
d’exploitation et ses services.

16
Phase de recherche de vulnérabilités :

L’analyse de vulnérabilités consiste à analyser les faiblesses des applications,


sites et systèmes en se fondant sur les données collectées.
Certains hackers procèdent de manière manuelle en élaborant des scripts,
tandis que d’autres font appel à des logiciels qui scannent les vulnérabilités de
manière automatisée.
CVEdetails.com est un site web qui référence la totalité des vulnérabilités
officielles recensées. CVE signifie Common Vulnerabilities and Exposures
(informations publiques relatives aux vulnérabilités de sécurité).
Pour la recherche de vulnérabilités sur des sites web, des outils comme Burp,
Zap, Nikto, Dirbuster peuvent être utilisés pour découvrir de premiers indices
d’un problème sous-jacent. L’auditeur devra ensuite rapidement passer sur des
analyses manuelles. On se concentrera notamment sur les 10 types de
vulnérabilités les plus fréquents (Top10 OWASP)
17
Exploitation

La phase d’exploitation correspond à la mise en application concrète du travail


effectué précédemment. Le pentester tentera une intrusion à travers chaque faille mise
en exergue afin d’asseoir son contrôle sur le système d’information de son client. Il peut
s’aider des outils suivants :
•Exploit-db.com est un site qui référence la grande majorité des exploits publics, c’est-
à-dire les éléments de programme qui permettent à un pirate ou à un logiciel malveillant
d’exploiter une faille de sécurité informatique dans un système donné.
•Searchsploit est un outil offline permettant de consulter la base d’informations
d’exploit-db sans connexion internet.
•Metasploit : est un outil qui facilite la pénétration dans les systèmes informatiques et
l’exécution des exploits permettant de s’introduire dans un système.
Il devra surtout prendre le temps d’adapter les exploits, ou les Proof of concept, à
l’infrastructure spécifique de son client.
18
Élévation de privilèges

La phase de post-exploitation permet au pentester d’obtenir des privilèges


supérieurs pour se substituer à l’administrateur du système et effectuer
un plus grand nombre de tâches (par exemple, l’accession à un répertoire
sensible ou à des dossiers)
Il n’existe pas d’outils spécifiques pour la réalisation de cette étape, qui
dépend avant tout du niveau de connaissances du prestataire et de son
savoir-faire. Chaque méthodologie peut varier en fonction du système
d’exploitation et des stratégies de sécurité déployées par le client.

19
Maintien d’accès

Pour le pentester, l’enjeu est désormais d’obtenir de nouveaux


privilèges et de maintenir ces derniers. Au cours de cette étape, il
doit agir avec une extrême prudence et effacer ses traces pour éviter
d’éveiller les soupçons des équipes techniques. L’implémentation
d’une backdoor (porte dérobée) est utile pour se reconnecter
facilement en mode administrateur sans être vu et créer des accès
aux membres de l’équipe de pentesting.
Cette étape n’a lieu d’être que dans le cadre d’opération de redteam
ou de purpleteam. Sur un modèle collaboratif il n’y aura pas de
modifications non nécessaires des machines cibles.
20
Propagation/déplacements latéraux

La propagation consiste à étendre la compromission d’un poste de


travail (infecté par un malware ou un logiciel espion, par exemple) aux autres
machines et serveurs du parc informatique. L’objectif est d’accéder aux données
sensibles de l’entreprise. Les outils les plus communément utilisés
sont Empire et Mimikatz. Empire Powershell est un framework de post-
exploitation qui permet d’obtenir le contrôle complet d’un ou plusieurs postes de
travail. Il facilite la propagation de la compromission et le maintien d’accès des
privilèges. Mimikatz est une application développée par Benjamin Delpy, qui
permet d’extraire des mots de passe et de nombreux secrets sous Windows.

21
CleanUp

L’audit se termine par le nettoyage des traces de


l’auditeurs sur le SI. Nous ne parlons pas ici des traces
dans les journaux de log comme le ferait un attaquant, mais
d’effacer les backdoor, webshell, compte à privilège que
l’auditeur aurait créé afin de réaliser son attaque.
L’objectif est de rendre le SI au client dans son état
d’origine.

22
Appréhender la criticité du reporting

Le reporting

Représente la pierre angulaire de votre Ce qui suit est une structure de rapport :
travail - Contrat pré-engagement
Reflète la qualité de votre prestation - Résumé sur la méthodologie
Sans un reporting bien fait… votre - Résumé technique
travail ne vaut « rien »
Nous allons découvrir comment
l’effectuer dans le prochain chapitre

23
Rédiger un rapport de Pentesting

Le pentesting et l’écriture d’un rapport est un art qu’il faut maîtriser à la


perfection. On doit expliquer clairement à chacun depuis l’équipe IT,
chargée de corriger les vulnérabilités jusqu'aux dirigeants de l’entreprise
en cause, ce que l’on a découvert en ne mentionnant pas d’acronyme
compréhensibles que par certains, mais en détaillant les données privées
que l’on a pu accéder ou modifier. Par exemple, il a été possible de lire
vos courriels résonne beaucoup plus aux oreilles de chacun que
n’importe quelle autre explication technique.

24
Le rapport global est un document (le plus souvent au format PDF non modifiable), rédigé en
anglais ou en français et mentionnant en filigrane le statut ‘Confidentiel’ puisque le rapport
contient des informations susceptibles de s’introduire dans le système informatique de
l’entreprise visée. De plus, un rapport cohérent doit inclure à la fois un sommaire exécutif
explicite, appelé rapport d’exécution, mais aussi un rapport technique détaillé. Le rapport
d’exécution doit contenir les rubriques suivantes :
•Background : description du but des tests et les définitions de tout terme non explicite à un
exploitant. Par exemple, définir les termes suivants : vulnérabilité et contre-mesure.
•Posture globale : vue d’ensemble de l’efficacité des tests, les solutions trouvées (par exemple,
l’exploitation de la vulnérabilité Microsoft MS08-056) et les cas généraux permettant
l’exploitation de vulnérabilités (cas du manque de mise à jour ou de patch).
•Profil du risque : classification générale de la posture sécuritaire de l’organisation en la
comparant à des sites similaires en les mesurant avec des indicateurs explicites du type ‘high’,
‘medium’, ‘low’. On peut introduire une description de la classification en question.

25
REMARQUE : il peut être intéressant de résumer le nombre de failles trouvées dans un
format tabulaire de synthèse, de trier par sévérité, priorité et difficulté de correction. Par
exemple, on pourrait classer les lignes du document de la façon suivante :

•Découvertes générales : un descriptif général de ce que l’on a découvert avec des


statistiques et des métriques sur l’efficacité des contre-mesures déployées.
•Recommandations sommaires : vue de haut niveau des tâches requises pour corriger les
problèmes découverts durant ces tests.
•Plan stratégique : fournit au client les objectifs court et long termes pour renforcer leur
sécurité.
26
De même, le rapport technique, doit quant à lui contenir au minimum, les
chapitres suivants :
•Introduction : avec l’inventaire des détails tels que le périmètre du pentest,
le(s) contact(s)…
•Récolte d’information : détails des informations récupérées durant la
phase information-gathering. Il peut être intéressant ici, de mentionner
l’empreinte Internet du client.
•Évaluation de vulnérabilités : détails des découvertes durant la phase
vulnerability-analysis du test.
•Vérification vulnérabilité/exploitation : détails des découvertes durant la
phase d’exploitation du test.
•Post exploitation : détails des découvertes de la phase post-exploitation
du test.
•Risques & dangers : une description détaillée des risques encourus. Cette
section doit mettre en lumière les pertes possibles en cas d’attaque avérée
par une personne malveillante.
•Conclusion : description globale des résultats du test. 27
Le rapport doit s’appuyer sur un audit de sécurité pouvant s’effectuer en plusieurs
phases, dont le test d’intrusion. Parmi les autres phases, on trouve généralement :
•la correspondance orale des membres du système d’information (noté SI), de la
direction (noté DSI) et du responsable Sécurité (noté RSSI) ainsi que des membres de
l’équipe technique.
•l’audit de configuration des services (ainsi que des serveurs, des composants réseau…)
•l’audit de code pour les applications utilisées, déployées ou développées en interne par
la firme.
Afin de réaliser ces différentes étapes, on doit s’appuyer sur des référentiels prévus
pour ce genre d’activité (audit sécurité) :
•ISO 27000 et ISO 27001
•Référentiel général de sécurité de l’ANSSI
•Le référentiel COBIT
•Normes type SOX
•Normes PCI-DSS
https://github.com/juliocesarfort/public-pentesting-
reports
28
IMPORTANT : s’il y a bien une chose à retenir c’est que le test
d’intrusion est une partie seulement de l’audit de sécurité qui est plus
complet. Et, il est possible de formaliser le PTES de la façon suivante :

29
Quelques outils

Nmap, Metasploit, Burp Suite, OWASP ZAP, Searchsploit, Wireshark, Nikto,


Mimikatz, Netcat, pwncat, SET,...

30
Metasploit
Le framework Metasploit (MSF) est très utilisé par les professionnels
de la sécurité de l’information.

● Gratuit, Open source + versions


commerciales.
● Fournit l’infrastructure nécessaire
pour automatiser les tâches
routinières ou complexe.

31
● Exploit : c’est le moyen par lequel le pentester profite d’un défaut dans
un système, une application ou un service. On l’utilise pour attaquer et
produire un résultat que les développeurs ou admin n’avaient pas
envisagé (injection sql, buffer overflow, …).
● Payload : code que l’on veut faire exécuter sur la cible (ex:
reverse_shell)
● Shellcode : suite d’instructions utilisées par un payload qui fournit
généralement un shell (ou meterpreter shell).
● Listener : composant qui attend une connexion entrante.
● Encodeurs
● Outils de reconnaissances
32
SET (Social-Engineer Toolkit)
 La boîte à outils open source pour l’ingénierie
social. Fait parti intégrante de l’arsenal du
pentester.
 Propose des attaques spécifiquement contre
l’élément humain.
 Permet entre autre de : générer des payloads,
infecter des fichiers ou une clé USB, répliquer
une page web d’authentification, préparer un
émulateur de clavier (Teensy), SMS spoofing,
Wireless DNS spoof, générer des QRcode,...
https://github.com/trustedsec/social-engineer-toolkit
33
NMap - Super Port Scanner
Nmap (Network Mapper) est un scanner de réseau
gratuit et open-source
● un des meilleurs outils d'exploration de réseau
● découvre des hôtes et des services en envoyant
des paquets et en analysant les réponses
● détection d’OS, détection des versions, évasion de
pare-feu...
● inclut un moteur de script puissant (NSE)

The Official Nmap Project Guide to Network


Discovery and Security Scanning
○ https://nmap.org/book/toc.html

34
Burp Suite

● outil dédié à l'audit des plateformes web


● permet d’accéder aux échanges entre le navigateur et
le serveur web
● est un proxy Web et un scanner de vulnérabilités Web

● n’est pas opensource

● nécessite une licence pour accéder à toutes les


fonctionnalités (350 euros/an)

35
Surface d'attaque

36

Vous aimerez peut-être aussi