Introduction Au Pentesting

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 35

Introduction

au Pentesting
Vlad’ & Jp
Le Campus du Libre 2021
Introduction 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
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.

● 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, …).

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).

En complément les testeurs peuvent user de techniques alternatives


(ex: Social engineering, Intrusion physique,…)

Watch hackers break into the US power grid (15’50’’) https://www.youtube.com/watch?v=pL9q2lOZ1Fw 8


La méthodologie
● PTES (Penetration Testers Executions Standard)
○ http://www.pentest-standard.org/index.php/Main_Page

● ISSAF (Information Systems Security Assessment Framework)


○ https://untrustednetwork.net/files/issaf0.2.1.pdf

● OWASP Testing Guide


○ https://owasp.org/www-project-web-security-testing-guide/assets/archive/
OWASP_Testing_Guide_v4.pdf

● WAHH Methodology (The Web Application Hacker’s Handbook)


○ https://gist.github.com/jhaddix/6b777fb004768b388fefadf9175982ab

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.

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,…

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.

● On peut y lancer un exploit,


charger un module auxiliaire, faire
une énumération, créer des
listeners ou lancer une exploitation
massive contre tout un réseau.

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.

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,...

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

● 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
● The Official Nmap Project Guide to Network
● détection d’OS, détection des versions,
Discovery and Security Scanning
évasion de pare-feu...
○ https://nmap.org/book/toc.html
● inclut un moteur de script puissant (NSE)

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

● une alternative open source et


gratuite à Burp Suite
● propose moins de fonctionnalités que
Burp Suite Pro
● https://www.zaproxy.org/

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

● premier pas vers la production de code plus sécurisé

● nouvelle édition de l'OWASP Top 10 est sortie en 2021


● Top 1 2021: Ruptures de contrôles d'accès (Broken access
control)
● https://owasp.org/www-project-top-ten/

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

- Le plus important est de comprendre


comment les choses fonctionnent

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,...)

● Mr Robot (Série TV)

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

Vous aimerez peut-être aussi