Introduction Au Pentesting
Introduction Au Pentesting
Introduction Au Pentesting
au Pentesting
Vlad’ & Jp
Le Campus du Libre 2021
Introduction Penetration test / Pentest / Test d’intrusion
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)
3
Certifications
- OSCP (Offensive Security Certified Professional)
- eLearnSecurity Penetration Tester eXtreme (PTX) Certification
- Certified Ethical Hacker (CEH)
- CompTIA Pentest+
- eJPT
- ...
4
5
Trois types d’analyse
● Blackbox : Le testeur se met
dans la peau de l’attaquant et ne
possède a priori aucune information.
6
Types de
Pentesting
● Réseau
○ Interne
○ Externe
● Web
● Réseaux sans fil (WiFi)
● Social-engineering (ingénierie sociale)
● Physique (red team)
7
Les tests « Red 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).
9
Principes fondamentaux
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
10
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.
11
Quelques outils
Nmap, Metasploit, Burp Suite, OWASP ZAP, Searchsploit, Wireshark, Nikto, Mimikatz,
Netcat, pwncat, SET,...
12
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.
13
Metasploit
● 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
14
Metasploit : MSFconsole
● MSFconsole fournit une interface
pratique tout-en-un pour toutes les
options et tous les réglages
disponibles.
15
Metasploit
16
SET (Social-Engineer Toolkit)
La boîte à outils open source pour l’ingénierie social.
Fait parti intégrante de l’arsenal du pentester.
17
https://github.com/trustedsec/social-engineer-toolkit
SET
Exemple : Credential harvester
18
NMap - Super Port Scanner
Nmap (Network Mapper) est un scanner de
réseau gratuit et open-source
19
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)
20
La fondation OWASP
● Le projet Open Web Application
Security (OWASP) est une fondation à
but non lucratif qui vise à améliorer
la sécurité des logiciels
● Comprend
○ ~180 projets open source
○ Des dizaines de milliers de membres
○ Des multiples conférences éducatives https://
owasp.org/
○ Réunions locales dans + 200 villes
21
OWASP ZAP
22
OWASP Top Ten
Top 10 des risques de sécurité les plus critiques pour les
applications Web
● document de sensibilisation pour les développeurs
23
OWASP Top Ten
24
Outils outils trop d’outils !
- Thomas DeVoss (dawgyg) est un hacker qui a
gagné un million de dollars avec un bug
bounty en 2019
- Utilise très peu d’outils
- Les scripts bash pour automatiser les tâches
- Quelques outils de découverte des assets et des
paramètres
- Une partie de Burp Suite
25
Exemple d’un pentest
- Découvrir les hôtes et/ou rechercher des données de l'entreprise
- Si nous sommes déjà dans le réseau - écouter le trafic
- Analyse de port - Découverte des services
- Recherche d'exploits dans les services
- Exploitation des services
- Obtenir un Shell
- Trouver de l’information intéressante
- Exfiltrer des données
- Escalation des privilèges (Local ou Domaine)
- Post (Looting, persistence, pivoting)
26
Demo: Pentest d’une application web
- Exploitation de la vulnérabilité numéro 1 OWASP TOP TEN 2021
- Ruptures de contrôles d'accès (Broken access control)
- Outils et environnement
- Système d’exploitation: Kali Linux
- Application vulnerable: Juice Shop
- Outil utilisé: Burp Suite
27
For fun and profits...
● root-me.org, hackthebox.eu, vulnhub.com, ...
● Portswigger Academy - https://portswigger.net/web-security
● Bug bounty (yeswehack.com, hackerone.com,
openbugbounty.org,...)
28
Conclusion
● Les tests d’intrusion sont un moyen de simuler
les méthodes d’un pirate.
● On ne peut pas devenir un expert de la sécurité
informatique du jour au lendemain.
● Maîtriser quelques outils suffit
● Adoptez une méthodologie (ex: PTES)
● D’autres domaines à explorer : forensic
(analyse mémoire et disque),...
29
Ressources
- Livres
- Hacking - The Art of Exploitation (2008) - Jon Erickson
- The Hacker Playbook 2 (2015) et 3 (2018) - Peter Kim
- ...
- Liens
- https://book.hacktricks.xyz/
- https://www.hackingarticles.in/ctf-challenges-walkthrough/
- https://exploit-db.com/
- ...
- Vidéos
- https://www.youtube.com/c/TheCyberMentor
- https://www.youtube.com/c/LiveOverflow
- https://www.youtube.com/c/ippsec
- ...
- Autres
- Kali Linux, Parrot OS
- ...
30
32
33
34
35
36