Vous êtes sur la page 1sur 65

Audit et test d’intrusion

Attaques Infrastructure et Architecture

Intervenant : Guillaume Lopes / lopes.guillaume@free.fr


25 Octobre 2013
Sommaire

 Objectifs
 Rappels
 Insertion sur le réseau
 Déni de service
 Techniques d’écoute
 Man in the Middle
Objectifs

• Fournir des notions sur une infrastructure réseau classique

• Appréhender les faiblesses d’une infrastructure

• Savoir s’en protéger


Sommaire

 Objectifs
 Rappels
 Insertion sur le réseau
 Déni de service
 Techniques d’écoute
 Man in the Middle
Rappels
• Qu’est ce qu’un réseau ?
– L’interconnexion d’un ensemble de machines

• Comment faire communiquer cet ensemble de machines ?


– Le modèle OSI ou le modèle TCP / IP
Rappels
• Couche Physique
– Gère la transmission effective des signaux (envoi bit à bit)
• Couche Liaison
– Gère la communication entre les machines d’un même réseau
physique
• Couche Réseau
– Gère l’adressage logique et le routage (IP)
• Couche Transport
– Gère le transport des données (TCP, UDP, …)
• Couche Session
– Gère la synchronisations des échanges
Rappels
• Couche Présentation
– Gère le codage des données applicatives

• Couche application
– Point d’accès aux services réseau (FTP, HTTP, SMTP, etc.)

• Les couches à retenir et dont nous parlerons dans la suite du


cours sont:
– Réseau
– Liaison
– Transport
– Application
Rappels

• Au niveau liaison, chaque équipement d’un réseau possède


une adresse MAC (Media Access Control)
– Identifiant physique unique déterminé par la carte réseau

• Grâce à cette adresse, deux équipements du même réseau


peuvent communiquer entre eux
Rappels

• Afin de communiquer sur différents réseaux chaque ordinateur


possède une adresse IP

• Une adresse IP est composé de 4 octets


– Chaque octet peut aller de 0 à 255

– En théorie 4 294 967 295 adresses IP disponibles

• Notation de l’adresse IP
– « Quadruplets pointés » : 192.168.0.1

– Binaire : 11000000 1010100000000000 00000001

– Décimale : 3 232 235 521


Rappels

• Les adresses IP sont réparties en 3 types de réseaux « publics »


– Classe A : seul le premier octet est utilisé

– Classe B : les deux premiers octets

– Classe C : les 3 premiers octets

• 3 classes de réseaux privés (RFC 1918)


– Classe A : 10.0.0.0

– Classe B : de 172.16.0.0 à 172.31.0.0

– Classe C : de 192.168.0.0 à 192.168.255.0


Rappels

• Exemple de réseau :
– Adresse de réseau : 192.168.0.0

– Masque de sous réseau : 255.255.255.0

– Adresse de broadcast : 192.168.0.255

 254 machines possibles (256 – adresse de réseau et de broadcast)

• Le masque de sous-réseau permet de découper une plage


d’adresse
– 192.168.0.0/255.255.255.0

– 192.168.0.0/24
Rappels

• Comment s’adresser à un service particulier sur une machine ?


– Le système d’exploitation d’une machine gère des ports ( 65535)

– Une convention existe pour chaque port


• http://www.iana.org/assignments/port-numbers
Rappels
• Divers équipements réseau sont utilisés pour permettre
l’interconnexion des équipements
– Hub (ou concentrateur) : Envoie la donnée à tous les équipements
connectés (niveau 1 et 2 du modèle OSI)

– Switch (ou commutateur) : Envoie la donné à l’équipement concerné


(niveau 1, 2 et 3 du modèle OSI)

– Routeur : Assure un routage des paquets IP (niveau 3 du modèle OSI)

– Pare-feu : Permet de mettre en place une politique de contrôle d’accès


entre différents réseaux
Sommaire

 Objectifs
 Rappels
 Insertion sur le réseau
 Déni de service
 Techniques d’écoute
 Man in the Middle
Insertion sur le réseau
• L’exploitation de vulnérabilités sur une infrastructure nécessite
de s’insérer sur le réseau

• A l’heure actuelle, le contrôle d’accès au réseau n’est pas très


répandu
– Il suffit soit de se brancher directement sur une prise réseau
• Obtention d’une adresse IP via DHCP

– Soit de s’attribuer une adresse IP statique


• Ecoute des paquets transitant sur le réseau afin d’identifier l’adressage réseau

• Néanmoins certaines protections existent pour contrôler l’accès


Insertion sur le réseau
• Filtrage par adresse MAC
– Autoriser l’accès au réseau uniquement aux adresses MAC connues

– Système par liste blanche

– Mise en place simple lors du déploiement du réseau

• Avantage
– Une adresse MAC est censé être unique pour un équipement (carte
réseau)

• Problème
– L’adresse MAC d’un équipement peut être modifiée !
Insertion sur le réseau
• Exemple de contournement du filtrage par adresse MAC
1. Identification d’une adresse MAC autorisée à se connecter au réseau
• Via une écoute réseau par exemple

2. Modification de son adresse MAC


• Linux : macchanger / Windows : Etherchange

• Attention
– L’usurpation de l’adresse MAC nécessite que
• Soit le poste possédant l’adresse MAC usurpée soit inactif

• Soit que notre poste soit branché sur un autre port du switch
Insertion sur le réseau
• 802.1X est un protocole d’authentification au niveau réseau
– Valider le droit d’accès physique au réseau

– Utiliser sur du filaire ou du sans-fil (WPA2-Entreprise)

• Le concept est simple


– Si le client (poste) réussit à s’authentifier, le port du commutateur est
débloqué et autorise le trafic

– Si le client échoue à s’authentifier, le port du commutateur reste bloqué


Insertion sur le réseau
• Fonctionnement 802.1x
– Client (Supplicant) souhaite obtenir un accès au réseau
– Contrôleur d’accès (Authenticator) sert d’intermédiaire et permet au client
d’accéder au réseau
– Serveur d’authentification (Authentication Server) valide ou non l’accès
réseau au client (Radius ou LDAP)

• Protocoles
– EAP (Extensible Authentication Protocol) : Protocole Générique
d’authentification => RFC 3748
– EAP-TLS : Authentification mutuelle par certificats X.509
– EAP-TTLS : Authentification par certificat uniquement du serveur
– PEAP (Protected EAP) : Protocole similaire à EAP-TTLS mais utilisé par
Microsoft et Cisco
Insertion sur le réseau
Insertion sur le réseau
• Contournement
– Nécessite qu’un poste légitime se connecte
– Ensuite
• Utilisation d’un hub afin de profiter de l’ouverture du port pour plusieurs
postes (fonctionne rarement)
• Déconnexion du poste légitime et utilisation de son adresse MAC

• Attention
– En général, le commutateur est configuré pour conserver le port ouvert
pendant une certaine durée
– Par la suite, une nouvelle authentification est effectuée
Insertion sur le réseau

• Le contrôle d’accès au réseau est important


– Empêche un intrus physique ou un collaborateur disposant de son
propre matériel de s’insérer sur le réseau

 Mais le risque est souvent négligé

• L’utilisation de 802.1X assure une protection correcte mais doit


être correctement configuré (et peut coûter cher)
– Restreindre le nombre d’adresses MAC sur un port
Sommaire

 Objectifs
 Rappels
 Insertion sur le réseau
 Déni de service
 Techniques d’écoute
 Man in the Middle
Déni de service
• Plusieurs types de déni de service existent
– Rendre indisponible un réseau en saturant des équipements de routage
– Rendre indisponible un équipement ou un service précis

• Afin de réaliser un déni de service, il existe deux techniques


– Utilisation d’un équipement seul : DoS
– Utilisation de plusieurs équipements (un botnet par exemple) : DDoS

• L’objectif de cette attaque peut être multiple


– Perte de disponibilité d’un service (site Web, réseau d’entreprise, etc.)
– Masquer une attaque
Déni de service
• Comment rendre indisponible un réseau local ?

• Les équipements de routage sont une cible privilégiée


– Plus particulièrement les protocoles de routage

– Exemple : Spanning Tree Protocol (STP)

• Quelle est la problématique d’un protocole de routage


– Eviter la prolifération des paquets sur un réseau

• Pourquoi ?
– En pratique, les liaisons réseaux sont redondantes : Il y a des boucles !!!
Déni de service
• Tempête de broadcast
– Les trames de broadcast peuvent tourner à l’infini
• Pas de durée de vie !
Déni de service
• STP (Spanning Tree Procotol) : protocole de niveau 2 conçu pour
les commutateurs et les ponts
– S’assurer qu’il n’y pas de boucles dans un contexte de liaisons redondantes
Déni de service
• Fonctionnement
1. Au départ chaque commutateur se considère être Root

2. Election du commutateur Root (ayant l’identifiant le plus faible)

3. Les autres commutateurs calculent le plus court chemin au Root

4. Formation d’un arbre logique coupant toute boucle

5. Au bout d’un certain temps, l’algorithme se stabilise


Déni de service
• Idée de l’attaque
– Mettre les commutateurs en processus d’élection en leur envoyant des
messages indiquant un nouveau Root

– Durant la phase de calcul, les commutateurs n’arriveront plus à assurer leur


fonction

– Répéter ce processus indéfiniment afin que les commutateurs ne puissent


plus assurer leur fonction
Déni de service
• Plusieurs corrections existent
– Root guard : Empêche un commutateur non défini de devenir Root

– BPDU guard : Empêche un commutateur non défini d’envoyer des


messages

– Port Security : Limite le nombre d’adresses MAC pouvant être connus sur le
port d’un commutateur
Déni de service
• Le déni de service réalisé sur un système à pour but
– D’arrêter le fonctionnement de l’équipement ou d’occasionner un
redémarrage

– De saturer les ressources (RAM, processeur, etc.) afin que l’équipement


n’assure plus sa fonction

• Des attaques spécifiques existent afin de saturer facilement un


équipement
– Néanmoins, un envoi massif de paquets avec un botnet reste la solution
qui fonctionnera à tous les coups !
Déni de service
• Syn Flood
– Envoi massif de paquets TCP SYN afin d’allouer le
maximum de sessions TCP sur l’équipement

• Une connexion TCP s’effectue en 3 étapes


1. Le client envoie un paquet SYN au serveur

2. Le serveur accuse réception du paquet du client


avec un paquet SYN-ACK

3. Le client accuse réception du paquet du serveur


avec un paquet ACK
Déni de service
• Syn Flood (suite)
– Lorsque le serveur reçoit un paquet SYN, une session TCP est ouverte

– Cette session est fermée


• Lorsque le client ferme la connexion avec un paquet RST

• Lorsque le paquet ACK du client n’est pas reçu au bout d’un certain temps

• Par conséquent, une ressource est allouée durant ce temps


– L’objectif est d’allouer le maximum de ressources afin de saturer le
serveur
Déni de service
• Syn Flood (fin)

• Protection
– Utilisation de SYN cookies

– Limitation du nombre de connexions depuis la même source

– Libération des connexions semi-ouvertes sur un délai court et raisonnable


Déni de service
• Ping of Death (http://insecure.org/sploits/ping-o-death.html)
– Attaque historique (1996!)
– Envoi d’un ping d’une taille importante (65 535 octets)

• Les machines de l’époque ne savaient pas gérer un ping de cette


taille
– Windows 3.1, 95, etc.

• Solution
– Bloquer les pings (joke)
– Utiliser un système récent !
Déni de service
• Le déni de service applicatif s’effectue principalement sur le
protocole HTTP
– Basé sur le même principe que le DoS TCP

– Allocation de ressources HTTP en continue

• Exemple : Slowloris (http://ha.ckers.org/slowloris/)


– Garde une connexion active par l’envoi de requêtes HTTP partielles

– Blocage de toutes les ressources du serveur

– Attaque fonctionnelle avec un seul équipement


Déni de service
• Serveurs Web vulnérables
– Apache 1.x et 2.x

• Serveurs Web non vulnérables


– Microsoft IIS

• Protection
– Limiter le nombre de ressources HTTP par adresse IP

– Limiter le temps d’accès à une ressource

– Utiliser un reverse proxy non Apache


Sommaire

 Objectifs
 Rappels
 Insertion sur le réseau
 Déni de service
 Techniques d’écoute
 Man in the Middle
Techniques d’écoute
• Comment effectuer une écoute réseau efficace ?
– Dépend de la configuration du réseau

– Deux principales techniques


• Ecoute réseau passive

• Ecoute réseau active

• Pour rappel
– Un hub propage un paquet vers toutes les machines de son réseau

– Un commutateur envoie un paquet uniquement au destinataire


• Attention : Certains commutateurs peuvent se comporter comme un hub s’ils
sont trop sollicités
Techniques d’écoute
• Lors d’une écoute réseau (passive ou active), l’objectif est
– Récupérer des informations sensibles (mots de passe, nom utilisateurs,
fichiers, etc.)

• Les principaux protocoles propices à l’écoute réseau


– FTP

– HTTP

– Telnet

 Aucun chiffrement n’est effectué

 Toutes les informations transitent en clair


Techniques d’écoute
• Ecoute réseau passive
– Efficace contre un réseau disposant d’un hub

– Aucune interaction sur le réseau

– Nécessite de configurer la carte réseau du poste en mode « promiscuous »

 Utilisation de Wireshark ou tcpdump


Techniques d’écoute
• Exemple FTP

• Exemple Telnet
Techniques d’écoute
• Protections
– Empêcher l’utilisateur de passer sa carte réseau en mode monitor
(difficile en pratique)

– Utilisation de commutateurs à la place de hubs

– Utilisation de protocoles réseaux chiffrant la communication (SFTP,


SSH, etc.)
Techniques d’écoute
• Ecoute réseau active
– Attaque réalisable uniquement au sein de notre domaine de
broadcast

– Quasiment transparent pour l’utilisateur

– Capacité à récupérer tout le trafic d’un ou plusieurs utilisateurs

– Génère beaucoup de trafic et est facilement détectable

 Utilisation de Cain & Abel ou de Ettercap


Techniques d’écoute
• Exemple Cain et Abel

• Exemple Ettercap
Techniques d’écoute
• Protection
– Chiffrer les flux sensibles

– Restreindre l’accès au réseau aux seuls équipements connus (802.1X)

– Mise en place de différentes zones réseaux

– Filtrer les adresses MAC des équipements (peu efficace en pratique)


Sommaire

 Objectifs
 Rappels
 Insertion sur le réseau
 Déni de service
 Techniques d’écoute
 Man in the Middle
Man in the Middle
• Man in the Middle ou Homme du milieu
– Intercepter et rediriger les communications entre deux actifs
Man in the Middle
• Cette attaque est réalisable sur plusieurs protocoles réseaux
– DNS : Modifier la résolution DNS d’un nom de domaine

– DHCP : Simuler un serveur DHCP

– SSL : Présentation d’un faux certificat SSL au client

– ARP : Modification des tables ARP des victimes


Man in the Middle
• ICMP Redirect
– ICMP est un protocole de contrôle et de gestion des erreurs sur un
réseau
– Les paquets ICMP de type 5 (redirection) permettent d’indiquer
l’adresse du routeur le plus proche sur le réseau

• Concept
– Utiliser ce type de paquets pour se faire passer pour un routeur

• A l’heure actuelle, cette attaque ne fonctionne plus


– Les systèmes d’exploitation ne tiennent plus compte des paquets
ICMP de redirection
Man in the Middle
• DNS Poisoning
– DNS (Domain Name System) : permet d’établir une correspondance
entre une adresse IP et un nom de domaine

• Fonctionnement
1. Je souhaite accéder au site Google : Je demande à mon serveur DNS
quel est le numéro (l’adresse IP) de www.google.fr

2. Le serveur me répond en me fournissant l’adresse IP


209.85.227.105

3. J’utilise l’adresse IP pour accéder au site Google


Man in the Middle

• Objectif de l’attaque
– Modifier le cache DNS de la victime avec une fausse correspondance

• Cette attaque permet de rediriger le trafic entre la victime et


un site précis afin de
– Réaliser des attaques de phishing

– Propager des vers ou des virus

– Rendre inaccessible un site


Man in the Middle

• Paradoxe des anniversaires (en pratique difficile à réaliser)

• Concept
1. Alice veut résoudre www.google.fr : Elle envoie une requête DNS au
serveur DNS contenant un identifiant

2. Le pirate envoie une réponse en effectuant un bruteforce sur tous


les identifiants possibles

3. Alice va accepter cette réponse si l’identifiant est correct


Man in the Middle

• Contrôle du trafic de la victime

• Concept
1. Le pirate contrôle le trafic entre la victime et le serveur DNS (via un
ARP poisoning par exemple)

2. Lorsque la victime envoie une requête DNS, le pirate l’intercepte et


lui envoie une fausse réponse

3. La victime accepte la réponse et enregistre la réponse dans son


cache DNS
Man in the Middle
• Rogue DHCP
– Le protocole DHCP permet d’attribuer de manière dynamique une adresse
IP à équipement du réseau

• Fonctionnement
1. Lorsqu’un poste se connecte au réseau, une requête DHCP est envoyée
2. Le serveur DHCP envoie une réponse contenant notamment :
• L’adresse IP
• Le masque de sous-réseau
• La passerelle par défaut
• Les adresses IP des serveurs DNS
Man in the Middle
• Concept de l’attaque
1. L’attaquant simule un faux serveur DHCP
2. Lorsqu’un client se connecte sur le réseau et effectue une demande
DHCP
3. L’attaquant lui répond avant le vrai serveur DHCP
4. La réponse contient comme passerelle par défaut l’adresse IP du poste
de l’attaquant

• Objectif de l’attaque
– Contrôler le trafic de la victime dans le but de récupérer des informations
sensibles (mots de passe, identifiants, emails, etc.)
– Causer un déni de service en empêchant les victimes d’accéder au réseau
Man in the Middle
• ARP cache poisoning
– Attaque la plus efficace et utilisée sur un réseau local

• ARP qu’est ce que c’est ?


– Protocole effectuant la résolution d’une adresse IP en une adresse MAC
Man in the Middle
• Comment ça fonctionne ?
– Batman souhaite envoyer un ping à Robin

• Etapes
– Batman recherche l’adresse MAC associé à Robin
• arp who-has Robin tell Batman

– Robin répond avec son adresse MAC


• arp reply Robin is-at @MAC

– Batman envoie un paquet ICMP echo request


• Batman > Robin icmp echo request

– Robin répond au paquet ICMP echo request


• Robin > Batman icmp echo reply
Man in the Middle
• Comment rediriger le trafic vers sa machine ?

• Jouer avec le protocole ARP


– L’idée est de corrompre le cache ARP de nos cibles

• Exemple :
– Joker souhaite obtenir le trafic échangé entre Batman et Robin

– Joker envoie une requête ARP à Robin lui faisant croire qu’il est Batman

– Joker envoie une requête ARP à Batman lui faisant croire qu’il est Robin
Man in the Middle
• Attaque sur l’authentification de Terminal Service
– Terminal Service est un service de prise de main à distance d’un
équipement Windows
– Les flux entre le client et le serveur sont chiffrés
– Pas d’authentification du serveur par le client
– « La clé de chiffrement » est présente en dur dans une bibliothèque (DLL)
Windows

• Concept de l’attaque
– Man in the Middle entre le client (administrateur) et le serveur
– Utilisation de la clé pour déchiffrer les flux et récupérer le mot de passe
de l’administrateur
Man in the Middle
• Déroulement (http://www.oxid.it/downloads/rdp-gbu.pdf)
1. Empoisonnement du cache ARP du client et du serveur (ou passerelle
réseau)

 Utilisation de Cain&Abel ou Ettercap


Man in the Middle
2. Récupération du flux RDP enter le client et le serveur
Man in the Middle
3. Déchiffrement du flux et récupération des identifiants de l’administrateur
Man in the Middle
• L’attaque Man in the Middle
– Attaque efficace dans un réseau local

– Obtention d’informations sensibles (mots de passe)

– Difficilement détectable par l’utilisateur

– Génération d’un trafic important pour maintenir cet état

• Attention
– Un protocole utilisant du chiffrement n’est pas forcément invulnérable aux
attaques du type Man in the Middle
Questions ?

Vous aimerez peut-être aussi