ARP Attacks arp-sk en action
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>ARP</strong> <strong>Attacks</strong><br />
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong><br />
Frédéric Raynal <br />
Cédric Blancher <br />
—<br />
15 novembre 2002
Plan Introduction 1<br />
Introduction<br />
Prés<strong>en</strong>tation de <strong>ARP</strong> et attaques classiques<br />
<strong>arp</strong>-<strong>sk</strong><br />
Prés<strong>en</strong>tation de l’outil<br />
Corruption de cache <strong>ARP</strong><br />
Utilisation de <strong>arp</strong>-<strong>sk</strong> pour différ<strong>en</strong>tes attaques à partir de<br />
corruption de cache <strong>ARP</strong> <strong>en</strong> utilisant <strong>arp</strong>-<strong>sk</strong>.<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Introduction 2<br />
Introduction : le protocole <strong>ARP</strong> (1/2)<br />
0 7 15 23 31<br />
id<strong>en</strong>t. adresse physique<br />
id<strong>en</strong>t. adresse logique<br />
lg @ physique<br />
lg @ logique<br />
adresse physique ...<br />
code<br />
... de l’émetteur adresse logique ...<br />
... de l’émetteur adresse physique ...<br />
... du récepteur (inconnue)<br />
adresse logique du récepteur<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Introduction 3<br />
Introduction : le protocole <strong>ARP</strong> (2/2)<br />
➥ <strong>ARP</strong> (Address Resolution Protocol - RFC 826)<br />
lier adresses niveau 2 (Ethernet) et niveau 3 (IP)<br />
– cli<strong>en</strong>t <strong>en</strong>voie <strong>en</strong> broadcast niveau 2 une requête (who-has)<br />
– destinataire répond <strong>en</strong> unicast niveau 2 (reply)<br />
➥ Utilisation d’un cache<br />
➥ Aucun li<strong>en</strong> <strong>en</strong>tre information niveau 2 et niveau 3<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Introduction 4<br />
Attaques : MAC Spoofing<br />
spoofer l’adresse Ethernet source de la trame Ethernet<br />
¡<br />
vise le « cache » des switches (adresses niveau 2)<br />
¡<br />
➥ Avantage<br />
¢<br />
récupération et redirection de trafic<br />
➥ Inconvéni<strong>en</strong>ts<br />
la cible ne reçoit plus de paquet mais continue à <strong>en</strong> émettre<br />
¢<br />
conflits dans les « cache »<br />
¢<br />
¢<br />
pas discret du tout<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Introduction 5<br />
Attaques : <strong>ARP</strong> Spoofing<br />
who-has émis <strong>en</strong> broadcast<br />
£<br />
répondre au lieu du vrai destinataire avec de fausses données<br />
£<br />
➥ Avantages<br />
récupération et redirection de trafic<br />
¤<br />
pas besoin de s’occuper des switches<br />
¤<br />
➥ Inconvéni<strong>en</strong>t<br />
¤<br />
issue incertaine <strong>en</strong> fonction de qui répond <strong>en</strong> premier<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Introduction 6<br />
Attaques : <strong>ARP</strong> cache poisoning (1/2)<br />
créer/modifier les <strong>en</strong>trées du cache de la victime<br />
¥<br />
trafic émis par la cible directem<strong>en</strong>t vers l’attaquant<br />
¥<br />
➥ Créer une <strong>en</strong>trée<br />
messages who-has <strong>en</strong> unicast autorisés par la RFC<br />
¦<br />
<strong>en</strong>voie <strong>en</strong> unicast d’un who-has avec de fausses données<br />
¦<br />
➥ Modifier une <strong>en</strong>trée<br />
¦<br />
<strong>ARP</strong> spoofing : <strong>en</strong>voie d’un reply avec de fausses données<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Introduction 7<br />
Attaques : <strong>ARP</strong> cache poisoning (2/2)<br />
➥ Avantages<br />
récupération et redirection de trafic<br />
§<br />
rarem<strong>en</strong>t surveillé<br />
§<br />
➥ Inconvéni<strong>en</strong>t<br />
§<br />
très difficile à contrer<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Plan L’outil <strong>arp</strong>-<strong>sk</strong> 8<br />
Introduction<br />
Prés<strong>en</strong>tation de <strong>ARP</strong> et attaques classiques<br />
¨<br />
<strong>arp</strong>-<strong>sk</strong><br />
Prés<strong>en</strong>tation de l’outil<br />
¨<br />
Corruption de cache <strong>ARP</strong><br />
Utilisation de <strong>arp</strong>-<strong>sk</strong> pour différ<strong>en</strong>tes attaques à partir de<br />
¨<br />
corruption de cache <strong>ARP</strong> <strong>en</strong> utilisant <strong>arp</strong>-<strong>sk</strong>.<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
L’outil <strong>arp</strong>-<strong>sk</strong> 9<br />
Prés<strong>en</strong>tation de <strong>arp</strong>-<strong>sk</strong> (1/2)<br />
➥ Pourquoi un nouvel outil ?<br />
rassembler les fonctionnalités de plusieurs outils<br />
(<strong>arp</strong>spoof, macof, <strong>arp</strong>ing ...)<br />
©<br />
manipulation de tous les champs d’un paquet <strong>ARP</strong><br />
(niveau Ethernet et <strong>ARP</strong>)<br />
©<br />
ajout de nouvelles fonctionnalités<br />
(cartographie, détection du mode promiscuous, ...)<br />
©<br />
➥ Structure de <strong>arp</strong>-<strong>sk</strong> (à partir de la version 0.99.0)<br />
une bibliothèque cont<strong>en</strong>ant les fonctions de base<br />
©<br />
un binaire <strong>arp</strong>-<strong>sk</strong><br />
©<br />
des modules (bib. dynamiques) décrivant des « scénarii »<br />
(un module == une fonctionnalité)<br />
©<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
L’outil <strong>arp</strong>-<strong>sk</strong> 10<br />
Prés<strong>en</strong>tation de <strong>arp</strong>-<strong>sk</strong> (2/2)<br />
➥ Options de <strong>arp</strong>-<strong>sk</strong><br />
classiques : fréqu<strong>en</strong>ce d’émission (<strong>en</strong> s, s ou aléatoire),<br />
nombre de paquets, interface ...<br />
<br />
module basic : type de paquet (-w, -r), adresses Ethernet (-s,<br />
-d), adresses dans le message <strong>ARP</strong> (-S, -D - [IP][:MAC]),<br />
<br />
génération aléatoire des adresses (Eth et <strong>ARP</strong>, –rand*)<br />
➥ TODO<br />
ajout de nouveaux modules<br />
<br />
portage vers d’autres OS (Op<strong>en</strong>BSD et Solaris <strong>en</strong> particulier)<br />
<br />
création d’une bibliothèque pour construire des « scénarii<br />
réseau »<br />
<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Plan <strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 11<br />
Introduction<br />
Prés<strong>en</strong>tation de <strong>ARP</strong> et attaques classiques<br />
<br />
<strong>arp</strong>-<strong>sk</strong><br />
Prés<strong>en</strong>tation de l’outil<br />
<br />
Corruption de cache <strong>ARP</strong><br />
Utilisation de <strong>arp</strong>-<strong>sk</strong> pour différ<strong>en</strong>tes attaques à partir de corruption<br />
de cache <strong>ARP</strong> <strong>en</strong> utilisant<br />
<br />
<strong>arp</strong>-<strong>sk</strong>.<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 12<br />
Mise à jour du cache <strong>ARP</strong><br />
Comportem<strong>en</strong>t opportuniste<br />
<br />
Ajout d’<strong>en</strong>trée<br />
<br />
Modification d’<strong>en</strong>trée<br />
<br />
Suppression d’<strong>en</strong>trée<br />
<br />
➥ À l’attaque...<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 13<br />
Paramètres sur lesquels on peut jouer :<br />
Ethernet : adresse MAC source<br />
<br />
Ethernet : adresse MAC destination<br />
<br />
<strong>ARP</strong> : source niv. 2<br />
<br />
<strong>ARP</strong> : destination niv. 2<br />
<br />
<strong>ARP</strong> : source niv. 3<br />
<br />
<strong>ARP</strong> : destination niv. 3<br />
<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 14<br />
Création d’<strong>en</strong>trées<br />
Requête <strong>ARP</strong><br />
<br />
Réponse <strong>ARP</strong> (dép<strong>en</strong>d de l’OS et du cache)<br />
<br />
<br />
Gratuitous <strong>ARP</strong><br />
➥ Pas forcém<strong>en</strong>t très utile<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 15<br />
Mise à jour d’<strong>en</strong>trée<br />
Requête <strong>ARP</strong><br />
<br />
Réponse <strong>ARP</strong><br />
<br />
<br />
Gratuitous <strong>ARP</strong><br />
➥ Les machines intéressantes (DNS, GW, etc...) sont souv<strong>en</strong>t<br />
dans le cache<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 16<br />
Suppression d’<strong>en</strong>trée<br />
Expiration de l’<strong>en</strong>trée<br />
<br />
Taille limitée du cache (500 <strong>en</strong>trées <strong>en</strong>viron sous Linux)<br />
<br />
➥ On flood le cache, mais ce n’est pas vraim<strong>en</strong>t utile...<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 17<br />
Les applications de la corruption de cache <strong>ARP</strong>...<br />
Écoute : on peut lire le cont<strong>en</strong>u des flux détournés <strong>en</strong> mode<br />
normal<br />
<br />
Interception : on peut se placer comme proxy transpar<strong>en</strong>t<br />
<br />
Modification : on peut injecter des données dans les flux<br />
<br />
Vol : on peut pr<strong>en</strong>dre la place d’une des deux parties<br />
<br />
Déchiffrem<strong>en</strong>t : attaque MiM<br />
<br />
Usurpation : on peut aisém<strong>en</strong>t falsifier son IP<br />
<br />
DoS : destruction de flux réseau<br />
<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 18<br />
<br />
<br />
MiM <strong>ARP</strong> pour écouter les flux<br />
<br />
Batman<br />
Batcave−gw<br />
2. <strong>ARP</strong> attack<br />
4.. Robinbatman traffic<br />
1. <strong>ARP</strong> attack<br />
Joker<br />
3. Routing<br />
Robin<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 19<br />
<br />
Proxying transpar<strong>en</strong>t pour modifier et voler des flux<br />
<br />
Batman<br />
Batcave−gw<br />
2. <strong>ARP</strong> attack<br />
4. External data gathering<br />
RobinInternet traffic<br />
1. <strong>ARP</strong> attack<br />
Joker<br />
Robin<br />
3. Data interception and modification<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 20<br />
!<br />
DoS<br />
"# $ $ $ $ % % % % "<br />
Batman<br />
Batcave−gw<br />
3. <strong>ARP</strong> attack<br />
2. <strong>ARP</strong> attack<br />
Dropped<br />
1. <strong>ARP</strong> attack<br />
Joker<br />
Robin<br />
➥ Les machines attaquées vont vérifier leurs <strong>en</strong>trées...<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 21<br />
'&<br />
“Smart IP spoofing”<br />
,+, ()*+*<br />
Batman<br />
Batcave−gw<br />
1. <strong>ARP</strong> attack<br />
4. Robin traffic<br />
2. Joker’s traffic and returning packets<br />
3. Traffic sorting<br />
6. Robin traffic<br />
Joker<br />
Robin<br />
5. Robin traffic redirection<br />
➥ On peut aussi utiliser du MiM ;)<br />
➥ http://www.althes.fr/ressources/avis/<br />
smartspoofing.htm<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
<strong>arp</strong>-<strong>sk</strong> <strong>en</strong> <strong>action</strong> 22<br />
Conséqu<strong>en</strong>ce<br />
➥ Une fois que l’attaquant est root, c’est tout le segm<strong>en</strong>t ethernet<br />
qui est perdu !<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Conclusion 23<br />
<strong>ARP</strong> est un protocole faible et facile à détourner : la sécurité n’était<br />
pas le but. On a besoin de quelquechose de plus solide pour<br />
auth<strong>en</strong>tifier les stations :<br />
802.1x<br />
-<br />
Secure Link Layer<br />
http://www.cs.wustl.edu/~fhunleth/projects/sll/<br />
-<br />
sll_report.pdf<br />
-<br />
Auth<strong>en</strong>tification applicative<br />
Il est clair que les switches ne sont pas des outils de sécurité.<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Spam 24<br />
<br />
➥ MISC : magazine français, spécialisé <strong>en</strong> sécurité informatique<br />
➥ http://www.miscmag.com/<br />
<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal
Remerciem<strong>en</strong>ts 25<br />
Éric Detoisi<strong>en</strong> pour win<strong>arp</strong>-<strong>sk</strong> and win<strong>arp</strong>-mim sur Win32<br />
.<br />
Laur<strong>en</strong>t Licour et Vinc<strong>en</strong>t Royer pour leurs tests<br />
.<br />
CARTEL SÉCURITÉ — Cédric Blancher<br />
MISC — Frédéric Raynal