14.04.2015 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!