Documente Academic
Documente Profesional
Documente Cultură
Nicolas Baudru
mél : nicolas.baudru@esil.univmed.fr
page web : nicolas.baudru.esil.perso.univmed.fr
1
Mise en garde
Ce cours a uniquement pour but de vous montrer les faiblesses des protocoles de
la suite TCP/IP, et de vous aider à vous prémunir des attaques utilisant ces
faiblesses.
L’utilisation des différentes attaques décrites dans ce cours peut être sanctionnée
jusqu’à trois ans de prison et soixante quinze mille euros d’amende.
2
Introduction
Sning
3
Introduction
+ tcpdump C’est un outil en ligne de commande pour écouter ce qui se passe sur
une interface réseau, disponible sur Linux, Mac, Windows, . . ..
Exemple : $ tcpdump
...
11 :21 :54.768942 IP 192.168.29.157.49580 > 192.168.29.1.domain
...
+ Wireshark (Ethereal), Cain & Abel versions graphiques aux capacités étendues
4
Introduction
Spoong
I port TCP/UDP
I nom de domaine DNS
I etc.
5
Introduction
+ Peut être provoquée par une seule machine ou simultanément par plusieurs
machines (Distributed DoS).
6
Introduction
7
Introduction
Détournement de ux
+ Ce type d’attaque peut être les prémisses d’une attaque du type Man in the
Middle.
8
Introduction
9
SYN Flooding
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
10
SYN Flooding
Fiche technique
+ Conséquences :
I DoS ;
I prépare à une autre attaque : le blind spoofing.
+ Se protéger :
I une bonne configuration des firewalls permet de détecter/limiter ce type
d’attaque. Par exemple, on peut limiter le nombre de connexions TCP par
seconde.
11
SYN Flooding
+ Couche au dessus de IP
+ Fournit un service orienté connexion entre la source et le destinataire : TCP
assure que tous les paquets émis arrivent dans l’ordre grâce à plusieurs
mécanismes
I les numéros de séquence (des paquets envoyés et reçus)
I les timers (pour l’établissement de la connexion, la retransmission, . . .)
I le three-way-handshake
+ Une connexion TCP est identifiée par < destAddr, destPort, srcAddr, srcPort >
+ Entête d’un paquet TCP
16-bit source port number 16-bit destination port number
32-bit sequence number
32-bit acknowledgment number
header length and flags 16-bit windows size
16-bit TCP checksum 16-bit urgent pointer
options
+ Remarque : Les flags peuvent être : URG, ACK, PSH, RST, SYN and FIN.
12
SYN Flooding
A B
+ Remarques importantes :
I les numéros de séquence initiaux x et y sont choisis “aléatoirement”.
I un timer est déclanché après l’envoi d’un SYN.
I si une réponse tarde trop à arriver (>75s), la connexion est abandonnée.
13
SYN Flooding
Attaquant B
SYN
ajouté à la liste d'écoute
pendant 75s
SYN + ACK
SYN
ajouté à la liste d'écoute
pendant 75s
SYN + ACK
SYN
ajouté à la liste d'écoute
pendant 75s
SYN + ACK
SYN
ajouté à la liste d'écoute
SYN + ACK pendant 75s
SYN
tentative de connexion ignorée
(liste d'écoute pleine)
14
UDP Flooding
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
15
UDP Flooding
Fiche technique
+ Principe : cette attaque exploite le mode non connecté du protocole UDP. Elle
consiste à générer une grande quantité de paquets UDP soit à destination d’une
machine soit entre deux machines (Ex : Chargen Denial of Service Attack).
+ Conséquences :
I DoS : congestion du réseau et saturation des ressources des deux hôtes
victimes ;
I congestion généralement plus importante qu’avec le TCP Flooding car
I UDP ne possède pas de mécanisme de contrôle de congestion ;
I les paquets UDP sont prioritaires sur les paquets TCP.
I la totalité de la bande passante peut être saturée : effondrement de la totalité
du réseau
+ Se protéger :
I Configurer les firewalls pour limiter le trafic UDP.
I Désactiver si possible certains services comme echo et chargen.
16
UDP Flooding
+ Faiblesse d’IP :
I Aucun champs n’est chiffré dans une entête IP
I Il n’y a pas de service d’authentification
+ Faiblesse d’UDP :
I Aucun champs n’est chiffré dans une entête UDP
I Il n’y a pas de service d’authentification
18
UDP Flooding
Firewall LAN
a
message envoyé
sur le socket <IP1, echo> a
à parir du socket spoofé
<IP2, chargen> ab
ab
abc
abc
abcd
abcd
19
Attaque par fragmentation
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
20
Attaque par fragmentation
Fiche technique
+ Principe : Les dénis de service de type Packet Fragment utilisent des faiblesses
dans l’implémentation de certaines piles TCP/IP au niveau de la défragmentation
IP (réassemblage des fragments IP). Une des attaques les plus connues utilisant ce
principe est Teardrop.
21
Attaque par fragmentation
paquet IP
17C9 (1500octets)
R1 R2
Identification MF offset
Fragment 1 17C9 1 0
entêtes des différents fragments :
Fragment 2 17C9 1 69
Fragment 3 17C9 0 138
22
Attaque par fragmentation
Teardrop Attaque
23
Attaque par ICMP
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
24
Attaque par ICMP
Fiche technique
+ Conséquences :
I denis de service (dans le cas de smurfing par exemple).
I interception de paquets.
+ Se protéger :
I configurer les firewalls pour limiter le trafic ICMP par seconde ;
I configurer les firewalls pour bloquer les ping ;
I interdire le broadcast.
25
Attaque par ICMP
Rappels de ICMP
26
Attaque par ICMP
smurng
envoi d'un
message ICMP de type
echo request Attaquant
1 à tous les PC avec une
comme adresse source
celle de la machine cible
(ici IP1) IP1
Firewall
27
Attaque par ICMP
28
ARP Poisoning
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
29
ARP Poisoning
Fiche technique
I le broadcast
+ Conséquences :
I DoS ;
I peut être utilisée pour des attaques plus évoluées du type man in the middle.
+ Se protéger :
I saisir manuellement les tables ARP (peu réaliste) ;
Obtenir un DoS
<Y,B>
l'attaquant envoie à Y un
Firewall paquet ARP reply
contenant la paire
<X,D>
<X,A> Attaquant
<Z,C>
<Y,B>
1
l'attaquant envoie à Y un
W
Firewall paquet ARP reply
<F,E> contenant la paire
<F,D>
<X,A> Attaquant
<Z,D>
Y croit communiquer
avec W, mais ses messages
<Y,B> sont interceptés par Z
2
W Firewall
<F,E> Z intercepte les messages
de Y puis les renvoie à W
<X,A> Attaquant de manière invisible
<Z,D>
33
DNS Spoofing
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
34
DNS Spoofing
Fiche technique
+ Conséquences :
I DoS ;
I sniffing dans le cas d’une redirection vers un site pirate : risques de vols de
session, de cookies, d’informations personnelles
+ Se protéger :
I rendre les numéros d’identification des requêtes difficilement prédictibles ;
I configurer le serveur DNS pour qu’il ne résolve directement que les noms des
machines du domaine sur lequel il a autorité (i.e. limiter le cache) ;
I ne pas baser de systèmes d’authentification sur le nom de domaine ;
I utiliser DNSsec.
35
DNS Spoofing
+ Quelques précisions :
I les requêtes et les réponses sont appairées grâce à un numéro d’identification.
I tous les serveurs DNS ayant participé à la recherche mettent à jour leur cache
36
DNS Spoofing
37
DNS Spoofing
38
Blind spoofing
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
39
Blind spoofing
Fiche technique
+ Conséquence :
I Établissement d’une liaison clandestine entre l’attaquant et l’hôte cible.
+ Se protéger :
I prévenir ce type d’attaque en testant s’il est facile de deviner le numéro de
séquence TCP (par exemple en utilisant nmap) ;
I supprimer les services se basant uniquement sur une identification IP (ex :
rlogin) et utiliser à la place des tunnels (ex : ssh) ;
I configurer les routeurs pour supprimer les messages contenant des options de
routage : désactiver l’option source IP routing sur les firewall.
40
Blind spoofing
+ Entête IP
version IHL service total length
identification flags fragmentation offset
time to live protocol header checksum
32-bit source address
32-bit destination address
options padding
+ Précisons un peu :
I l’option “based routing” permet de spécifier la route que doit suivre le paquet
I l’option “record route” permet d’enregistrer la route qu’a suivi le paquet
+ Usurpation de l’adresse IP :
I cette technique consiste à contrefaire l’adresse source d’un paquet IP.
I les communications ne peuvent avoir lieu que de l’attaquant vers l’attaqué.
(sauf si le sniffing est possible, l’option source routing est active, ou les tables
de routage ont été modifiées).
41
Blind spoofing
LAN
Firewall
A C
demande de
connexion TCP SYN, nseq=x, nACK=0
en utilisant
l'IP spoofé B
B
demande
bien reçue.
SYN, ACK, nseq=y, nACK=x+1
Attend
confirmation
B fait savoir à
C qu'il n'a rien RST
demandé C ferme la
connexion TCP
42
Blind spoofing
Blind spoong
LAN
Firewall
A C
demande de
connexion TCP SYN, nseq=x, nACK=0
en utilisant
l'IP spoofé B
SYN B
SYN + ACK
demande
A attaque SYN bien reçue.
B par SYN, ACK, nseq=y, nACK=x+1 Attend
SYN flooding
SYN + ACK
SYN X message
confirmation
43
Blind spoofing
44
TCP Hijacking
Plan
1 SYN Flooding
2 UDP Flooding
5 ARP Poisoning
6 DNS Spoofing
7 Blind spoofing
8 TCP Hijacking
45
TCP Hijacking
Fiche technique
+ Conséquences :
I attaque du type man in the middle ;
I Cette attaque fonctionne même dans le cas d’une authentification sécurisée.
+ Se protéger :
I empêcher ou limiter le sniffing ;
I vérifier la présence de la signature de l’attaque.
46
TCP Hijacking
+ Qu’est-ce ? Quand le numéro de séquence d’un paquet reçu n’est pas le même
que celui attendu, la connexion est dite désynchronisée. Dans ce cas la couche
TCP du destinataire peut :
I stocker ce paquet dans son buffer ;
I l’ignorer et signaler une erreur à l’émetteur (envoi d’un ACK avec le numéro
de séquence attendu) ;
I l’ignorer complètement.
+ Remarque : Si les deux hôtes sont désynchronisés et s’ils signalent l’erreur par
des ACKs, alors un très grand nombre de ACKs va avoir lieu dans le réseau. Cela
constitue souvent la signature d’une attaque par TCP Hijacking
47
TCP Hijacking
A attaquant B