Slides Intru m1
Slides Intru m1
Slides Intru m1
whoami /all
● Guillaume Schreiber
● Le client s’engage à :
● Le prestataire s’engage à :
○ Réaliser l’audit sur une date et un périmètre donné
● Critères fondamentaux :
○ Disponibilité
○ Intégrité
○ Confidentialité
○ Traçabilité ou preuve
○ Furtivité
○ Peu de risques pour l’attaquant
○ Facilite le travail d’exploitation qui suit
● Inconvénients :
EXERCICES
Retrouver le plus d’informations publiques possibles sur une entreprise de votre choix (20-25min.)
Tips : serveurs DNS, plages d’IP publiques, adresses mail, sous domaines, hébergeur, etc.
OSINT & Chill – Reconnaissance passive (situationnel)
○ Exhaustivité
○ Permet l’identification de failles
○ Permet de réduire la surface d’attaque
● Inconvénients :
EXERCICES
○ Crawling/spidering
○ Directory bruteforcing (heavy !)
OSINT & Chill – Reconnaissance active (exos)
EXERCICES
BURP suite
Intrusion web – Proxy HTTP – Mise en place (VM Kali)
● Use case :
CODE VULNÉRABLE
EXERCICES
Lire le fichier PHP source et comprendre où se situe la faille (le fichier s’appelle « low.php »)
● Use case :
CODE VULNÉRABLE
● 3 variantes principales :
EXERCICE
● Use case :
○ Fonctionnalité légitime
permettant de déposer
un fichier (ex: avatar de
profil)
○ Si pas suffisamment de
contrôle sur le fichier
déposé : fin du game
Intrusion web – File upload (pown)
EXERCICE
● Use case :
CODE VULNÉRABLE
EXERCICE
Exploiter la XSS pour faire apparaître une pop-up contenant le message « Hello World »
● Use case :
○ L’application utilise les données applicatives afin de requêter une
base de données
○ Si pas suffisamment de contrôle sur les données utilisées pour
créer la requête SQL : fin du game
Intrusion web – Injection SQL (SQLi)
● 5 types principaux :
○ Blind : en aveugle, utilisation de booléen pour extraire les données
○ Error : les données extraites sont retournées au sein de messages
d’erreurs
○ Union : les données extraites sont concaténées aux données
d’origine
● Exemple complexe :
INJECTION SQL
● Hein ? :
○ Si la 1ere lettre du mot de passe est un « a », alors on encode
5,000,000 de fois le message
○ La partie rouge restreint l’injection au user d’ID=1 (admin)
Intrusion web – Injection SQL (pown)
EXERCICE
Exploiter l’injection SQL afin de trouver quel système de gestion de base de données (DBMS) est
utilisé
● Use case :
○ Version de service vulnérable à une faille rendue publique
○ Mots de passe par défaut (admin:admin, guest:guest, etc.)
○ Fichiers sensibles accessibles à tous
○ Etc.
Intrusion système – Principe et exemples
○ Bases de données
○ Accès à distance
○ Partage de ressources
● Exemples d’attaques:
○ Mots de passe faibles ou triviaux sur les services
○ Bruteforcing d’authentification
○ FTP/RPC/SMB anonyme (misconfig)
● Elévation de privilèges :
○ Windows
○ Unix
○ MacOS
○ Android/iOS
Elévation de privilèges - Exemples
● Windows :
○ AlwaysInstallElevated
○ Unquoted Path
○ Executable hijacking
○ DLL hijacking
○ Taches planifiées
○ Services lancés as NT/SYSTEM
Elévation de privilèges - Exemples
● Unix :
○ sudoers
○ SUID/SGID
○ CRON jobs
○ PATH hijacking
○ Services lancés as root
Post exploitation - Exemples
● Windows & Unix & MacOS & Android & iOS & cloud & … :
○ Clés de chiffrements
Fondamentaux – Credential Mining (Windows)
● Ce que ça permet
○ Usurpation de comptes
○ Usurpation de session actives
○ Identifiants d’accès (applications pro/perso)
○ Rejeu de comptes
○ Cassage de condensat LM ou NT
○ Réutilisation du condensat tel quel (Pass-the-Hash)
Credential Mining - Secrets LSA
○ Objet usurpable
○ 1 jeton = 1 contexte local ou du domaine
○ Actions limitées selon le type du jeton
Credential Mining - Data Protection API
Objectifs :
● Guillaume Schreiber