Vous êtes sur la page 1sur 148

Formation

Hacking & Sécurité


Acquérir les fondamentaux
Hacking et Sécurité 2020 (4/4) - Les Attaques AD et WEB

Hamza KONDAH
Une formation
Introduction

Le Hacking éthique
Démocratisation des techniques de
pentesting
Evolution de la demande du marché
Volatilité des vulnérabilités
La cybercriminalité qui s’organise !
Domaine vaste
Une formation
Plan de la formation
Présentation de la formation
1. Découvrir les techniques d’OSINT de reconnaissances
passive
2. Maitriser les techniques de reconnaissance active
3. Maitriser les attaques réseaux
4. Découvrir les attaques sur les systèmes
5. Découvrir les attaques physiques
6. Introduire les attaques AD
7. Découvrir les attaques Web
Une formation Conclusion et perspectives
Public concerné

Responsables DSI
Responsables sécurité du SI
Chefs de projets IT
Techniciens et administrateurs systèmes et
réseaux
Consultants en sécurité de l'information
Une formation
Connaissances requises

Bonnes connaissances en systèmes


d'exploitation et réseau
Bonnes connaissances en sécurité des
systèmes d'information
Optionnel : Connaitre le C, Python,
HTML et JS
Une formation
AVERTISSEMENT

Ni le formateur Ni Alphorm ne sont responsables de la


mauvaise utilisation du contenu de cette formation
L’utilisation des outils doit être réalisée uniquement au
sein d’un environnement virtuel ou avec une autorisation
préalable de l’entreprise
Mettre en place les
composants du LAB

Hamza KONDAH
Une formation
Architecture du LAB
Introduire le chapitre sur le
Pentest AD

Hamza KONDAH
Une formation
Introduction

Un chapitre introductif aux exploitations AD


Manipulation d’un exemple de Kill Chain
Formation introductive
Un des sujets des plus importants en 2020/2021
Zone très souvent sous estimés
Techniques d’exploitations et de persistances Quasi
illimité …

Une formation
AD = SPOF
Les attaques, c’est pas ce qui manque …

Une formation
Découvrir l’Active Directory

Hamza KONDAH
Une formation
Plan

Définition
Complexité
Que ciber ?
Source du problème ?

Une formation
Définition
Active Directory est un service
d’annuaire qui centralise la gestion
des utilisateurs, des ordinateurs et
d’autres objets au sein d’un réseau
Plateforme de gestion d’identité
95% des entreprises du fortune
1000 utilisent Active Directory
Une formation
Définition
L’authentification des utilisateurs
se fait via des tickets kerberos
Les machines « non-windows »
peuvent aussi s’authentifier à l’AD
- RADIUS
- LDAP

Une formation
Compléxité …
Que cibler ?
Que cibler ?
L’AD peut être exploité sans utiliser d’exploits
patchable
À la place, on abuse de fonctionnalités, confiance,
composants et bien plus…
Source du problème ?
Découvrir la killchain dans un
environement AD

Hamza KONDAH
Une formation
Kill Chain
Kill Chain
Prise de contrôle initiale :
Exploiter le LLMNR-NBTS
Poisoning

Hamza KONDAH
Une formation
Plan

Définition
Quand est il utilisé ?
Lab : LLMNR poisoning
Contremesures

Une formation
Définition
LLMNR :Link-local Multicast Name
Resolution
Protocole utilisé pour identifier les
hôte quand le service DNS est en
échec
Utilisse le username le hash NTKLv2
de l’utilisateur
Une formation
Quand est il utilisé ?

• Erreur de frape
• Erreur de configuration
• Protocole WPAD
• Google Chrome

Une formation
Lab : LLMNR poisoning

Une formation
Contremesures

Désactiver LLMNR et NBT-NS


Mots de passes utilisateurs forts (> 16
caractères) et complexe
Changer régulièrement de mot de passe
Filtrage de traffic
SMB Signing
Supervision
Une formation
Prise de contrôle initiale
Exploiter le SMB Relay

Hamza KONDAH
Une formation
Plan

Introduction
Conditions requises
Représentation
Lab : SMB Relay
Contremesures
Une formation
Introduction

Technique souvent utilisé afin de


pouvoir gagner un accès shell aux
machines
À la place de récupérer des hashes avec
Responder, on va pouvoir les relayer et
essayer de s’authentifier auprès des
machines (gain d’accès)
Une formation
Représentation

https://beta.hackndo.com/ntlm-relay/
Conditions requises

SMB Signing désactivé


L’utilisateur dont les identifiants sont
relayés doit être administrateur au
niveau de la machine

Une formation
Lab : SMB Relay

Une formation
Contremesures

Activation de l’SMB Signing à tout les


niveaux
Désactivation de l’authentification
NTML dans le réseau
Restriction administrateurs locaux
Gestion des privilèges

Une formation
Prise de contrôle initiale :
Exploiter PSEXEC pour avoir
un shell

Hamza KONDAH
Une formation
Plan

PSEXEC
Pass The Hash
Lab : Exploiter PSEXEC

Une formation
PSEXEC

« PsExec est un remplaçant léger de Telnet


qui vous permet d'exécuter des processus sur
d'autres systèmes, avec une interactivité
complète pour les applications de console,
sans avoir à installer manuellement le
logiciel client. »
https://docs.microsoft.com/en-
Une formation
us/sysinternals/downloads/psexec
Pass The Hash

Une technique qui permet à l'utilisateur de


s'authentifier en utilisant un nom
d'utilisateur valide et le hachage, au lieu du
mot de passe non haché.
Attaque extrêmement efficace, simple et
facile à mettre en œuvre.

Une formation
Lab : Exploiter PSEXEC

Une formation
Effectuer de la reconnaissance :
Exploiter Powerview pour de
la reconnaissance

Hamza KONDAH
Une formation
Plan

Introduction
Objectifs
Powerview
Lab : Powerview

Une formation
Introduction
La reconnaissance dans les environnements AD
est une phase extrêmement importante
Dance cet approche, c’est une reconnaissance
interne du contexte entreprise
Autrement dit : Reconnaissance LDAP
Peut être native ou automatisé via des outils

Une formation
Objectifs
Utilisateurs
Groupes
Relations
Session
Politique de sécurité/GPO
Paramètres
OS
Une formation
….
Powerview

PowerView est un outil PowerShell de


reconnaissance AD
Plusieurs taches automatisées
Utilise principalements des Hoooks
Powershell AD et fonctions d’API Win32

Une formation
Lab : Powerview

Une formation
Effectuer de la reconnaissance :
Exploiter Bloodhound pour
de la reconnaissance

Hamza KONDAH
Une formation
Plan

Introduction
BloodHound
Méthodologie d’analyse
Lab : Bloodhound

Une formation
Introduction
BloodHound utilise la théorie des graphes pour
l’identification des chemins d’attaques (Chemin
le plus court  Administrateurs de domaines).
BloodHound utilise une approche assez simple
pour la collecte de données avec les ingestors
Interface GUI
Il existe un ensemble de requêtes Built-in pour les
actions les plus fréquentes
Une formation
Source Groupe Cible

MemberOf
Source Cible

AdminTo
Source Cible

HasSession
AdminTo

Antoine Server1

MemberOf

Eric Domain Admins


Lab : Bloodhound

Une formation
Apprendre les techniques post
exploitation :
Apprendre à effectuer du
password spraying

Hamza KONDAH
Une formation
Password Spraying

Attaques de bruteforcing
Pass The Password
1. Utiliser des tactiques de recherche en ligne et d'ingénierie sociale pour
identifier les organisations cibles et les comptes d'utilisateurs
2. Utilisation de mots de passe faciles à deviner (par exemple,
"Password123") pour exécuter l'attaque
3. Exploiter les comptes compromis pour obtenir des listes plus complètes
4. Attaques latérales au sein du réseau compromis et exfiltrez les données
Apprendre les techniques post
exploitation :
Apprendre à dumper les
secrets avec secretsdump

Hamza KONDAH
Une formation
Apprendre les techniques post
exploitation :
Exploiter l'attaque
Kerberoasting

Hamza KONDAH
Une formation
Plan

Rappel
Kerberoasting
Etapes d’attaques
LAB : Kerberoasting

Une formation
Rappel
Kerberos représente un protocole qui
permet à des utilisateurs (clients) de
s’authentifier sur un réseau, et d’accéder à
des services (authentifiée) .
Centralisation d’authentification
Centralisation d’authentification
Protocole basé sur les tickets

Une formation
Rappel

Client

KDC
Service

Une formation
Processus d’authentification

Client
Kerberoasting

SPN
SPN
Kerberoasting

ServiceClass Host Port ServiceName

LDAP WIN-RT9EO2D1C/alphorm.lab 443


Kerberoasting

Étape 2 : Demande de
Etape 0 : Accédez au ticket TGS pour le SPN
Étape 1 : Découvrez ou
système client du réseau découvert à l'aide de
scannez le SPN enregistré.
de domaine. Mimikatz/Rebeus/Invoke-
Kerberos…

Étape 3 : Dumper le ticket Étape 4: Convertissez le


Étape 5 : Utilisez un
TGS qui peut avoir fichier .kirbi ou
dictionnaire pour l'attaque
l'extension .kirbi ou ou un ccache/hash dans un
par force brute.
hash ou ccache format crackable
LAB : Kerberoasting

Une formation
Apprendre les techniques post
exploitation :
Exploiter la vulnérabilité
ZeroLogon

Hamza KONDAH
Une formation
Introduction

La vulnérabilité existe en raison d'un défaut


dans un système d'authentification
cryptographique utilisé par le Netlogon
Mise à jour des mots de passe de l'
ordinateur.
Cette faille permet à l'attaquant d'usurper
l'identité du contrôleur de domaine
Dump et accès complet 
Une formation
Découvrir les techniques de persistances :
Découvrir les Golden et Silver
ticket

Hamza KONDAH
Une formation
Plan

Introduction
Golden Ticket : Procedure
Lab : Golden Ticket

Une formation
Introduction

Outils utilisé afin de pouvoir dumper les identifiants,


tickets kerberos et autres informations sensible de la
mémoire
Credential dumping, pass the hash, over pass the
hash, pass the ticket, golden ticket…
Créer par benjami

Une formation
Introduction

Attaque découverte par Benjamin Delpy


(@gentilkiwi)
Permet de fournir un accès complet au domaine
cible
Ce qui implique l’accès aux :
• Machines (Incluant le DC)
• Dossiers
• Fichiers
Un Golden ticket peut perdurer pendant des années
Une formation
Source : Présentation de Benjamin dellpy - mimikatz:présentationetutilisationavancée
Golden Ticket : Procedure
3. Se connecter au DC et
1. Compromettre un obtenir via un dump le
ordinateur cible avec un hash du mot de passe du
malware compte Krbtgt

2. Compromettre un Il ne reste qu’à charger


utilisateur qui dispose le ticket Kerberos
des privilèges de
réplication ou d’accès
d’administrateurs à un
contrôleur de domaine.
Découvrir l’OWASP

Hamza KONDAH
Une formation
OWASP

Open Web Application Security Project


Communauté à but non lucratif travaillant
sur la sécurité des applications web
Plusieurs projets: Top 10, guides, outils
(ZAProxy, DependencyCheck…) et plus
encore …

Une formation
Top 10 OWASP
Injection SQL
Violation de gestion d’authentification
Violation de gestion d’authentification

Session hijacking
Attaques type Man In The Middle, ARP
Poisoning
<#Démo EtterCap#>

Une formation
Violation de gestion d’authentification
Violation de gestion d’authentification
Mots de passe non protégés en base de
données

Les mots de passe sont stockés en clair en BDD

Le mot de passe est envoyé par mail lors d’un


changement

Les mots de passe sont hashés en MD5, SHA-1…

Pas de salage sur les mots de passe


Violation de gestion d’authentification

Faiblesse dans la gestion des sessions

Pas de timeout de sessions

Les IDs de session sont envoyés à travers des


URLs

Les IDs de sessions sont faibles

Non rotation des IDs de session après


connexion

PAS DE HTTPS
Maitriser les outils de scanning
Web

Hamza KONDAH
Une formation
Lab : Scanning
Apprendre à exploiter des
mauvaises configurations de
sécurité

Hamza KONDAH
Une formation
Plan

Introduction
Exemples de mauvaises configuration
Lab : Exploitation MCS

Une formation
Mauvaises configurations de sécurité
Exemples
Fonctions inutiles ou activés
Logiciels non mis à jour !
dangereuses

OS Ports

Web/App
Services
Serveur

Librairies Pages

Modules,
Comptes
plug-in

Privilèges
Exemples

Mots de passe par défaut


Messages d’erreurs affichés
Configuration par défaut
Configuration non sécurisés
Une formation
Lab : Exploitation MCS

Une formation
Apprendre à exploiter de failles
Cross-Site Scripting (XSS)

Hamza KONDAH
Une formation
Plan

Introduction et définitions
Cross Site Scripting
Les types d’XSS
Les XSS avancées

Une formation
Cross-Site Scripting (XSS)

Type d’injection permettant de faire exécuter du


code sur le navigateur de la victime, par le biais
d’une page Web
Langage JavaScript, ActiveX, VBScript
Attaques possibles :

Voler des
Redirections Phishing Etc.
cookies
Une formation
Reflected XSS

Une formation
Stored XSS

Une formation
DOM XSS

Une formation
XSS avancée

GET /page?evilXSS HTTP/1.1



④ evilXSS

GET /page?cook=abcd123 HTTP/1.1



Cross-Site Scripting (XSS)

BeEF framework
BeEF est un framework permettant
d’exploiter des vulnérabilités XSS au
travers de navigateurs Web
Le nombre de possibilités est énorme

Une formation
Maitriser les attaques de type
CSRF

Hamza KONDAH
Une formation
Introduction

L’attaque par Cross-Site Request Forgery (CSRF)


consiste faire exécuter des actions à une victime à
son insu
Le principe est simple : l’attaquant forge une
page/requête malveillante, qui va forcer les
navigateurs des victimes qui la visitent d’effectuer
une requête (implicitement)
Cette requête correspond à l’action que l’on veut
faire exécuter à la victime

Une formation
Attaques CSRF
GET /page HTTP/1.1

④ evilForm


Attaques CSRF
GET /page HTTP/1.1


POST /page2 HTTP/1.1
csrf=


Introduction

Une formation
Apprendre à exploiter des
composants vulnérables

Hamza KONDAH
Une formation
Violation de contrôle d’accès
Violation de contrôle d’accès

Fonctionnalités restreintes accessibles par


l’utilisateur
Manque de contrôles au niveau des
authentifications
Les contrôles s’effectuent sur des données clients
La configuration par défaut n’interdit pas tous les
droits d’accès

Une formation
RFI
Violation de contrôle d’accès

Host-header attack
Les développeurs font confiance aux
Headers HTTP pour forger des liens,
importer des fichiers etc
Les headers HTTP peuvent être manipulés
par l’attaquant
L’attaquant peut modifier les requêtes pour
y insérer du code malveillant
Une formation
Violation de contrôle d’accès

User-Agent Spoofing
De la même manière, il est possible de modifier le
User-Agent pour y insérer ce que l’on veut à la place :

Une formation
SSRF (Server Side Request Forgery)

L’attaquant abuse des fonctionnalités d’un serveur pour


exécuter des attaques sur un autre serveur
Exposition de données sensibles
Exposition De Données Sensibles

Les données sont stockées en clair


Les données circulent en clair sur :
Le réseau interne
Le réseau externe
Internet
Des algorithmes faibles sont utilisés
Les clés de chiffrement sont faibles

Une formation
Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF)
L’attaquant redirige la victime sur un lien dans le but
d’effectuer une action précise
Cross-Site Request Forgery (CSRF)
Découvrir la désérialisation
non sécurisée

Hamza KONDAH
Une formation
Plan

Définition
Représentation
La désérialisation non sécurisé
Lab : Désérialisation non sécurisé

Une formation
Définition

La désérialisation non sécurisée représente une


vulnérabilité peu connue, mais extrêmement
efficace
Comprenons d'abord ce que signifie la sérialisation
et la désérialisation
La sérialisation est le processus de conversion de
structures de données complexes, telles que des
objets et leurs champs, en un format « plus plat »

Une formation
Définition

La désérialisation est le processus de restauration


de ce flux d'octets en une réplique entièrement
fonctionnelle de l'objet d'origine, dans l'état
exact où il a été sérialisé.

Une formation
La désérialisation non sécurisé
Cela permet potentiellement à un attaquant de
manipuler des objets sérialisés afin de transmettre
des données nuisibles dans le code de l'application.
Il est même possible de remplacer un objet sérialisé
par un objet d'une classe totalement différente..
Ce qui peut résulter :
• Elévation de privilèges
• RCE (Remote Code Execution)
• Dénis de service
• Injection d’informations falsifiés
Une formation
Lab : Désérialisation non sécurisé

Une formation
Exploiter l'exposition d'informations
sensibles

Hamza KONDAH
Une formation
L'exposition d'informations sensibles

L’exposition d’informations sensibles peut concerner :


• Des fichiers ou répertoires sensibles exposés
• Des serveurs non sécurisés exposés
• Transmission de données en clair (réseaux)
• Algorithmes cryptographiques faibles
• Voir partie – Reconnaissance Passive et Active

Une formation
Apprendre à exploiter les
injections SQL

Hamza KONDAH
Une formation
Plan

Les injections SQL


Impact des injections SQL
Lab : Les injections SQL

Une formation
Les Injections SQL

L'injection SQL est une vulnérabilité de sécurité Web


qui permet à un attaquant d'interférer avec les
requêtes qu'une application effectue sur sa base de
données.
Vulnérabilités la plus critique du Web
Exploite une erreur de validation des input
utilisateurs

Une formation
Les Injections SQL
Exemple

https://alphorm.com/formation?category=sécurité

Select * From formations


WHERE category = ‘sécurité’ and released = 1
Exemple

https://alphorm.com/formation?category=sécurité ‘--

Select * From formations


WHERE category = ‘sécurité’ ‘—’and released = 1

Une formation
Exemple

https://alphorm.com/formation?category=sécurité ‘
+OR+1=1--

Select * From formations


WHERE category = ‘sécurité’ OR 1=1

Une formation
Les Injections SQL
Impact des injections SQL

Accès non autorisé à la base de données,


partiellement ou complètement
Remote Code Execution
Mise en place d’une backdoor
Altération de données

Une formation
Lab : Les injections SQL

Une formation
Maitriser le Repporting

Hamza KONDAH
Une formation
Le Repporting
Le Repporting représente une base pyramidal de
votre travail de pentester
Un rapport structuré est un must-do
La rédaction d'un rapport de test d'intrusion est un
art
Le rapport sera également envoyé au
management et à l'équipe technique de
l'organisation cible.

Une formation
Conclusion

Hamza KONDAH
Une formation
AVERTISSEMENT

Ni le formateur Ni Alphorm ne sont responsables de la


mauvaise utilisation du contenu de cette formation
L’utilisation des outils doit être réalisée uniquement au
sein d’un environnement virtuel ou avec une autorisation
préalable de l’entreprise
Bilan

Découvrir les techniques d’OSINT de reconnaissances


passive
Maitriser les techniques de reconnaissance active
Maitriser les attaques réseaux
Découvrir les attaques sur les cliens
Découvrir les attaques web
Introduire les attaques AD
Découvrir les attaques physiques

Une formation
Prochainement
À vos claviers !
Prochainement

Vous aimerez peut-être aussi