Home

USURPATION D`IDENTITE SUR ETHERNET

image

Contents

1. 0 15 31 Version ihl TOS Longueur totale Identification Drap Fragment offset TTL Protocole Checksum Adresse source Adresse de destination Donn es Figure 2 1 L ent te IP Seuls quelques champs de l ent te IP permettent d identifier une connexion Le champ adresse source indique l adresse logique de l metteur du paquet Ainsi le r cepteur sait qui il parle et peut facilement lui r pondre Le champs adresse destination indique le destinataire c est a dire la machine qui se trouve lautre bout de la connexion LE GUEN R amp AUGUSTIN B 29 Usurpation d identit sur Ethernet Enfin le champ protocole indique le protocole de transport utilis pour transporter les donn es de utilisateur Dans notre cas ce champs aura la valeur 0x06 TCP Contrairement a IP le protocole TCP Transport Control Protocol fonctionne en mode connect et est charg de transporter les donn es de l utilisateur L adressage sous forme de ports logiques permet d identifier l application associ e a chaque connexion sur la machine Par exemple le port 21 est g n ralement associ a un serveur FTP le port 80 a un serveur Web etc Le m canisme d acquittement permet un contr le de flux logiciel entre les deux interlocuteurs 0 15 31 Port source Port destination Num ro de s quence Num ro d acquittement hl Flags Taille fen tre Checksum
2. L architecture de gestion doit pouvoir supporter une grande quantit d information Nous utiliserons donc une architecture distribu e Pour viter tout probl mes de transcodage les noms de domaine doivent tre composer de caract re a z 1 9 3 1 3 Fonctionnement de l architecture DNS Les organismes de normalisation ont d finit les standards de structuration des domaines en d finissant de mani re simple la s paration des niveaux d autorit s Les noms de domaines auront la forme suivante feuille sous class toplevel LE GUEN R amp AUGUSTIN B 37 Usurpation d identit sur Ethernet O le niveau 1 de hi rarchie top level pourra prendre les valeurs Top level Utilisation com Organisations commerciales edu Organisations ducatives gov Organisations gouvernementales non militaires mil Arm e et d fense org Autre organisations fr de sp us code pays Propre au pays concern net Services et r seaux Figure 3 1 Les top level et leurs utilisations O le niveau 2 de hi rarchie sous class sera g r par l interNIC comit s de normalisation des noms Internet et pourra prendre des valeurs alphanum riques Par exemple Sous class Utilisation univ paris12 Concerne le domaine de l universit Paris XII google Domaine du moteur de recherche Google Figure 3 2 Exemple de sous clas
3. Le serveur re oit alors une demande de connexion qui d un point de vue de la couche r seau semble provenir de I h te en qui il a toute confiance Il accepte alors la connexion en envoyant un datagramme SYN ACK l metteur Le probl me survient ce moment la r ponse est adress e physiquement et logiquement 192 168 0 2 et non pas l attaquant Par cons quent notre carte r seau ne tient pas compte de cette trame et l acceptation de la connexion n est jamais re ue par notre couche TCP De plus lorsque 192 168 0 2 re oit et analyse la trame il s aper oit qu il n a jamais mis de demande de connexion sur ce port et met fin la connexion LE GUEN R amp AUGUSTIN B 20 Usurpation d identit sur Ethernet M me en analysant tout le trafic du r seau m me celui qui ne nous est pas destin et en g rant nous m me la connexion TCP c est a dire sans passer par la pile du syst me d exploitation nous n avons aucune chance de maintenir une connexion de cette mani re Par cons quent si nous parvenons a faire en sorte que le serveur nous adresse physiquement les trames qu il destine a l h te dont on vole l identit nous aurons r solu les deux probl mes notre carte r seau fera remonter les paquets qui seront de nouveau modifi s par iptables pour masquer en interne la translation d adresse et re us au final par la couche Application le client telnet par exemple Et parall lement
4. le num ro d acquittement du r cepteur est identique au num ro de s quence du prochain datagramme envoy par metteur LE GUEN R amp AUGUSTIN B 30 Usurpation d identit sur Ethernet 2 1 2 La connexion TCP 2 1 2 1 Etablissement Comme nous nous int ressons ici au vol d une connexion TCP d j tablie entre deux machines la phase d initialisation d une connexion pr sente peu d int r t pour nous Il faut cependant savoir qu elle se d roule en trois phases Three Way Handshake au cours desquelles les deux machines choisissent et s changent leur propre num ro de s quence qui sera utilis pendant toute la dur e de la connexion 2 1 2 2 Echange de donn es Quand la phase d initialisation est termin e chaque station conna t le num ro de s quence de l autre Elles peuvent commencer l change de donn es utilisateur Pour illustrer ce m canisme supposons que la machine Client veut envoyer le message Bonjour au Serveur Client va donc former un datagramme TCP encapsulant la cha ne de caract res Bonjour et avec les num ros de s quence x et d acquittement y chang s pendant I initialisation Pour acquitter les donn es Serveur met a jour son num ro d acquittement x en ajoutant la longueur des donn es re ues 7 octets et met a son tour un datagramme tenant compte de la nouvelle valeur En recevant cet accus de r ception le Client comprend que le Serveur a bi
5. ArpDiddle 443 lignes Hijack 594 lignes MadDNS 347 lignes Nestor 367 lignes PromisuousNodeDetection 242 lignes ZibSniff 443 lignes soit plus de 2400 lignes LE GUEN R amp AUGUSTIN B Usurpation d identit sur Ethernet Annexe 1 Cr ation et envoi de paquets bruts sur un r seau Toutes les techniques pr sent es dans ce m moire supposent que nous sommes capables de cr er puis d envoyer des donn es arbitraires sur le r seau en court circuitant le chemin classique de l encapsulation des donn es par les diff rentes couches r seau impl ment es par le syst me d exploitation utilis Les trames n tant qu une simple suite d octets leur cr ation en programmation se r sume au remplissage des diff rents champs d une structure de donn es cr e en C Cependant le syst me des sockets classiques commun Windows et Linux se limite l envoi de donn es qui seront encapsul es par TCP IP puis par Ethernet et interdit l acc s direct au pilote de la carte r seau ou encore aux protocoles exotiques pour l utilisateur lambda comme ARP Fort heureusement sous Linux le syst me des RAW sockets permet de r aliser des op rations de lecture criture sur le driver de la carte r seau Les donn es pass es une RAW socket sont envoy es sur le r seau sans aucun traitement de la part du noyau seul le CRC et les octets de synchronisation sont ajout s par la carte Ethernet ce qui permet un contr le complet
6. ent te IP pour y placer notre propre adresse IP Ainsi la couche r seau croira que les paquets lui sont r ellement destin s et ceux ci pourront continuer leur chemin dans la pile de protocoles pour atteindre notre application nestor qui coute sur le port 21 Nous faisons ainsi d une pierre deux coups nous vitons que notre machine envoie des redirections ICMP et b n ficions de la pile de protocoles de notre syst me d exploitation Translation d adresse sous Windows Une telle modification des paquets peut tre r alis e par Winroute son option de Port Mapping permet de sp cifier l adresse et le port de destination des paquets a modifier ainsi que la nouvelle adresse IP vers laquelle les paquets seront redirig s Dans notre cas on d finit donc un Port Mapping sur le port TCP 21 des paquets a destination de 192 168 0 2 et la nouvelle adresse sera notre propre adresse IP 192 168 0 3 Translation d adresse sous Linux iptables permet de r aliser une redirection de port en une commande 192 168 0 3 iptables t nat A PREROUTING s 192 168 0 1 d 192 168 0 2 p tcp dport 21 J REDIRECT to ports 21 Une fois en place la corruption du cache et la translation d adresse on tente de nouveau une connexion de 192 168 0 1 vers le serveur de 192 168 0 2 192 168 0 1 telnet 192 168 0 2 21 Trying 192 168 0 2 Connected to 192 168 0 2 Escape character is Bonjour je suis 192
7. est g n ralement utilis par les banques en ligne ou encore dans les zones de paiement s curis es en ligne La connexion habituellement tablie correspond celle ci 192 168 0 1 Connexion s curis e SSL Cryptage RSA 1024 bits SN INTERNET SERVEUR WEB www achat com 100 100 100 100 ROUTEUR d 192 168 0 2 Figure 3 17 Connexion s curis e sur bus Ethernet Dans cette configuration la connexion est totalement s curis e les donn es sont confidentielles et ne peuvent pas tre d crypt es hormis si la personne poss de la cl priv e Il faut cependant mettre un b mol cette configuration En effet pour tablir la communication s curis e la victime a d se renseigner aupr s d un serveur DNS pour obtenir l adresse IP du serveur www achat com et c est finalement ce moment l que le syst me n est plus fiable L attaquant peut cet instant s approprier de l identit du nom de domaine en envoyant une fausse r ponse DNS A partir de l l attaquant va pouvoir ouvrir dans un premier temps une connexion s curis e avec la victime connexion attaquant victime ensuite il va de la m me fa on tablir une autre connexion s curis e avec le vrai serveur www achat com connexion attaquant achat com son r le se limitera alors a faire simplement transiter les paquets Attaquant tant l origine des deux connexions il poss de un a priori sur les cl s de d cryptage utilis
8. sur Ethernet La logique de r solution suivra la fl che jaune pour r soudre l adresse www univ paris12 fr Nous partons du niveau le plus haut pour arriver au plus bas Lorsque qu un utilisateur quelconque d sire se connecter une machine distante gr ce un nom de domaine la machine cliente va d p cher une requ te de demande au serveur de r solution aussi baptis serveur DNS pour Domain Name Service afin d obtenir l adresse IP de la machine Le serveur va dans un premier temps v rifier si le nom de domaine recherch ne co ncide pas avec son domaine d autorit si c est le cas il conna t l adresse IP il peut donc la renvoyer sinon il v rifie s il ne poss de pas cette adresse dans son cache m moire c est a dire qu il v rifie si le nom de domaine ne lui a pas d j t demand pr alablement auquel cas il conna t la r ponse et il l envoi le cas ch ant il envoi une requ te au serveur DNS lui faisant autorit et ceci r cursivement jusqu ce que le domaine soit r solu Nous arrivons sch matiquement LE POSTE CLIENT ADRESSE UNE REQUETE Domaine r solu Envoi de l IP SERVEUR DNS AUTORITAIRE TROUV EN Domaine resolu CACHE Envoi de l IP Y A T IL UN DNS SUPERIEUR DOMAINE INTROUVABLE Notification l usager Figure 3 5 Algorithme de r solution DNS La r solution r cursive de ces adresses requiert un minimum de communication ent
9. tre intercepter Le DNS authentification a donc t modifi en impl mentant un syst me permettant de partager les cl s de mani re s curis e RFC 2930 On parlera d s lors de Secret Key Establishment for DNS TKEY Une fois le TSIG et le TKEY mit en place la s curit est garantie entre le serveur DNS et le client Nous avons vu pr c demment que la r solution de requ te DNS se faisait travers une architecture distribu e Il important que toute l architecture du r seau de r solution impl mente ces protocoles sans quoi la cha ne de confiance tablie entre les diff rents serveurs DNS qu ils soient autoritaires ou non n est plus viable Finalement le DNS authentification apporte des solutions concr tes permettant de certifier une r solution DNS malgr cela le syst me reste semble t il tr s fragilis par son architecture distribu e 3 5 Solutions apport es Notre tude des attaques va nous permettre d avoir un a priori sur les solutions apporter Nous distinguerons deux solutions savoir dans un premier temps la d tection des double r ponse et ensuite le d tection des cartes en mode promiscuous 3 5 1 D tection des doubles r ponses Les attaques de DNS cache poisoning destination d une machine laisse transparaitre une sorte de signature En effet ces attaques consistent comme nous l avons vu pr c demment cr er un faux paquet de r ponse de r solution DNS Par cons
10. 220 Brice FTPd 1 0 192 168 0 3 gt 192 168 0 1 ICMP Redirect Gateway 192 168 0 2 00 a0 cc d4 e9 ee gt 00 a0 24 d1 95 d0 192 168 0 1 gt 192 168 0 2 FTP Response 220 Brice FTPd 1 0 La machine de l attaquant joue route bien les paquets entres les deux machines Cependant il envoie des redirections ICMP destination de l metteur pour lui indiquer que son interlocuteur se trouve sur le m me r seau que lui et que par cons quent il n a pas besoin de passer par une passerelle Nous devons donc emp cher l envoi de ces messages d erreur qui m me s ils ne sont visiblement pas pris en compte par le destinataire nuisent tout de m me notre furtivit 192 168 0 3 iptables A OUTPUT p icmp icmp type 5 j DROP Client Attaquant Routeur Serveur FTP 192 168 0 2 192 168 0 3 192 168 0 1 Attaque ARP Attaque ARP lt lt 192 168 0 2 gt 192 168 0 1 SYN gt 192 168 0 2 gt 192 168 0 1 SYN gt 192 168 0 1 gt 192 168 0 2 SYN ACK 192 168 0 1 gt 192 168 0 2 SYN ACK lt 192 168 0 2 gt 192 168 0 1 ACK gt 192 168 0 2 gt 192 168 0 1 ACK P Fiaure 1 8 Man in the Middle sur une connexion TCP LE GUEN R amp AUGUSTIN B 25 Usurpation d identit sur Ethernet Remarque En utilisant une attaque de type Man in the Middle nous mettons fin la l gende selon laquelle on ne peut pas sniffer sur un r seau commut En effet le cas pr c dent
11. Compte tenu de l loignement des machines et des ventuelles collisions il est possible que l attaque choue syst matiquement 1 2 2 Corruption du cache ARP L attaque pr c dente a montr ses limites car elle oblige l attaquant attendre l mission d une requ te ARP par la victime puis devancer le v ritable destinataire en renvoyant une r ponse falsifi e Or nous savons que chaque machine g re localement une table ARP qui lui permet justement de limiter ce type de requ te En effet les donn es contenues dans ce cache son prioritaires sur l envoi d une nouvelle requ te et toute entr e est consid r e comme valide et fiable Par cons quent si nous parvenons modifier cette table distance tout moment et avec des donn es arbitraires nous pourrons alors tromper la victime en ce qui concerne l adresse physique d un destinataire quelconque Toutes ses trames seront alors physiquement adress es une autre machine la n tre par exemple 1 2 2 1 Corruption par envoi de r ponses ARP falsifi es Cette m thode se base sur la fait que la plupart des syst mes d exploitation prennent en compte toute r ponse ARP qui leur est adress e et ce sans v rifier qu ils ont bien mis un peu plus t t une requ te concernant cette machine De cette mani re il est tr s simple de modifier une entr e dans le cache d une machine En d autres termes de remplacer la v ritable adresse MAC par la n tre Nous
12. gitime 4 Reroutage apr s tri Attaquant 192 168 0 3 Figure 1 6 Passage de firewall en usurpant l identit d une machine Cependant comme notre machine met ces paquets sur la m me interface c est dire le m me r seau que celle par laquelle ils sont arriv s elle va aussi mettre des redirections ICMP pour indiquer l usurp la bonne passerelle c est dire le routeur Ces redirections pouvant veiller l attention d une personne ou d un logiciel surveillant le r seau il est pr f rable de les d sactiver pour garder sa furtivit 192 168 0 3 iptables A OUTPUT p icmp icmp type 5 j DROP ou 192 168 0 3 echo 0 gt proc sys net ipv4 conf all send_redirects 1 3 3 L homme du milieu Man in the Middle L attaque MiM man in the Middle est une redirection compl te d une connexion entre deux machines Chacun des deux interlocuteurs croit dialoguer directement avec l autre mais en r alit il adresse ses trames une troisi me machine qui joue le r le d un routeur et renvoie les paquets vers le v ritable destinataire La premi re tape de la mise en place d une telle redirection est extr mement simple puisqu elle est identique aux cas tudi s pr c demment savoir la mise en place d une corruption du cache ARP des deux machines 192 168 0 3 arpdiddle m request 192 168 0 1 192 168 0 2 192 168 0 3 arpdiddle m request 192 168 0 2 192 168 0 1 LE GUEN R
13. mentent une topologie particuli re en bus C est dire que toutes les informations circulent sur un m me support physique C est partir de ces consid rations que nous allons tenter d tudier les principes de l usurpation d identit Notre m moire se base sur l approche multi couche du mod le OSI Par cons quent nous diviserons notre travail en trois parties savoir dans un premier temps l tude des failles du niveau liaison de donn es du mod le OSI de l ISO travers ARP cache poisoning ensuite nous nous attellerons a d crire mettre en uvre et contrer les attaques du type hijacking niveau r seau et transport de l OS et enfin nous aborderons les probl mes de s curit du niveau session de OSI par l tude d un protocole couramment utilis savoir DNS LE GUEN R amp AUGUSTIN B 7 Usurpation d identit sur Ethernet CHAPITRE PREMIER Usurpation d identit au niveau MAC ARP Cache Poisoning LE GUEN R amp AUGUSTIN B Usurpation d identit sur Ethernet Introduction L empoisonnement du cache ARP ARP cache poisoning est une technique qui permet de rediriger tous les flux entre deux machines communiquant sur un r seau local quelque soit le protocole encapsul par Ethernet Utilis e seule cette technique n a que peu d utilit mais combin e a d autres outils tels qu un logiciel de routage elle se r v le extr mement puissante 1 1 Fonctionnem
14. nestor r agit Connection from 192 168 0 1 1437 Sending index html 565 bytes Connection closed Finalement l utilisateur dup aura l impression de se trouver sur le serveur de sa banque Il pourra alors tenter de consulter son compte en banque en saisissant ses coordonn es bancaires ainsi que ses mots de passe Ces donn es seront r cup r es par nestor L attaquant pourra gr ce ce type d informations effectuer des op rations bancaires virements impression de RIB d bits et tout ce qui s en suit Ceci n est qu un exemple de compromission d identit sur un r seau nous aurions aussi pu prendre pour cible un serveur de courrier lectronique de base de donn es de fichier ou encore un serveur http s curis https cela n y aurai rien chang LE GUEN R amp AUGUSTIN B 46 Usurpation d identit sur Ethernet 3 3 2 Man in the middle Apr s vous avoir pr sent les attaques Man in the middle MiM au niveau deux du mod le OSI nous allons nous int resser a leurs applications combiner avec le DNS cache poisonning Pour cela prenons un nouvel exemple Soit une victime voulant communiquer de fa on confidentielle avec un interlocuteur cette derni re voulant assurer sa s curit elle utilise un protocole s curis base de sockets s curis es SSL pour secure socket layer On prendra l exemple d un serveur http secure https qui utilise un encryptage CYPHER Ce type de serveur s curis
15. on ce qu il refuse toute requ te qui n est pas transport e par une trame Ethernet en mode diffusion 1 4 3 Chien de garde sur le r seau Enfin on peut imaginer une machine charg e de surveiller le r seau et qui avertit l administrateur si elle d tecte toute activit suspecte Celle ci pourrait par exemple construire sa propre table ARP en analysant tous les paquets ARP Apr s cette phase d initialisation elle serait charg e de surveiller les changes et d tecter les paquets ARP dont les informations ne correspondent pas aux informations emmagasin es LE GUEN R amp AUGUSTIN B 27 Usurpation d identit sur Ethernet CHAPITRE SECOND Usurpation d identit au niveau TCP IP Vol de connexion TCP Hijacking LE GUEN R amp AUGUSTIN B 28 Usurpation d identit sur Ethernet Introduction La corruption de cache ARP permet de rediriger tous les flux de niveau 2 sans distinction de protocole qui sont chang s entre deux machines d un r seau Ethernet Or une multitude de connexions de niveaux sup rieurs peuvent tre multiplex es dans un flux de niveau 2 Dans le cas de l empoisonnement d une machine qui est amen e tablir de nouvelles connexions en permanence l attaquant se retrouve avec nombre important de connexions g rer dont la plupart n offrent aucun int r t ses yeux En effet dans la plupart des cas l attaquant s int resse un type de connexion pr cis Par exemple
16. quent la machine attaqu e va voir passer deux r ponses au lieu d une dans un laps de temps r duit et ceci avec le m me identificateur de transaction transactionID Comme nous le savons l identificateur de transaction est en principe un marqueur permettant de garantir l unicit d une requ te pour viter les confusions Sachant cela nous pouvons d crire la signature de l attaque L attaque se caract rise par la pr sence d une double r ponse de requ te de r solution avec un m me identificateur de transaction L attaque se v rifie bien sur le trac Ethereal Time IP sre IP dst Informations 0 000000 194 214 10 132 gt 193 51 100 100 DNS Standard query A www google fr ident 0E98 0 002254 193 51 100 100 gt 194 214 10 132 DNS Standard query response A 192 168 0 1 ident 0E98 0 498737 193 51 100 100 gt 194 214 10 132 DNS Standard query response A 216 239 57 99 ident 0 On a donc bien trois identificateur identique au lieu d en avoir deux LE GUEN R amp AUGUSTIN B 49 E98 Usurpation d identit sur Ethernet Une fois l attaque d tect e il nous faut agir Il faut emp cher la victime de se connecter a l adresse r solue par le faux serveur DNS c est a dire la mauvaise adresse Pour cela nous allons mettre en place un IDS Intrusion Detection System qui va nous permettre d analyser le r seau en permanence et de pouvoir intervenir pour tuer une connexion si cela est n cessaire de mani re
17. 168 0 3 youpi L op ration a r ussi En se connectant sur 192 168 0 2 la victime s est en r alit adress e la machine de l attaquant LE GUEN R amp AUGUSTIN B 17 Usurpation d identit sur Ethernet La figure 1 3 illustre ce m canisme Attaquant 192 168 0 3 2 Attaque ARP 3 Flux redirig i 1 Avant la corruption du cache Client victime Serveur 192 168 0 1 192 168 0 2 Figure 1 3 Usurpation de l identit d un serveur Voici une trace de cet change captur par l analyseur 007507 bazrc5 6a 2a fis ff CE ETC fi tf ARP Who has 192 168 0 1 Tell 192 168 0 3 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a ARP 192 168 0 1 is at 00 30 84 9d e4 c5 Attaque ARP La trame semble provenir de 192 168 0 2 et associe notre adresse MAC 00 50 ba c5 6a 2a dans le cache de la victime E 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 ARP Who has 192 168 0 1 Tell 192 168 0 2 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a ARP 192 168 0 1 is at 00 30 84 9d e4 c5 La victime tente une connexion sur le serveur 192 168 0 2 Mais l adresse MAC n est pas la bonne c est celle de l usurpateur 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a 192 168 0 1 gt 192 168 0 2 TCP 1026 gt 21 SYN L usurpateur accepte la connexion 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 192 168 0 2 gt 192 168 0 1 TCP 21 gt 1026 SYN ACK 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a 1
18. 3 1 Usurpation simple 45 3 3 2 Man in the middle 47 3 4 Solutions existantes 49 8 4 1 DNS authentification 49 8 5 Solutions apport es 49 8 5 1 D tection des doubles r ponses 49 8 5 2 D tection des n uds en mode promiscuous 53 3 6 Conclusion 55 Conclusion et perspectives 56 Lexique 57 Annexes Bibliographie Sites de r f rences LE GUEN R amp AUGUSTIN B Usurpation d identit sur Ethernet Liste des figures Figure 1 1 Figure 1 2 Figure 1 3 Figure 1 4 Figure 1 5 Figure 1 6 Figure 1 7 Figure 1 8 Figure 2 1 Figure 2 2 Figure 2 3 Figure 3 1 Figure 3 2 Figure 8 3 Figure 3 4 Figure 8 5 Figure 8 6 Figure 3 7 Figure 8 8 Figure 8 9 Figure 3 10 Figure 3 11 Figure 3 12 Figure 3 13 Figure 3 14 Figure 8 15 Figure 3 16 Figure 3 17 Figure 3 18 Figure 8 19 Figure 3 20 Figure 3 21 Figure 3 22 Figure 3 23 Figure 3 24 Figure 3 25 Figure 3 26 L ent te ARP Notre r seau de test Usurpation de l identit d un serveur Redirection de connexions en provenance d Internet Usurpation de l identit d un client autoris Passage de firewall en usurpant l identit d une machine Man in the Middle Redirection de connexion Man in the Middle sur une connexion TCP L ent te IP L ent te TCP Injection de donn es dans une connexion TCP Les top level et leurs utilisations Exemple de sous class Les feuilles et l
19. Pointeur d urgence Options Donn es optionnelles Figure 2 2 L ent te TCP Nous nous int ressons particuli rement aux l ments qui identifient une connexion et qui permettent d assurer son bon fonctionnement la connaissance de la valeur de ces champs est en effet indispensable pour s immiscer dans une connexion Un certain nombre de drapeaux flags sont utilis s au cours de la connexion Le bit SYN permet de demander l tablissement d une connexion Le flag ACK indique qu il s agit d un datagramme d acquittement la valeur du champ num ro d acquittement est valide et doit tre prise en compte par le r cepteur Le bit PSH caract rise une datagramme transportant des donn es utilisateur Enfin le bit FIN permet de mettre fin une connexion Comme nous l avons vu les ports source et destination permettent TCP d identifier l application associ e cette connexion et par cons quent de lui passer les donn es de l utilisateur TCP v rifie scrupuleusement la validit des num ros de s quence et d acquittement dans le but d assurer un contr le de flux fiable Le num ro de s quence indique le num ro du premier octet de donn es contenu dans le datagramme Le num ro d acquittement fournit un d accus de r ception et indique le num ro du prochain octet de donn es attendu par la machine Si tout se passe bien pas de perte de donn es de retransmission etc
20. TCP 21 gt 1027 PSH ACK Data Bonjour je suis 192 168 0 1 et vous tes forc ment 192 168 0 2 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 21 ACK Comme dans le cas pr c dent la machine bern e peut tre un routeur ou un firewall Dans ce cas la corruption de son cache nous permet de sortir du r seau local vers Internet par exemple en utilisant l identit d une autre machine Cette manipulation peut tre tr s utile dans le cas o le pare feu autorise seulement un petit nombre de machines mettre des paquets vers l ext rieur du r seau Il ne faut pas oublier que pendant toute la dur e de la manipulation la machine dont on vole l identit est elle aussi susceptible d mettre des trames a destination du routeur Il faut alors faire un tri des paquets renvoy s par le firewall ceux qui correspondent une connexion que nous avons initialis e via la translation d adresse source seront d tect s par iptables modifi s puis pass s la pile de protocoles de notre machine Les autres paquets seront alors rerout s vers la machine usurp e Il faut pour cela activer le routage sur notre machine Linux 192 168 0 3 echo 1 gt proc sys net ipv4 ip_ forward LE GUEN R amp AUGUSTIN B 22 Usurpation d identit sur Ethernet Hote autoris sortir du r seau 192 168 0 2 2 Flux falsifi 1 Attaque ARP Firewall 192 168 0 1 3 Flux l
21. allons donc envoyer notre victime une r ponse ARP qui semblera provenir de la machine dont on prend l identit mais contenant des informations erron es Le champ adresse IP source de la r ponse contiendra l adresse logique de l h te pour qui on veut se faire passer mais le champ adresse MAC source au lieu de contenir la v ritable adresse physique de ce dernier contiendra notre adresse MAC De cette fa on la victime associe dans son cache ARP l adresse IP d une machine notre propre adresse MAC LE GUEN R amp AUGUSTIN B 12 Usurpation d identit sur Ethernet Pour mener bien cette op ration nous avons d velopp un programme arpdiddle capable de forger puis d mettre un paquet ARP contenant les informations d sir es Le code source de ce programme ainsi que son mode d emploi sont d taill s en annexe Dans cet exemple nous allons tromper 192 168 0 1 en lui faisant associer l adresse de 192 168 0 2 notre propre adresse MAC Avant l attaque on cr e une entr e dans la table de la victime 192 168 0 1 ping 192 168 0 2 192 168 0 1 arp a Adresse Internet Adresse physique Type 192 168 0 2 00 30 84 9d e4 c5 dynamique La table arp contient une nouvelle entr e qui associe l adresse Internet 192 168 0 2 a l adresse MAC de 192 168 0 2 00 30 84 9d e4 c5 192 168 0 3 arpdiddle i 1 m reply 192 168 0 1 192 168 0 2 Redirection vers 00 50 ba c5 6a 2a 192 168 0 2 is at 00 30 84 9d e4
22. approche 11 1 2 2 Corruption du cache ARP 12 1 2 2 1 Corruption par envoi de r ponses ARP falsifi es 12 1 2 2 2 Corruption du cache par envoi de requ tes ARP 14 1 2 2 3 Syst mes d exploitation vuln rables la corruption de cache ARP 15 1 3 Applications de l ARP Cache Poisoning 16 1 3 1 Usurper l identit d un serveur 16 1 3 2 Usurpation de l identit d un client 20 1 3 3 L homme du milieu Man in the Middle 23 1 8 3 1 Reroutage sans modification des donn es 24 1 8 3 2 Reroutage avec modification de contenu 24 1 4 Parades contre la corruption de cache ARP 27 1 4 1 Cache ARP statique 27 1 4 2 Patch du module ARP 27 1 4 3 Chien de garde sur le r seau 27 CHAPITRE 2 Usurpation d identit au niveau TCP IP Vol de connexion TCP Hijacking 28 2 1 La pile TCP IP 29 2 1 1 Les protocoles 29 2 1 2 La connexion TCP 31 2 1 2 1 Etablissement 31 2 1 2 2 Echange de donn es 31 2 1 2 3 Coupure de la connexion 31 2 2 Vol d une connexion TCP 31 2 2 1 Injection de donn es 31 2 2 2 Eviction d une machine 35 CHAPITRE 3 Usurpation d identit au niveau de la couche session DNS cache poisoning36 3 1 Etude du protocole DNS 37 8 1 1 Historique des noms de domaine 37 3 1 2 Objectifs de la conception du DNS 37 8 1 3 Fonctionnement de l architecture DNS 37 8 1 4 Le protocole 40 3 2 Failles de s curit 42 8 2 1 Enjeux de la s curit 42 8 2 2 Sp cificit des r seaux locaux 43 8 3 Attaques possibles bas es sur l usurpation d identit 45 8
23. aurait tout aussi bien fonctionn si les trois machines s taient trouv es sur un port diff rent d un switch En for ant les deux machines a passer par nous pour communiquer ensemble nous faisons passer tous leurs flux sur notre segment Ethernet Il ne reste plus qu lancer un analyseur Ethereal pour espionner leurs changes 1 3 3 2 Reroutage avec modification de contenu Si nous voulons modifier les donn es il faut faire en sorte que les paquets remontent la pile de protocoles de notre OS jusqu a la couche utilisateur sockets Une telle op ration peut tre effectu e en combinant les deux techniques pr sent es pr c demment mystification d un serveur et mystification d un client D un c t une des deux victimes va vouloir initialiser une connexion avec la seconde Sans le savoir elle va en fait nous adresser ces paquets ses yeux nous sommes donc un serveur Or nous savons comment faire remonter ce type de flux normalement destin un tiers vers notre propre couche utilisateur Pour rappel la commande suivante le permet 192 168 0 3 iptables t nat A PREROUTING p tcp s 192 168 0 1 d 192 168 0 2 dport x j REDIRECT to ports x La demande de connexion est donc redirig e vers notre propre pile de protocoles qui se charge d accepter la connexion puis en informe un proxy lanc par nos soins et coutant sur le port local x Le proxy ayant d tect une nouvelle connexion il i
24. automatique Apr s mise en place de l IDS on a le contexte suivant 192 168 0 1 192 168 0 2 ees INTERNET SERVEUR WEB 100 100 100 100 ROUTEUR Figure 3 20 les top level et leurs utilisations Ce contexte permet l IDS de d tecter la signature de l attaque Il va pouvoir sniffer le r seau la recherche d intrusions Sa proc dure de recherche pour l attaque DNS pourra se r duire l algorithme suivant TRAFIC RESEAU PAQUET DE TYPE ON NE REPONSE DNS TRAITE PAS STOCKAGE DES REPONSES Timeout 2 secondes ON NE DOUBLE REPONSE TRAITE PAS INTERVENTION TUE LA CONNEXION Figure 3 21 Algorithme de pr vention d attaque DNS LE GUEN R amp AUGUSTIN B 50 Usurpation d identit sur Ethernet L algorithme d finit nous allons maintenant d crire les m thodes permettant de tuer la connexion Plusieurs solutions sont envisageables Si l adresse IP r solut par le serveur DNS se trouve sur le segment deux solutions se pr sentent Arp Cache Poisoning On empoisonne la machine r solut par le DNS en utilisant de larp cache poisoning C est dire que l on va modifier la correspondance entre l adresse IP et l adresse MAC de la victime dans le cache du faux serveur Le faux serveur enverra ses trames une adresse MAC diff rente de l adresse de la victime Les interlocuteurs n arriveront plus communiquer entre eux La connexion sera interrompue On
25. c5 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 192 168 0 2 is at 00 50 ba c5 6a 2a 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 192 168 0 2 is at 00 50 ba c5 6a 2a ates 192 168 0 1 arp a Adresse Internet Adresse physique Type 192 168 0 2 00 50 ba c5 6a 2a dynamique L entr e a t modifi e l adresse physique est la n tre Remarque En profitant d une erreur dans l impl mentation du protocole ARP sur certains syst mes d exploitation Windows 95 Windows NT il est non seulement possible de mettre jour une entr e mais aussi de cr er de nouvelles entr es dans le cache en envoyant des r ponses ARP lllustrons ce m canisme par un exemple Avant l attaque on affiche la table d une machine sous Windows 95 192 168 0 1 arp a Aucune entr e ARP trouv e 192 168 0 3 arpdiddle i 1 m reply 192 168 0 1 192 168 0 2 Redirection vers 00 50 ba c5 6a 2a 192 168 0 2 is at 00 30 84 9d e4 c5 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 192 168 0 2 is at 00 50 ba c5 6a 2a 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 192 168 0 2 is at 00 50 ba c5 6a 2a RE 192 168 0 1 arp a Adresse Internet Adresse physique Type 192 168 0 2 00 50 ba c5 6a 2a dynamique Une nouvelle entr e a bien t cr e a partir des informations contenues dans la fausse r ponse Mais les syst mes r cents Windows XP Linux ne sont plus vuln rables Si une r ponse est re ue alors qu aucune requ te n a t envoy e et qu il n existe pas d entr e concerna
26. de l attaquant et tentera de voler la connexion tablie entre les deux machines pr c dentes Apr s que le client se soit connect au serveur nous allons tenter d envoyer un message quelconque au serveur en nous faisant passer pour le client donc en empruntant sa connexion On lance un serveur sur le port 30 de 192 168 0 1 Celui ci affiche sur la console toutes les donn es qu on lui envoie 192 168 0 1 nestor a v w p 30 Nestor ready Sur la machine de l attaquant on lance l outil de vol de connexion 192 168 0 3 hijack i eth0 p 30 On peut maintenant tablir la connexion entre le client et le serveur 192 168 0 2 telnet 192 168 0 1 30 Trying 192 168 0 1 Connected to 192 168 0 1 Escape character is Le client est connect et peut envoyer des messages au serveur bonjour serveur Sur la machine de l attaquant hi jack affiche 192 168 0 3 hijack i ethO p 30 D tection de la connexion entre le client et le serveur TCP session detected 192 168 0 2 1027 lt gt 192 168 0 1 30 On liste les connexion d tect es ls 0 192 168 0 2 1027 lt gt 192 168 0 1 30 3711 215 laf9ce On se focalise sur la connexion client lt gt serveur oc 0 Demande l affichage du contenu des datagrammes de donn es dump D tection de l envoi du message au serveur 192 168 0 1 30 seq 1767886 tsval 43341 bonjour serveur 192 168 0 2 1027 seq 9
27. garder en m moire la valeur du champ Num ro d acquittement En supposant que la transmission s est correctement d roul e on peut alors affirmer que ce num ro d acquittement sera aussi le prochain num ro de s quence de la machine qui le datagramme est destin Une simple coute du r seau nous permet donc de d tecter une connexion et de mettre jour au fur et mesure de l change de donn es les num ros de s quence des deux victimes Nous disposons donc de toutes les informations pour forger un paquet destination d une des deux machines qui semblera provenir de la seconde LE GUEN R amp AUGUSTIN B 31 Usurpation d identit sur Ethernet Par cons quent il devient possible d injecter des donn es arbitraires dans cette connexion et l insu des int ress s Ces op rations d espionnage seront r alis es par un programme d velopp par nos soins Ce programme d nomm hi jack est capable de d tecter les connexions TCP d afficher les donn es chang es et d envoyer un paquet de donn es empruntant la connexion espionn e Le code source et le mode d emploi de hijack se trouvent en annexe Pour mettre tout ceci en pratique revenons a notre r seau de test 192 168 0 1 jouera le r le du serveur en d autres termes il met un port TCP sur coute et attend qu une machine se connecte 192 168 0 2 sera le client et tablira une connexion avec le serveur 192 168 0 3 est la machine
28. le v ritable destinataire logique 192 168 0 2 n aura aucune connaissance de ce qui se d roule au niveau MAC tout simplement parce que les trames ne lui sont pas adress es Il ne pourra donc pas interf rer dans notre communication avec le serveur en coupant la connexion par exemple Or nous savons r aliser une telle op ration une fois encore l aide de arpdiddle sous Linux 192 168 0 3 arpdiddle m request 192 168 0 1 192 168 0 2 192 168 0 1 is at 00 30 84 9d e4 c5 Envoi des requ tes ARP falsifi es 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 who has 192 168 0 1 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 who has 192 168 0 1 eee Tell 192 168 0 2 Tell 192 168 0 2 P A pr sent r it rons la tentative de connexion au serveur 192 168 0 3 telnet 192 168 0 1 21 Trying 192 168 0 1 Connected to 192 168 0 1 Escape character is La connexion est accept e par le serveur Bonjour je suis 192 168 0 1 et vous tes forc ment 192 168 0 2 Datei C est gagn Le serveur croit dialoguer avec l h te en qui il a confiance mais nous sommes les v ritables interlocuteurs La figure 1 5 illustre la mise en place d une telle usurpation Attaquant 192 168 0 3 2 Attaque ARP 3 Le flux semble provenir 1 Seule cette machine est autoris e se connecter Serveur Client autoris 192 168 0 1 192 168 0 2 Figure 1 5 Usurpation de l identit d un client autoris
29. pourra faire de m me chez la victime pour avoir un rendu optimal Pour effectuer cela on pourra tout simplement utiliser le logiciel d velopp pr c demment arpdiddle 192 168 0 1 1 Connexion tablie 192 168 0 2 2 Poisoning 2 Poisoning Figure 3 22 Parade d un IDS par ARP cache poisoning Ce sch ma nous montre bien l importance que le faux serveur soit sur le segment sans quoi l arp cache poisoning ne peut fonctionner On applique finalement ici des m thodes d attaques pour d fendre Si l adresse IP r solu par le serveur DNS se trouve l ext rieur du segment ICMP host unreachable RFC 792 Le protocole ICMP permet de conna tre la nature des probl mes rencontrer lors de l envoi de datagramme IP travers le r seau En d autres termes il fournit des informations assez pr cises sur les erreurs rencontr es lors de l acheminement de paquets Ce protocole va nous permettre de simuler une erreur lors de l acheminement de paquet En effet si une machine re oit un paquet ICMP de type destination unreachable ou port unreachable la station va arr ter d essayer de communiquer avec son vis a vis Le principe utilis pour emp cher une connexion va donc tre de simuler une erreur de routage La station victime pensera que le faux serveur n existe pas Pour cela nous allons forger toujours a l aide de WINPCAP un paquet ICMP host unreachable en se faisant passer pour le routeur Ce paq
30. serveur nestor est configur pour envoyer un message de bienvenue d s qu il accepte une nouvelle connexion Le code source et le mode d emploi de nestor sont disponibles en annexe Sur le vrai serveur le message est Bonjour je suis 192 168 0 2 192 168 0 2 nestor v p 21 s messagel txt Sur la machine de l attaquant Bonjour je suis 192 168 0 3 youpi 192 168 0 3 nestor v p 21 s message2 txt Avant l attaque une connexion initialis e par la future victime sur le port 21 de 192 168 0 2 donne 192 168 0 1 telnet 192 168 0 2 21 Trying 192 168 0 2 Connected to 192 168 0 2 Escape character is Bonjour je suis 192 168 0 2 Connection closed by foreign host Comme pr vu 192 168 0 1 s est connect au vrai serveur qui lui a envoy son message de bienvenue Apr s l attaque si la manipulation a r ussi le message affich apr s une connexion identique sera Bonjour je suis 192 168 0 3 youpi ce qui prouvera que le flux de la victime vers le serveur est bien redirig vers la machine de l attaquant La premi re tape est d associer l adresse IP de 192 168 0 2 avec notre adresse MAC dans le cache de la victime A l aide de arpdiddle c est maintenant un jeu d enfant 192 168 0 3 arpdiddle m request 192 168 0 1 192 168 0 2 192 168 0 1 is at 00 30 84 9d e4 c5 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 who has 192 168 0 1 Tell 192 168 0 2 00 50 ba c5 6a 2a 00 30 84 9
31. 00 00 00 00 Fausse adresse de broadcast avec 8 bits de poids fort 1 Nous allons tudier le comportement des diff rents syst mes d exploitation face certains types de requ tes ARP Pour cela on envoie plusieurs types de trames ARP et on regarde s il y a une r ponse Ce test sera effectu dans un premier temps en mode normal puis en mode promiscuous Voici les r sultats MAC dst Windows 9x ME Windows 2k NT4 Linux 2 2 2 4 normal promiscuous normal promiscuous normal promiscuous FF FF FF FF FF FF v v v v v v FF FF FF FF FF FE 2 V4 V4 z V4 FF FF 00 00 00 00 FF 00 00 00 00 00 F gt v v R ponse ARP Pas de r ponse Figure 3 26 Etude du comportement de syst mes face des requ tes ARP On remarque que les fausses adresses de broadcast en jaune permettent de diff rencier si une station est en mode normal ou en mode promiscuous En effet lorsque l on transmet une trame en mode normal avec ce type d adresse on s aper oit qu elle est ignor e tandis que si la carte est en mode promiscuous une r ponse est envoy e Nous avons donc trouv une proc dure permettant de d terminer si une machine est en mode promiscuous ou non C est a partir de cette proc dure que nous allons d velopper un outil de d tection de carte en mode promiscuous On utilise ce programme apr s l avoir con u on le nomme PND pour Promiscuous Node Detecti
32. 2 168 0 1 TCP 1027 gt 30 SYN Seq 923922964 Ack 0 192 168 0 1 gt 192 168 0 2 TCP 30 gt 1027 SYN ACK Seq 1767885 Ack 923922965 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 30 ACK Seq 923922965 Ack 1767886 Le client envoie un message au serveur 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 30 PSH ACK Seq 923922965 Ack 1767886 Data bonjour serveur 192 168 0 1 gt 192 168 0 2 TCP 30 gt 1027 ACK Seq 1767886 Ack 923922984 L attaquant envoie un paquet falsifi semblant provenir du client et contenant des donn es destin es au serveur 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 30 PSH ACK Seq 923922984 Ack 1767886 Data devine qui c est Le serveur acquitte les donn es 192 168 0 1 gt 192 168 0 2 TCP 30 gt 1027 ACK Seq 1767886 Ack 923923002 Le client continue sa discussion avec le serveur Probl me le num ro de s quenc st inf rieur a la valeur acquitt e par le serveur a cause des donn es inject es eof 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 30 PSH ACK Seq 923922984 Ack 1767886 Data reponds moi Le client ne re oit pas l acquittement attendu il met nouveau le datagramme 192 168 0 1 gt 192 168 0 2 TCP 30 gt 1027 ACK Seq 1767886 Ack 923923002 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 30 PSH ACK Seq 923922984 Ack 1767886 Data reponds moi LE GUEN R amp AUGUSTIN B 33 Usurpation d identit sur E
33. 23922984 tsval 16270 Tentons a pr sent d envoyer un message quelconque au serveur en empruntant cette connexion Cette op ration est r alis e grace a la commande send du programme hijack Injection de donn es send devine qui c est 192 168 0 2 1027 seq 923923002 tsval 16565 LE GUEN R amp AUGUSTIN B 32 Usurpation d identit sur Ethernet Voyons si l injection de donn es a fonctionn en analysant les messages affich s par le serveur 192 168 0 1 nestor a v w p 30 Nestor ready Connection from 192 168 0 2 1027 19 bytes received Cha ne envoy e par le vrai client bonjour serveur 18 bytes received Les donn es inject es sont bien affich es par le serveur devine qui c est L injection des donn es a bien fonctionn Le serveur a bien re u la cha ne croyant qu elle provenait du client et l a affich e dans le terminal Voyons pr sent ce qu il en est c t client Apr s l envoi du paquet falsifi le client envoie le message r ponds moi au serveur Or ce message n est pas affich dans la console du serveur TCP ne l a probablement pas pris en compte En fait la connexion est compl tement perdue aucune des trames envoy es par le client apr s l attaque n est re ue par le serveur Pour expliquer ce ph nom ne observons la trace de l analyseur Etablissement de la connexion d tection par l attaquant 192 168 0 2 gt 19
34. 4 214 10 132 gt 194 214 10 202 P 1423 gt 80 ACK 10 0 020820 194 214 10 132 gt 194 214 10 202 TCP 1423 gt 80 FIN ACK 11 0 020917 194 214 10 202 gt 194 214 10 132 TCP 80 gt 1423 ACK 12 0 477103 193 51 100 100 gt 194 214 10 132 DNS Standard query response A 200 200 200 200 Figure 3 16 Trace Ethereal la concurrence temporelle des r ponses DNS La trace Ethereal nous montre que la fausse r ponse trame N 2 est interpr t e avant la r ponse du serveur DNS trame N 12 Dans un deuxi me lieu nous nous apercevons que la station victime se connecte sur notre serveur http trame de 3 a 11 en bleu et non sur le serveur de la banque L attaque a r ussi Finalement l utilisateur de la station victime va se trouver rediriger sur la station attaquante Pour simuler le site de la banque nous avons install sur la machine attaquante un serveur http Ce serveur http programm par nos soins va nous permettre d envoyer a chaque connexion une page html Utilisation du multi serveur nestor ici en mode http C gt nestor v w p 80 a s index html Nestor ready Nestor est configur de telle mani re ce qu il envoi le fichier index html lorsqu une connexion est tablie sur le port http savoir le port TCP 80 La page http envoy e index html se trouvera tre la copie originale de la page d accueil du serveur http de la banque Lorsque la victime se connecte la fausse banque en ligne
35. 53 utilis e pour partager le fichier a rendu ce syst me inutilisable dans une perspective mondiale L augmentation du nombre de machine sur le r seau a rendu consid rable le d bit n cessaire au niveau du serveur pour l envoi du fichier HOSTS TXT vers toutes les machines du r seau Le temps de mise jour du fichier posait de r els probl mes pour les personnes d sirant cr er leur nom de domaine Ces difficult s d administration ont finalement entra n des quipes de recherche a trouver de nouvelles solutions IEN 116 RFC 799 RFC 819 RFC 830 Ces recherches ont abouti sur un principe simple permettant de r gir les noms de domaines de fa on hi rarchique en utilisant le caract re comme s parateur de niveau hi rarchique 3 1 2 Objectifs de la conception du DNS Les objectifs de cr ation du DNS ont influenc largement sa structure et ce pour plusieurs raisons Le syst me con u doit pouvoir tre multi plateforme c est a dire qu il peut tre utilisable aussi bien par des postes clients que par des mainframes La compatibilit du syst me doit tre totale pour tre fonctionnelle Les transactions avec le serveur de noms ne doivent pas tre d pendantes du syst me de communication utilis Le protocole doit pouvoir g rer tout les types d adresses de classe 3 ex IP X25 Le protocole doit pouvoir servir identifier la fois des adresses de courriers lectroniques ou de machines
36. 92 168 0 1 gt 192 168 0 2 TCP 1026 gt 21 ACK L usurpateur envoie des donn es la victime qui croit recevoir un message de 192 168 0 2 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 LE GUEN R amp AUGUSTIN B 18 Usurpation d identit sur Ethernet 192 168 0 2 gt 192 168 0 1 TCP 21 gt 1026 PSH ACK Data Bonjour je suis 192 168 0 3 youpi 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 192 168 0 2 gt 192 168 0 1 TCP 21 gt 1026 FIN ACK 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a 192 168 0 1 gt 192 168 0 2 TCP 1026 gt 21 ACK 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a 192 168 0 1 gt 192 168 0 2 TCP 1026 gt 21 FIN ACK 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 192 168 0 2 gt 192 168 0 1 TCP 21 gt 1026 ACK Jusqu a pr sent nous avons consid r que les trois machines victime usurp et usurpateur se trouvaient sur le m me segment Ethernet Mais imaginons a pr sent que nous empoisonnions non pas une simple station mais un routeur donnant acc s au r seau interne Sur ce r seau se trouve un serveur auquel on a acc s depuis l ext rieur par exemple depuis Internet via le routeur En dupant le routeur sur la v ritable adresse MAC du serveur il est possible de rediriger vers notre machine toutes les connexions en provenance de l ext rieur et destination du serveur Par exemple s il s agit du serveur Web de notre entreprise accessible depuis Internet nous
37. Attaquante On obtient C gt madDNS exe REQUEST FOUND From 192 168 0 1 To 2 192 LEa Lel Requete www google fr Uniqueldent 0x4673 LE GUEN R amp AUGUSTIN B 43 Usurpation d identit sur Ethernet Cette trace repr sente une requ te de r solution de la station 192 168 0 1 la victime aupr s du serveur DNS La station 1 veut priori conna tre l adresse IP de www google fr Notre capacit d terminer les requ tes de r solution DNS en temps r el va nous permettre de pouvoir r pondre celle ci la place du serveur La librairie WinPCap va nous permettre de forger de faux paquets de r ponses DNS Nous allons pour cela modifier le programme madDNS de fa on ce qu il puisse forger un paquet de r ponse automatiquement lorsqu il intercepte une requ te La victime recevra de fausses informations concernant l identit du domaine La r solution attendue par la victime ne sera pas l IP du domaine mais notre IP La station leurr e aura finalement l impression de communiquer avec le domaine alors qu en fait elle communiquera avec l attaquant On int gre le syst me pour forger le paquet DNS dans madDNS puis on l ex cute partir de attaquant Lorsque victime veut consulter par exemple une page en ligne sur www google fr madDNS lanc sur victime intercepte la requ te et envoi une fausse r ponse en se faisant passer pour le serveur DNS C gt ma
38. LE GUEN R amp AUGUSTIN B 21 Usurpation d identit sur Ethernet Les messages affich s par le serveur confirment la supercherie 192 168 0 1 nestor v p 21 s msg txt t 192 168 0 2 Nestor ready Le serveur dialogu n r alit avec 192 168 0 3 usurpateur Connection from 192 168 0 2 1027 Sending msg txt 65 bytes Connection closed Voici la trace des trames captur es par l analyseur 00 50 ba c5 b ar2 gt Ef f s f2 ff ARP Who has 192 168 0 1 Tell 192 168 0 3 Attaque ARP La trame semble provenir de 192 168 0 2 et associe notre adresse MAC 00 50 ba c5 6a 2a dans le cache de la victime 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 ARP Who has 192 168 0 1 Tell 192 168 0 2 L usurpateur initialise une connexion avec le serveur La translation d adresse a modifi l adresse source en 192 168 0 2 mais l adresse MAC source est bien la n tre 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 21 SYN Le serveur accepte la connexion croyant dialoguer avec 192 168 0 2 La trame nous est destin e physiquement 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a 192 168 0 1 gt 192 168 0 2 TCP 21 gt 1027 SYN ACK 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 192 168 0 2 gt 192 168 0 1 TCP 1027 gt 21 ACK Le serveur envoie son invite 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a 192 168 0 1 gt 192 168 0 2
39. PROJET TUTORE pr sent par Brice AUGUSTIN et Romain LE GUEN USURPATION D IDENTITE SUR ETHERNET Tuteur M R gis Fournier Universit paris XII IUT de Cr teil Vitry Usurpation d identit sur Ethernet Les scrupules et la grandeur ont t de tout temps incompatibles et ces maximes faibles d une prudence ordinaire sont plus propres d biter l cole du peuple qu celle des grands seigneurs Le crime d usurper une couronne est si illustre qu il peut passer pour une vertu chaque condition des hommes a sa r putation particuli re l on doit estimer les petits par la mod ration et les grands par l ambition et par le courage Un mis rable pirate qui s amusait prendre de petites barques du temps d Alexandre passa pour un inf me voleur et ce grand conqu rant qui ravissait les royaumes entiers est encore honor comme un h ros Cardinal de RETZ La Conjuration du comte de Fiesque p25 26 Oeuvres Biblioth que de la Pl iade LE GUEN R amp AUGUSTIN B 2 Usurpation d identit sur Ethernet Remerciements Nous tenons en premier lieu a remercier Monsieur R gis Fournier tuteur de ce projet pour nous avoir si bien encadr tout au long de cette tude ainsi que pour sa disponibilit et sa sympathie Nous remercions le chef de d partement Monsieur Mellouk pour nous avoir dispens ces deux derni res ann es les cours de r seau et sans qui ce projet n aurait pu aboutir N
40. RP packet August 2001 version 1 0 Translated by Kelvin King Pang Tsang IEN 116 J Postel Internet Name Server IEN 116 USC Information Sciences Institute August 1979 A name service obsoleted by the Domain Name System but still in use IPTABLES Pages de manuel de iptables sous Linux Firewall capable de faire de la translation d adresse RFC 791 J Postel Internet Protocol September 1981 Replaces RFC 760 IENs 128 123 111 80 54 44 41 28 26 RFC 792 J Postel ISI Internet Control Message Protocol September 1981 Updates RFCs 777 760 and IENs 109 128 RFC 793 J Postel ISI Transmission Control Protocol3 September 1981 Updates RFC 793 Replaces RFC 761 IENs 129 124 112 81 55 44 40 27 21 5 RFC 799 D Mills Internet Name Domains RFC 799 COMSAT September 1981 Suggests introduction of a hierarchy in place of a flat name space for the Internet RFC 819 Z Su and J Postel The Domain Naming Convention for Internet User Applications RFC 819 Network Information Center SRI International August 1982 Early thoughts on the design of the domain system Current implementation is completely different RFC 826 An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses to 48 bit Ethernet Address for Transmission on Ethernet Hardware RFC 830 Z Su A Distributed System for Internet Name Service RFC 830 Network Information Center SRI Intern
41. ammation WINPCAP pour forger les paquets Ce paquet aura le bit RST 1 un num ro de s quence m 1 et un num ro d acquittement n 1 avec m et n les num ros respectif de s quence et d acquittement LE GUEN R amp AUGUSTIN B 52 Usurpation d identit sur Ethernet Finalement sur le segment on aura 1 Connexion TCP tablie 192 168 0 1 192 168 0 2 Victime Attaquant Faux serveur Figure 3 24 Parade d un IDS par TCP reset Le syst me mis en place va d tecter les connexions TCP ill gales et les fermer Garantissant la victime de ne pas voir ses informations confidentielles d tourn es Toutes les m thodes tudi es jusqu pr sent fonctionne sur un principe d interruption de connexion nous allons maintenant tudier une nouvelle technique permettant non pas de tuer une connexion mais tout simplement de d tecter les cartes r seaux en mode promiscuous 3 5 2 D tection des n uds en mode promiscuous La d tection des cartes r seaux en mode promiscuous va nous permettre de neutraliser l origine les tentatives d interceptions d informations de quelque nature que ce soit La ma trise de ce genre de d tection va largir le champs de protection sur les r seaux locaux En effet on constate bien souvent que les failles de s curit sont bas es sur le sniffing Ce dernier permet un pirate de conna tre et de pr voir les agissements d une victime mais aussi de r cup
42. amp AUGUSTIN B 23 Usurpation d identit sur Ethernet La redirection effectu e il faut s occuper des paquets que nous envoient les deux machines dup es Attaquant 192 168 0 3 1 Attaque ARP 1 Attaque ARP 3 Proxy routage AE Flux redirig 4 Envoi vers le v ritable destinataire N A Interlocuteur 1 Interlocuteur 2 192 168 0 1 192 168 0 2 Figure 1 7 Man in the Middle Redirection de connexion 1 3 3 1 Reroutage sans modification des donn es La premi re possibilit est de laisser s en charger le module de routage de notre machine Cette op ration s effectue simplement sous Linux en activant le routage 192 168 0 3 echo 1 gt proc sys net ipv4 ip_forward La principale limitation est que nous n avons aucun acc s aux donn es chang es et par cons quent il nous est impossible de les modifier La trace suivante confirme l activation du routage sur la machine de l attaquant apr s l attaque on se connecte partir de 192 168 0 2 sur le serveur FTP de 192 168 0 1 Attaque ARP dans le cache de chaque machine on associe l adresse IP de l autre machine avec notre adresse MAC 00 a0 cc d4 e9 ee gt 00 a0 24 d1 96 10 ARP Who has 192 168 0 1 Tell 194 214 10 2 00 a0 cc d4 e9 ee gt 00 a0 24 d1 95 d0 ARP Who has 192 168 0 2 Tell 192 168 0 1 Sur 192 168 0 2 on lance la connexion sur le serveur FTP de 192 168 0 1 La trame est adress e physiqueme
43. ar des points Les adresses IP sont donc cod es sur 32 bits MAC Adresse identifiant un l ment actif sur un r seau au niveau 2 OSI et constitu e de l OUI de la soci t l ayant fabriqu et d un nombre 24 bits attribu par la soci t en question MiM Man in the middle Technique avanc e de redirection de flux Promiscuous Mode la carte r seau permettant de passer outre le filtre hardware TCP Tranmission Control Protocol Assure le contr le de flux et la qualit de service au dessus d IP Sniffing couter une ligne par laquelle transitent des paquets de donn es pour r cup rer la vol e et ill galement les paquets qui peuvent tre int ressants qui contiennent par exemple le mot password Spoofing Usurpation Mystification sur un r seau On peut faire de l address spoofing de l IP spoofing ou encore du web spoofing SSL Secure Socket Layer sockets s curis es utilis es principalement par Netscape l origine puis reconnues par l ISOC permettant l acheminement de donn es s curis es UDP User datagramme protocole Protocole permetant d acheminer des paquets en mode datagramme sans contr le de flux LE GUEN R amp AUGUSTIN B 57 Usurpation d identit sur Ethernet Annexes Annexe 1 Cr ation et envoi de paquets bruts sur un r seau Annexe 2 Utilisation des programmes d velopp s pour le projet Annexe 3 Code source des programmes Dans l ordre
44. ational October 1982 Early thoughts on the design of the domain system Current implementation is completely different RFC 952 K Harrenstien M Stahl E Feinler DoD Internet Host Table Specification RFC 952 SRI October 1985 Specifies the format of HOSTS TXT the host address table replaced by the DNS RFC 953 K Harrenstien M Stahl E Feinler HOSTNAME Server RFC 953 SRI October 1985 This RFC contains the official specification of the hostname server protocol which is obsoleted by the DNS This TCP based protocol accesses information stored in the RFC 952 format and is used to obtain copies of the host table RFC 1034 P Mockapetris ISI Domain Name Server Concepts de base Concepts de base concernant le DNS RFC 1035 Mockapetris P Domain Names Implementation and Specifications STD 13 RFC 1035 November 1987 RFC 2845 P Vixie ISI Secret Key Transaction Authentication for DNS TSIG Concepts de base concernant le DNS RFC 2930 D Eastlake 3 Motorola Secret Key Establishment for DNS TKEY RR Concepts de base concernant le DNS WINPCAP Winpcap Documentation Copyright c 2002 Politecnico di Torino All rights reserved Loris Degioanni degioanni polito it NetGroup Politecnico di Torino http winpcap polito it LE GUEN R amp AUGUSTIN B 63 Usurpation d identit sur Ethernet Sites de r f rence http malm tuxfamily org Code source des programmes d velopp s pou
45. d e4 c5 who has 192 168 0 1 Tell 192 168 0 2 laz A pr sent lorsque la victime va vouloir envoyer un paquet IP 192 168 0 2 les trames nous seront physiquement adress es Cependant un probl me survient du c t de la machine de l attaquant La carte r seau re oit la trame d couvre qu elle lui est adress e et que le protocole encapsul est IP Elle passe donc les donn es la couche IP de notre machine C est ce niveau que le probl me survient la couche IP v rifie en premier lieu que l adresse IP destination du paquet correspond bien sa propre adresse IP mais ce n est pas le cas En effet ce champs a t rempli par la victime 192 168 0 1 qui est persuad e de discuter avec le serveur 192 168 0 2 LE GUEN R amp AUGUSTIN B 16 Usurpation d identit sur Ethernet En toute logique notre machine carte alors le paquet tout en envoyant une redirection ICMP a l metteur bern Ce message d erreur est sens indiquer l metteur qu il s est tromp de passerelle gateway pour sortir du r seau local Donc du point de vue de la victime nous avons toutes les caract ristiques d un routeur les trames nous sont adress es physiquement mais l adresse Internet des paquets n est pas la n tre Tout ce que nous avons faire c est intercepter les paquets entrants destination du port TCP 21 avant qu ils ne soient trait s par la couche r seau et modifier le champ adresse destination de l
46. dDNS exe REQUEST FOUND From 192 168 0 1 To 5 192 oe 1 Requete www google fr Uniqueldent 0x4673 RECEPTION OK FORGING DNS REPLY Ethernet OK IP OK UDP OK DNS OK Sending FROM 192 168 1 1 TO 192 168 0 1 gt gt OK DNS REPLY OK C gt Le contexte pr c dent n est plus valable on en arrive ce contexte ci Victime Attaquant 192 168 1 1 Trajet de la requ te Victime gt Serveur D e Fausse r ponse Attaquant gt Victime Go Vrai r ponse Serveur gt Victime Figure 3 14 R solution DNS apr s lancement de madDNS La r ponse du serveur est en concurrence avec celle de l attaquant cependant la victime interpr te la premi re r ponse qui lui parvient Attaquant tant plus proche de Victime la fausse requ te est interpr t e et la bonne requ te est limin e LE GUEN R amp AUGUSTIN B 44 Usurpation d identit sur Ethernet Time IP src IP dst Informations 1 0 000000 194 214 10 132 gt 193 51 100 100 DNS Standard query A www google fr 2 0 002254 193 51 100 100 gt 194 214 10 132 DNS Standard query response A 192 168 0 1 3 0 498737 193 51 100 100 gt 194 214 10 132 DNS Standard query response A 216 239 57 99 Temps de latence mesur Cette trace montre bien le d lai entre la r ception du faux en rouge et du vrai paquet en vert de r ponse au niveau de la victime Le temps de
47. dans les connexions SSL Il pourra a cet instant jouer le r le de pont de mani re compl tement transparente voir invisible pour les deux interlocuteurs victime et achat com mais il pourra aussi enregistrer tout le trafic non crypt LE GUEN R amp AUGUSTIN B 47 Usurpation d identit sur Ethernet Le r seau aura finalement la topologie logique suivante 192 168 0 Connexion s curis e SSL Attaquant D A SS 192 168 0 ave Connexion Victime RARES s curis e SSL INTERNET SERVEUR WEB www achat com 100 100 100 100 ROUTEUR Figure 3 18 les top level et leurs utilisations Au niveau protocolaire on proc dera sur la station de l attaquant une d capsulation et une r encapsulation de mani re pouvoir lire et enregistrer les donn es confidentielles circulant travers les liens pseudo s curis s voir figure ci dessous Victime Attaquant Achat com Message non crypt Utilisateur victime Utilisateur attaquant Utilisateur Achat com SSL SSL SSL SSL TCP TCP TCP TCP IP IP IP IP Ethernet II Ethernet II Ethernet II gt Ethernet II Trajet d un paquet Figure 3 19 Encapsulation et d capsulation d un message crypt L attaquant pourra d s lors intercepter tout le trafic transitant sur le segment Cette interception se fera de mani re totalement transparente pour les deux interlocuteurs qui aur
48. de n importe quel protocole r seau Nous supposons aussi que nous sommes capables d intercepter toute trame transmise sur le r seau m me si elle ne nous est pas destin e physiquement Cette op ration est r alis e en faisant passer la carte r seau en mode PROMISCUOUS mode de fonctionnement qui limine le filtrage r alis par le mat riel sur les adresses destination de l ent te Ethernet L encore Linux fournit un m canisme simple pour modifier les drapeaux flags des p riph riques r seau via l appel syst me ioctl La r alisation de telles op rations n est pas possible sous Windows de mani re native parce que les RAW sockets ne sont que partiellement impl ment es En revanche un pilote capable de s intercaler dans la pile de protocole Wni32 est disponible sur le web WinPcap permet par cons quent de communiquer avec le pilote de la carte r seau avec autant de simplicit que sous Linux Pour des raisons de s curit videntes les RAW sockets sous Linux et le pilote Windows ne sont manipulables que par le root LE GUEN R amp AUGUSTIN B 59 Usurpation d identit sur Ethernet Annexe 2 Utilisation des programmes d velopp s pour le projet ARPDIDDLE arpdiddle permet de corrompre le cache ARP d une machine sur un r seau local Ethernet en envoyant des paquets ARP falsifi s Utilisation Ex cuter arpdiddle sans param tre pour afficher la liste des options c count d finir le
49. e trouvant l adresse http www banque net Cette utilisateur se trouve sur le poste Victime 192 168 0 1 192 168 0 2 ROUTEUR SERVEUR WEB www banque net 200 200 200 200 Figure 3 15 Contexte d usurpation de domaine La station victime voulant communiquer avec le serveur www banque net et n ayant aucune connaissance de son adresse IP va effectuer une requ te DNS aupr s de son serveur de r solution LE GUEN R amp AUGUSTIN B 45 Usurpation d identit sur Ethernet A ce moment la madDNS lanc sur Attaquant va intercepter la requ te et renvoyer une fausse trame de r ponse Cette fausse r ponse indiquera que le domaine www banque net se trouve non pas l adresse 200 200 200 200 mais sur 192 168 0 2 la station attaquante On analyse le tout l aide d Ethereal 1 0 000000 194 214 10 132 gt 193 51 100 100 DNS Standard query A www banque net 2 0 003871 193 51 100 100 gt 194 214 10 132 DNS Standard query response A 194 214 10 202 3 0 005433 194 214 10 132 gt 194 214 10 202 TCP 1423 gt 80 SYN 4 0 005534 194 214 10 202 gt 194 214 10 132 TCP 80 gt 1423 SYN ACK 5 0 005809 194 214 10 132 gt 194 214 10 202 TOP 1423 gt 80 ACK 6 0 006541 194 214 10 132 gt 194 214 10 202 HTTP GET HTTP 1 7 0 008754 194 214 10 202 gt 194 214 10 132 HTTP Continuation 8 0 009486 194 214 10 202 gt 194 214 10 132 TCP 80 gt 1423 FIN ACK 9 0 009745 19
50. en re u les donn es et incr mente son num ro de s quence de 7 octets Lors de la prochaine mission il utilisera cette nouvelle valeur comme num ro de s quence 2 1 2 3 Coupure de la connexion Quand une machine n a plus besoin de dialoguer avec l autre elle ferme la connexion en mettant un datagramme dont le bit FIN est allum Elle ne pourra donc plus mettre mais par contre son interlocuteur pourra continuer lui transmettre des donn es la lib ration de la connexion TCP se fait donc en deux phases ind pendantes 2 2 Vol d une connexion TCP Nous connaissons maintenant tous les l ments qui permettent d identifier une connexion TCP Voyons pr sent comment utiliser ces informations dans le but de d tourner une session 2 2 1 Injection de donn es Il nous faut tout d abord tre capables de d tecter l initialisation d une connexion entre les deux h tes Cette op ration d espionnage est r alis e simplement en analysant toutes les trames qui circulent sur le r seau local et en recherchant des paquets qui correspondent certains crit res fix s au pr alable Adresses Internet source et destination Protocole de transport TCP Ports source et destination Quand la connexion est d tect e il faut tenir jour les num ros de s quence des deux interlocuteurs car ceux ci vont probablement s changer des donn es Il suffit de d tecter les datagrammes d acquittement chang s et de
51. ent du protocole ARP Les machines qui impl mentent la couche TCP IP utilisent leurs adresses IP pour communiquer Sur un r seau Ethernet un adressage physique s ajoute cet adressage logique c est le r le de la sous couche MAC qui permet d identifier les machines gr ce l adresse MAC de leur carte r seau Pour respecter l ind pendance des couches impos e par le mod le OSI la couche TCP IP et les protocoles utilisateur travaillent uniquement avec des adresses IP Par cons quent elles n ont aucune connaissance des adresses MAC qui y sont associ es Le protocole ARP permet justement d tablir dynamiquement une correspondance entre les deux types d adresses c est dire de trouver l adresse MAC associ e une adresse Internet Lorsqu une machine tente d tablir une communication elle doit d abord r cup rer l adresse MAC du destinataire Une requ te ARP arp request est alors envoy e en broadcast diffusion sur le r seau local Toutes les machines re oivent ce paquet mais seul le destinataire r pond puisqu il a identifi sa propre adresse IP dans l ent te ARP II forge alors une r ponse ARP arp reply adress e l metteur qui connaissant pr sent l adresse physique de son interlocuteur peut entamer une discussion avec lui 0 15 31 ID adresse physique ID adresse logique Lg phys Lg logique Opcode Adresse physique SOUrCe Adresse logique SOUrce Adres
52. est vide 192 168 0 1 arp a Aucune entr e ARP trouv e Attaque ARP 192 168 0 3 arpdiddl i 0 m request 192 168 0 1 192 168 0 2 Redirection vers 00 50 ba c5 6a 2a 192 168 0 2 is at 00 30 84 9d e4 c5 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 Who has 192 168 0 1 Tell 192 168 0 2 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 Who has 192 168 0 1 Tell 192 168 0 2 323 44 Une entr e concernant 192 168 0 2 a t cr e par la victime L adresse physiqu st erron c est celle de l attaquant 192 168 0 1 arp a Adresse Internet Adresse physique Type 192 168 0 2 00 50 ba c5 6a 2a dynamique Remarque la victime poss de maintenant une entr e associant 192 168 0 2 avec notre adresse physique Si nous avons pu avec une simple requ te modifier volontairement ce cache les autres machines peuvent le faire aussi simplement en cherchant r soudre une adresse sur le r seau Imaginons maintenant que 192 168 0 2 ait besoin pour une raison quelconque de dialoguer avec 192 168 0 1 Elle va tout naturellement envoyer une requ te ARP sur le r seau requ te qui contient des informations exactes sur ses adresses physique et logique En recevant cette trame 192 168 0 1 va de nouveau mettre jour son cache et cette fois avec des informations exactes tout notre travail est alors perdu Il faut donc tout prix emp cher la machine dont on prend l identit d mettre des requ tes ARP pendant toute la dur e de
53. eurs utilisations courantes Logique de r solution DNS Algorithme de r solution DNS Echange de paquets de r solution de domaine sur un bus Encapsulation du protocole DNS dans le pile de protocole L impl mentation du protocole DNS Valeurs du champ Flags les plus utilis s Exemple de requ te DNS Ethereal Exemple de r ponse DNS Ethereal La topologie en bus R solution DNS type sur un segment R solution DNS apr s lancement de madDNS Contexte d usurpation de domaine Trace Ethereal la concurrence temporelle des r ponses DNS Connexion s curis e sur bus Ethernet Les top level et leurs utilisations Encapsulation et d capsulation d un message crypt Les top level et leurs utilisations Algorithme de pr vention d attaque DNS Parade d un IDS par ARP cache poisoning Parade d un IDS par ICMP unreachable Parade d un IDS par TCP reset Effet du filtrage hardware Etude du comportement de syst mes face des requ tes ARP LE GUEN R amp AUGUSTIN B Usurpation d identit sur Ethernet Introduction Ce rapport se propose de vous faire d couvrir a travers la pr sentation et la s curisation de failles les tenants et les aboutissants de l usurpation d identit sur Ethernet Ethernet se pr sente comme une solution standard largement utilis e dans les petites comme dans les grandes entreprises pour mettre en place des r seaux locaux Ces r seaux locaux impl
54. ions et perspectives L usurpation de l identit d une machine semble donc tre chose ais e sur Ethernet L efficacit des techniques pr sent es est maximale et la r alisation des programmes pour les mettre en pratique ne pose pas de difficult technique particuli re Elles donnent finalement lieu a des applications aussi nombreuses que diverses qui sont limit es uniquement par la puissance du ou des logiciels qui traitent les flux d tourn s logiciel de routage serveur Cette polyvalence ajout e au fait que nous intervenons sur les couches basses du mod le OSI rend vuln rable la plupart des machines du simple ordinateur de bureau au routeur en passant par les serveurs de donn es Pourtant des parades existent et sont relativement simples a mettre en pratique N anmoins on s aper oit que ces derni res sont rarement mises en uvres Tout ceci est rendu possible grace au principe m me du protocole Ethernet qui fait que chaque trame mise sur un segment peut tre lue par n importe quelle station de ce segment Ces attaques sont donc confin es ce seul type de r seau Sur Internet on ne peut bien videmment s appuyer ni sur la redirection de flux de niveau 2 ni sur l espionnage des paquets chang s l usurpation d une adresse IP tient donc sur le Web de la haute voltige LE GUEN R amp AUGUSTIN B 56 Usurpation d identit sur Ethernet Lexique ARP Address Resolution Protocol Ce protoc
55. ique source au lieu de contenir la v ritable adresse MAC contiendra notre propre adresse physique Comme nous l avons mentionn une requ te ARP est envoy e en diffusion broadcast Par cons quent le v ritable possesseur de l adresse IP que nous voulons rediriger va voir passer cette trame et d tecter une mauvaise configuration du r seau LE GUEN R amp AUGUSTIN B 14 Usurpation d identit sur Ethernet Pour viter cela nous allons tout simplement mettre notre requ te en unicast c est qu elle sera adress e physiquement a la victime Dans la pratique une machine n mettrait jamais une telle trame puisque cela reviendrait demander l adresse MAC d une machine alors que l on la conna t d j Mais il se trouve que la module ARP du r cepteur ne fait aucune v rification sur la coh rence entre les adresses de l ent te Ethernet et les donn es du paquet ARP En recevant cette trame la victime r pond naturellement cette requ te cette r ponse nous est physiquement adress e mais elle mest bien videmment d aucune utilit et dans un but d optimisation cr e ou met jour une entr e dans sons cache associant l adresse IP usurp e avec notre adresse MAC La partie est alors gagn e partir de cet instant tous les paquets envoy s par la victime destination de l adresse IP de la machine dont on usurpe l identit nous seront physiquement adress s Avant l attaque la table arp
56. l exp rience Pour r aliser cela il suffit de lui envoyer r guli rement des requ tes ARP qui sembleront provenir de 192 168 0 1 et qui mettrons jour son cache ARP 1 2 2 3 Systemes d exploitation vuln rables la corruption du cache ARP Les syst mes anciens sont vuln rables la corruption par envoi de fausses r ponses ARP Ce probl me a disparu sur les syst mes r cents O S WIN 95 WIN NT WIN XP LINUX L entr e existe Oui Non Oui Non Oui Non Oui Non ARP Request v v v v v v v v ARP Reply v v v v v X v X LE GUEN R amp AUGUSTIN B 15 Usurpation d identit sur Ethernet 1 3 Applications de l ARP Cache Poisoning Nous disposons maintenant d un outil arpdiddle qui permet de modifier le cache ARP d une machine a distance et d y associer une adresse IP quelconque a une adresse physique elle aussi quelconque Voyons a pr sent les diff rentes applications de cette technique 1 3 1 Usurper l identit d un serveur Pour cette manipulation 192 168 0 2 joue le r le du serveur 192 168 0 1 celui du client Notre but consiste a faire croire au client qu il a initialis une connexion avec le serveur alors qu en r alit il dialogue avec la machine de l attaquant Pour mener a bien cette exp rience nous installons un serveur basique sur 192 168 0 2 et 192 168 0 3 machine de l attaquant qui coute le port TCP 21 le choix du port est arbitraire Ce
57. la fermer si elle ne correspond pas celle attendue 192 168 0 1 nestor v p 21 s msg txt t 192 168 0 2 Soit par le firewall de Linux 192 168 0 1 iptables P INPUT DROP 192 168 0 1 iptables A INPUT s 192 168 0 2 j ACCEPT Lorsque l attaquant tente une connexion sur le port 21 du serveur la connexion est refus e 192 168 0 3 telnet 192 168 0 2 21 Trying 192 168 0 2 Connected to 192 168 0 2 Escape character is Connection closed by foreign host A premi re vue il ne semble pas n cessaire d usurper l identit physique de 192 168 0 2 une modification de l adresse IP source des paquets envoy s appara t tre la bonne solution Sous Linux l outil iptables permet de r aliser une translation d adresse source en une simple commande 192 168 0 3 iptables t nat A POSTROUTING p tcp d 192 168 0 1 dport 21 j SNAT to source 192 168 0 2 Dor navant l adresse source de tous les paquets correspondant une connexion destination du serveur sera automatiquement modifi e N anmoins on per oit la limite de cette technique lorsque la serveur met une r ponse Reprenons en d tail l tablissement de la connexion TCP L attaquant tente d tablir une connexion sur le port 21 du serveur il envoie donc un datagramme SYN et attend une r ponse du serveur Avant d tre pass la carte r seau l adresse IP du paquet est modifi e par iptables et devient 192 168 0 2
58. latence au niveau du serveur DNS environ 500ms soit une demi seconde nous laisse largement le temps de cr er et d envoyer une fausse requ te sur ce r seau Finalement la station cible est totalement aveugl e par le protocole L attaquant est parvenu a s approprier de l identit du domaine aux yeux de la victime 3 3 Attaques possibles bas es sur l usurpation d identit La faille d crite nous allons pouvoir nous tourner vers ses utilisations le d tournement d informations Plusieurs solutions sont envisageables pour profiter de ce probl me protocolaire La premi re id e nous venant l esprit serait de se faire passer pour le serveur lui m me c est dire de simuler enti rement son fonctionnement aussi bien au niveau physique qu au niveau logiciel L autre solution serait de servir de pont En d autres termes l attaquant se transformerai en une sorte de passerelle et ce de mani re totalement transparente pour la victime Cette technique se nomme I homme au milieu ou plus g n ralement Man in the middle MiM 3 3 1 Usurpation simple Cette approche va nous permettre de comprendre les cons quences d une telle faille Nous ne quitterons pas des yeux que le but de l attaque est finalement de r cup rer des informations confidentielles concernant la victime Pla ons nous maintenant dans la configuration suivante un utilisateur veut consulter son compte en banque travers un site en ligne s
59. le voir dans les chapitres pr c dents d couter le flux transitant sur le r seau et ce de mani re simple En utilisant le mode dit PROMISCUOUS de la carte r seau nous avons la capacit de r cup rer toutes les trames transitant sur le r seau Figure 3 12 La topologie en bus Par cons quent il nous est donc possible de r cup rer les flux concernant le protocole DNS Pour r cup rer les flux nous avons d velopp un logiciel permettant de visualiser en temps r el les requ tes DNS effectu es sur le bus Ce logiciel a t d velopp gr ce la librairie de programmation WinPcap WINPCAP II filtre dans un premier temps le protocole Ethernet II puis IP et enfin il ne r cup re que les paquets UDP qui ont un port destination gal a 53 port sp cifique au DNS Ce programme va dans un premier temps initialiser la carte r seau pour ensuite la passer en mode promiscuous Pla ons nous d s pr sent dans ce contexte Victime Attaquant 192 168 0 1 192 168 0 2 192 168 1 1 1 Trajet de la requ te Victime gt Serveur 2 R ponse Serveur gt Victime Figure 3 13 R solution DNS type sur un segment Le contexte ci dessus nous pr sente la proc dure g n rale pour une requ te de r solution DNS Dans un premier temps la station interroge le serveur DNS fl che rouge puis celui ci lui r pond fl che verte Nous d butons l analyse du protocole DNS a partir de la station
60. m thode peut se r v ler fastidieuse dans le cas d un r seau compos de centaines de machines De plus nos tests sous Windows NT ont montr qu une entr e statique peut toujours tre modifi e par une attaque ARP Le pr judice est d autant plus grave que dans ce cas l entr e n expire jamais contrairement aux entr es dynamiques par cons quent la machine empoisonn e conservera cette fausse indication jusqu a ce qu un administrateur d couvre la manipulation et y rem die 1 4 2 Patch du module ARP Dans la section 1 2 2 nous avons expos deux m thodes permettant de corrompre le cache ARP l envoi de requ tes falsifi es d une part de fausses r ponses d autre part Dans le cas des r ponses ARP la corruption est rendue r alisable par une erreur d impl mentation qui permet au syst me d exploitation de prendre en compte une r ponse m me s il n a jamais envoy de requ te auparavant Il est donc facile de rem dier ce probl me en modifiant le syst me de fa on ce qu il n accepte que les r ponses correspondant a des requ tes pr c demment mises C est pourquoi Windows XP et Linux ne sont plus sensibles cette attaque Dans le cas des requ tes mystifi es nous avons l encore utilis une astuce bas e sur le fait que le module ARP ne fait pas de v rification de coh rence entre les adresses de l ent te Ethernet et les donn es du paquet ARP Il suffirait donc de le patcher de fa
61. ne entr e dans sa table d s la r ception de la requ te la machine n aura pas a son tour a r soudre l adresse de son interlocuteur lorsque l change de donn es aura lieu Pour illustrer ce m canisme observons le cache ARP du destinataire d un ping apr s l change Les caches des deux machines sont vides 192 168 0 1 arp a Aucune entr e ARP trouv e 192 168 0 2 arp a Aucune entr e ARP trouv e 192 168 0 1 ping 192 168 0 2 Envoi d une requ te ping sur 192 168 0 2 avec 32 octets de donn es R ponse de 192 168 0 2 octets 32 temps 1 ms TTL 128 sa Comme 192 168 0 1 ne conna t pas l adresse physique de son interlocuteur il envoie d abord une requ te ARP puis met jour son cache 192 168 0 1 arp a Adresse Internet Adresse physique Type 192 168 0 2 00 30 84 9d e4 c5 dynamique 192 168 0 2 a lui aussi cr une entr e dans son cache alors qu il n a mis aucune requ te celle ci a t cr e a partir de la requ te qu il a re ue 192 168 0 2 arp a Adresse Internet Adresse physique Type 192 168 0 1 00 50 ba c5 6a 2a dynamique La technique employ e pour corrompre le cache ARP est alors similaire a l envoi de r ponses ARP On cr e une requ te ARP demandant la r solution de l adresse IP de la victime et contenant de fausses informations le champ adresse logique source contiendra l adresse de la machine dont on usurpe l identit et la champ adresse phys
62. nitialise automatiquement une connexion avec la seconde victime en se faisant passer pour la premi re De ce c t nous sommes donc un client aux yeux de la seconde machine Pour m moire l usurpation de l identit d un client est r alis e par la commande 192 168 0 3 iptables t nat A POSTROUTING p tcp d 192 168 0 2 dport x j SNAT to source 192 168 0 1 La redirection est alors compl te le proxy re oit des donn es en provenance d une des deux machines concr tement il attend des donn es sur les deux sockets qu il vient d initialiser et les envoie automatiquement a la seconde machine Bien entendu le proxy est tout a fait capable de modifier les donn es avant de les envoyer afin de fournir aux machines des r ponses falsifi es L introduction de nouvelles donn es a tout moment ou vincement d un des deux interlocuteurs est aussi envisageable et ne pose aucun probl me La figure 1 7 de dessus illustre ce m canisme LE GUEN R amp AUGUSTIN B 26 Usurpation d identit sur Ethernet 1 4 Parades contre la corruption de cache ARP 1 4 1 Cache ARP statique La premi re possibilit pour emp cher quiconque de modifier le cache ARP est de d finir statiquement l association adresse MAC adresse IP L ajout d une entr e dans la table est r alis par la commande suivante 192 168 0 1 arp s inet_addr eth_addr O inet_adar indique l adresse IP et eth_adadr l adresse MAC a associer Cette
63. nombre de trames ARP reply envoy es la victime d delay d lai d attente entre l envoi de deux trames m mode victime fausse adresse Le mode peut tre request ou reply et indique le type de paquet ARP envoyer requ te ou r ponse La victime est la machine dont le cache doit tre corrompu en ajoutant modifiant une entr e associant l adresse MAC de l attaquant avec l adresse IP fausse adresse i index pour choisir automatiquement cette interface parmi la liste des adaptateurs de la machine t X X X X X X adresse MAC ajouter au cache de la victime par d faut c est l adresse locale Compilation Version Windows et version Linux NESTOR Nestor permet de simuler de mani re tr s basique tout type de serveur Utilisation a affiche dans la console les donn es re ues sur la socket b host port pont de sockets c ferme la connexion apr s l envoi des donn es e echo f fichier crit dans le fichier les donn es re ues n count duplique les donn es envoy es p port port d coute s fichier envoie le fichier t hote accepte uniquement les connexions de cet h te v mode bavard W attend la r ception de data avant d en envoyer Compilation sous Windows ou Linux HIJACK hijack permet d espionner les connexions TCP sur un r seau local et d y injecter des donn es quelconques Utilisation i interface interface r seau a utiliser ethO par exemple p port
64. nt la machine de l attaquant charg e de router le paquet 00 a0 24 d1 95 d0 gt 00 a0 cc d4 e9 ee 192 168 0 2 gt 192 168 0 1 TCP 1430 gt 21 SYN Avant de router le paquet la machine de l attaquant met une redirection ICMP destination du client pour lui indiquer que l h te qu il cherche a atteindre se trouve en fait sur le m me r seau que lui 192 168 0 3 gt 192 168 0 2 ICMP Redirect Gateway 192 168 0 1 LE GUEN R amp AUGUSTIN B 24 Usurpation d identit sur Ethernet La machine de l attaquant a rout le paquet destination du serveur FTP l adresse IP source est celle du client 192 168 0 2 mais 1 adresse MAC sourc st celle de l attaquant 00 a0 cc d4 e9 ee gt 00 a0 24 d1 96 10 192 168 0 2 gt 192 168 0 1 TCP 1430 gt 21 SYN La r ponse du serveur FTP est aussi adress e notre carte r seau 00 a0 24 d1 96 10 gt 00 a0 cc d4 e9 ee 192 168 0 1 gt 192 168 0 2 TCP 21 gt 1430 SYN ACK 192 168 0 3 gt 192 168 0 1 ICMP Redirect Gateway 192 168 0 2 00 a0 cc d4 e9 ee gt 00 a0 24 d1 95 d0 192 168 0 1 gt 192 168 0 2 TCP 21 gt 1430 SYN ACK 00 a0 24 d1 95 d0 gt 00 a0 cc d4 e9 ee 192 168 0 2 gt 192 168 0 1 TCP 1430 gt 21 ACK 00 a0 cc d4 e9 ee gt 00 a0 24 d1 96 10 192 168 0 2 gt 192 168 0 1 TCP 1430 gt 21 ACK 00 a0 24 d0d1 96 10 gt 00 a0 cc d4 e9 ee 192 168 0 1 gt 192 168 0 2 FTP Response
65. nt cette adresse le paquet ARP est simplement ignor Avant l attaque on affiche la table d une machine tournant sous Windows XP ou Linux 192 168 0 1 arp a La table arp est vide Aucune entr e ARP trouv e LE GUEN R amp AUGUSTIN B 13 Usurpation d identit sur Ethernet 192 168 0 3 arpdiddle i 1 m reply 192 168 0 1 192 168 0 2 Redirection vers 00 50 ba c5 6a 2a 192 168 0 2 is at 00 30 84 9d e4 c5 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 192 168 0 2 is at 00 50 ba c5 6a 2a 00 50 ba c5 6a 2a 00 30 84 9d e4 c5 192 168 0 2 is at 00 50 ba c5 6a 2a le 192 168 0 1 arp a La table est toujours vide Aucune entr e ARP trouv e 1 2 2 2 Corruption du cache par envoi de requ tes ARP Il peut sembler bizarre que la r ception d une requ te puisse provoquer la modification du cache ARP de la machine Mais il ne faut pas perdre de vue que la table ARP a t cr e dans le but d optimiser la r solution des adresses en diminuant le nombre de requ tes mises sur le r seau Le module ARP exploite donc toutes les informations contenues dans les paquets ARP qu il re oit Par exemple si une machine re oit une requ te venant d un certain h te du r seau il y a fort parier pour que celui ci souhaite entamer une communication avec elle Or l change de donn es va g n ralement dans les deux sens par exemple une demande d cho est g n ralement suivie d une r ponse d cho En cr ant u
66. nviron DNS s annonce donc tre un protocole simple et facile mettre en place et finalement assez puissant cependant nous allons voir que ce protocole n est pas infaillible 3 2 Failles de s curit 3 2 1 Enjeux de la s curit Le transport de donn es confidentielles travers le r seau doit garantir a l utilisateur une totale confidentialit L acheminement des donn es doit pouvoir se faire de fa on totalement s curis e Nous imaginons ais ment combien il est important de garantir un lien s curis lors de la communication de certains mots de passe de num ros de cartes bleues ou encore de donn es strat giques industrielles Sachant qu un nom de domaine garanti l identit d une machine sur le r seau on en vient se demander si ces noms de domaine ne peuvent pas tre usurp s de mani re s approprier l identit d un serveur En s accaparant de l identit d une machine nous pourrions imaginer divers sc narios En usurpant l identit du nom de domaine d une banque en ligne nous aurions la capacit de r cup rer par exemple des num ros de compte en banque ou encore des mots de passes permettant l acc s des zones priv es de virement de fonds LE GUEN R amp AUGUSTIN B 42 Usurpation d identit sur Ethernet 3 2 2 Sp cificit des r seaux locaux Les r seaux locaux ont une topologie bien particuli re en bus La topologie en bus adopt e pour Ethernet permet comme nous avons pu
67. ole permet de traduire des adresses IP 32 bits en adresses Ethernet de 48 bits D fini par la RFC 826 Cache Poisoning Empoisonnement de la m moire tampon DNS domain name server ou domain name system Service essentiel de l Internet assurant la conversion des nom de domaine ex www linux france org en adresse IP ex 212 208 53 35 L int r t essentiel est de disposer de noms de machines plus faciles m moriser Domaine R gion de l Internet caract ris e par un ensemble d adresses trait es comme une seule dans les tables de routage Ethernet Norme de protocole de r seau local voir LAN relativement puissante et tr s r pandue invent en 1970 au PARC de Xerox par Bob Metcalfe qui l a d crit en 1974 dans sa th se de Doctorat de Physique puis repris par DEC Intel et Xerox normalis par l ISO et I IEEE avec le num ro 802 3 Hijacking Vole de connextion TCP ICMP Internet Control Message Protocol Protocole de gestion des erreurs de transmission II est utilis par exemple quand lors d un ping pour v rifier qu une machine reli e au Net est en tat de fonctionner IDS Intrusion Detection System Syst me de d tection des intrusions en quelque sorte la base de toute politique de s curit informatique synonyme NIDS IP Internet Protocol protocole de transmission de l Internet d crit aussi les adresses du r seau Une adresse IP est un groupe de quatre nombres qui sont quatre octets s par s p
68. on les sources de ce programme se trouvent en annexe Si on test la station 194 214 10 129 ona C gt PND exe 194 214 10 129 gt Start PacketForge gt Start PacketForge ETH OK gt Packet Successfully Send ARP gt HardwareType ETHERNET ARP gt reply fromMAC 00 aa ae 34 6e 21 fromlP 194 214 10 129 C gt Ce relev nous montre que la station a r pondu au test de mani re positive c est a dire que cette station est actuellement en mode promiscuous Si la station n avait pas t en mode promiscuous nous n aurions pas eu les deux lignes commen ant par ARP gt car aucune r ponse n aurait t d tect e LE GUEN R amp AUGUSTIN B 54 Usurpation d identit sur Ethernet 3 6 Conclusion L usurpation de noms de domaine se pr sente en d finitive comme un outil a large spectre octroyant a l utilisateur de cette technique des informations pouvant tre tr s sensible Finalement toutes les solutions envisag es nous permettent a condition qu elles soient mises en oeuvre de garantir l utilisateur une s curit totale sur le segment Ethernet Les nouvelles m thodes de d tection ainsi que les ripostes fournies programmes en annexe permettent a moindre co t de s curiser son r seau vis a vis de ce genre d attaque Il ne tient qu l administrateur de bien vouloir mettre ces outils en place LE GUEN R amp AUGUSTIN B 55 Usurpation d identit sur Ethernet Conclus
69. one2 TYPE CLASS REPONSE TAILLE VARIABLE TYPE CLASS Zope TEMPS DE VIE DE LA REPONSE LONGUEUR DE L ADRESSE DE ADRESSE RECHERCHE TAILLE REPONSE VARIABLE NOMS DES SERVEURS FAISANT AUTORITE Zoned Options Options ENREGISTREMENTS ADDITIONNELS Zones Options Options Figure 3 8 L impl mentation du protocole DNS LE GUEN R amp AUGUSTIN B 40 Usurpation d identit sur Ethernet Le protocole se divise en quatre grandes parties Dans la premi re partie zone1 nous retrouvons le transactionID qui permet de pr venir les ambiguit s en cas de requ tes similaires de la part de deux machines du r seau l image du champ identification du protocole IP Les flags permettent de d finir les options g n rales Les valeurs des indicateurs les plus fr quentes sont Code en hexad cimal Valeurs 0100 Requ te de type Question 8180 R ponse Sans Erreur 8183 R ponse Non trouv Figure 3 9 Valeurs du champ Flags les plus utilis s Dans la deuxi me partie zone2 nous retrouvons la Query autrement dit la demande adress e au serveur de r solution de noms Le champ nom d h te a rechercher contient la requ te proprement parler Le champ type contient un code permettant de connaitre le type d adresse a rechercher Ce champ est g n ralement a 1 pour HostAdress sur Ethernet Le champ class permet de d finir la classe de l adre
70. ont finalement l impression de communiquer l un avec l autre sur un pont de sockets s curis SSL L attaque MiM coupl au DNS cache poisoning se pr sente en d finitive comme tant une technique avanc e permettant la corruption de lien s curis et ce quelle que soit la nature de la s curisation r alis e sans que les interlocuteurs ne soient un quelconque moment au courant Le DNS cache poisoning s av re tre l origine de plusieurs attaques audacieuses et c est la raison pour laquelle nous allons d s pr sent nous int resser au moyen possible de d tecter et de s curiser cette faille LE GUEN R amp AUGUSTIN B 48 Usurpation d identit sur Ethernet 3 4 Solutions existantes Aux vues de ces probl mes protocolaires les organismes de normalisation ont tent de trouver des rem des concernant les attaques de cache poisoning Ces recherches ont finalement donn naissance au DNS authentification 3 4 1 DNS authentification Le DNS authentification RFC 2845 permet un utilisateur de garantir l origine d une r solution DNS Cette authentification repose sur le partage de cl priv e de cryptage entre le serveur DNS et une entit cliente a travers une signature de transaction TSIG pour Transaction SiGnature Le probl me induit par ce partage est la diffusion des cl s priv es En effet ces cl s ne peuvent pas transiter par le r seau sachant qu elles risqueraient d
71. ous remercions Monsieur Eric Del chelle pour son coute et ses pr cieux conseils LE GUEN R amp AUGUSTIN B 3 Usurpation d identit sur Ethernet R sum Les r seaux locaux en bus de plus en plus utilis s offrent aux pirates des facilit s leurs permettant de d tourner de mani re simple des informations sensibles L usurpation d identit est fond e sur le fait qu Ethernet autorise quiconque le souhaite de voir le flux circulant sur le r seau qu il soit switch ou non Cette mystification d identit s ex cute tout les niveaux du mod le OSI aussi bien sur la couche liaison de donn es que sur la couche transport La mise en place d un syst me d usurpation s avere tre simple d un point de vue technique La simple manipulation de protocole conf re au pirate un redoutable pouvoir de manipulation d identit L originalit de notre travail repose sur la programmation d outils d usurpation d identit sur les quatre niveaux du mod le OSI liaison de donn es r seau transport et session mais aussi sur la cr ation de logiciel permettant de d fendre un r seau en utilisant des techniques d attaques LE GUEN R amp AUGUSTIN B 4 Usurpation d identit sur Ethernet Table des mati res Liste des figures Introduction CHAPITRE 1 Usurpation d identit au niveau MAC ARP Cache poisoning 8 1 1 Fonctionnement du protocole ARP 9 1 2 Failles du protocole ARP 11 1 2 1 Premi re
72. p te d acquittements ACK Storm imm diatement apr s l injection des donn es L analyseur a ainsi captur plus de 100000 trames identiques durant les trois secondes qui ont suivi l attaque Les deux machines s tant r v l es incapables de se resynchroniser seule une coupure manuelle de la connexion TCP fermeture du client et du serveur a pu mettre fin ce ph nom ne La possibilit de n envoyer qu un seul datagramme de donn es ne doit pas cacher les applications offertes pas cette technique un choix judicieux des donn es envoy es peut largement compenser cette limitation LE GUEN R amp AUGUSTIN B 34 Usurpation d identit sur Ethernet Par exemple imaginons un client qui se connecte un serveur telnet sous Linux puis effectue un su root Liinjection des commandes suivantes permet l attaquant de conna tre le contenu de fichiers tr s sensibles cat etc passwd cat etc shadow 2 2 2 Eviction d une machine Pour s emparer d une connexion de fa on durable nous devons absolument vincer l un des deux interlocuteurs et ne plus dialoguer qu avec l autre machine Par exemple dans le cas d une connexion client serveur nous pouvons attendre l tablissement d une connexion TCP puis vincer le client pour que nous soyons les seuls dialoguer avec le serveur et ainsi viter les probl mes de d synchronisation Nous devons dans un premier temps amener les deux interlocuteurs passer
73. par une troisi me machine pour discuter avec l autre Une attaque ARP Man in the Middle est id ale pour r aliser une telle redirection La redirection effectu e il s agit de mettre hors jeu le client c est dire de l emp cher de dialoguer avec le serveur Plusieurs possibilit s s offrent nous Nous pouvons par exemple rediriger le flux du client vers une adresse MAC inexistante sur le r seau en empoisonnant son cache ARP de fa on associer l adresse IP du serveur avec une adresse physique erron e Du point de vue du client la connexion TCP sera inutilisable mais elle ne sera pas coup e Une autre possibilit est d entamer une proc dure de d connexion du client comme nous l avons vu la d connexion TCP est r alis e par l envoi d un datagramme FIN Par cons quent tout ce que nous avons faire apr s l attaque MiM c est de forger et d mettre ce type de datagramme destination du client en nous faisant passer pour le serveur L utilisateur se trouvant sur la machine cliente observera une brusque d connexion venant du serveur sans raison apparente Le client vinc nous pouvons dialoguer avec le serveur sans risque de d connexion Cependant nous devons g rer nous m mes la connexion c est dire g rer les acquittements TCP l encapsulation des donn es forger les datagrammes les ent tes IP et Ethernet de fa on mettre une trame brute sur le r seau En effet comme la connexion TCP e
74. port TCP a espionner Commandes Is liste les connexion d tect es cc index s lectionne une connexion parmi celles d tect es dump demande l affichage dans la console du contenu des datagrammes de donn es send message injecte la chaine message dans la connexion Remarque pour l instant l utilisation de cette commande entra ne la perte de la connexion pour les deux interlocuteurs quit quitter le programme Compilation sous Linux gcc hijack c o hijack LE GUEN R amp AUGUSTIN B 60 Usurpation d identit sur Ethernet MadDNS MadDNS permet de d tecter les requ tes DNS envoy es par les machines d un r seau Ethernet et de leur envoyer des r ponses mystifi es Utilisation c gt madDNS ip_de_redirection ou ip_de_redirection sera l adresse IP contenue dans la r ponse DNS Compilation sous Windows PromiscousNodeDetection PND PND permet de d tecter une machine dont la carte r seau est en mode promiscuous a partir de son adresse IP Utilisation c gt PND ip ZibSniff ZibSniff est un sniffeur r seau basique permettant d analyser les protocoles les plus r pandus Utilisation pas de parametres LE GUEN R amp AUGUSTIN B 61 Usurpation d identit sur Ethernet Annexe 3 Code source des programmes LE GUEN R amp AUGUSTIN B 62 Usurpation d identit sur Ethernet Bibliographie Daiji Sana D Sanai SecurityFriday com Detection of promiscuous node using A
75. pouvons rediriger toutes les requ tes HTTP vers notre propre machine sur laquelle tourne un second serveur Web offrant un contenu diff rent Tous les utilisateurs se connectant au site depuis Internet verront alors nos propres pages et non pas les pages du serveur r el Attaquant 192 168 0 3 2 Attaque ARP 3 Flux en provenance d Internet Serveur usurp 1 Avant l attaque flux en provenance d Internet 192 168 0 a Figure 1 4 Redirection de connexions en provenance d internet Firewall 192 168 0 1 LE GUEN R amp AUGUSTIN B 19 Usurpation d identit sur Ethernet 1 3 2 Usurpation de l identit d un client La situation est la suivante un serveur tourne sur le port TCP 21 de 192 168 0 1 et pour des raisons de s curit il n accepte que les connexions en provenance de 192 168 0 2 Toute autre demande est rejet e Quand il accepte une connexion le serveur est configur pour envoyer imm diatement le message Bonjour je suis 192 168 0 1 et vous tes forc ment 192 168 0 2 Notre but est alors de faire en sorte que notre machine 192 168 0 3 puisse tout de m me tablir la connexion et ce en se faisant passer pour 192 168 0 2 aux yeux du serveur Remarque le filtrage de l adresse source par le serveur peut tre r alis de la mani re suivante Soit le serveur dispose d une option lui demandant de v rifier l adresse IP de la machine qui vient d tablir la connexion et de
76. provenance de 192 168 0 2 alors qu elles ont t LE GUEN R amp AUGUSTIN B 11 Usurpation d identit sur Ethernet mises par une troisi me machine Cette solution est cependant tr s limit e en ce qui concerne la furtivit puisque deux machines poss deront la m me adresse physique et la m me adresse IP sur le r seau local Une seconde solution consiste attendre que la victime envoie une requ te ARP pour trouver l adresse MAC de la machine avec laquelle elle veut communiquer et d y r pondre nous m mes avec notre propre adresse physique De cette mani re nous associons notre adresse MAC l adresse IP de la machine recherch e par la victime A pr sent toutes les trames que la victime enverra a son interlocuteur nous seront physiquement adress es Cependant la mise en pratique de cette technique soul ve plusieurs probl mes Lorsque la victime envoie la requ te ARP et que nous lui envoyons une r ponse falsifi e nous nous trouvons en situation de concurrence avec la machine dont nous usurpons l identit en effet cette derni re va recevoir la requ te identifier son adresse logique et y r pondre tout naturellement L metteur va alors recevoir deux r ponses contenant des informations diff rentes Son comportement est alors incertain Dans le cas o il prendrait en compte uniquement la premi re r ponse re ue il faut absolument que l attaquant soit plus rapide que le v ritable destinataire
77. r ce projet http www RomainL com coding Programmation orient e r seaux s curit http www kerio com Pour t l charger Winroute logiciel de routage pour Windows http winpcap polito it Pilotes DLL et kit de d veloppement pour la capture de trames et l analyse r seau pour les plates formes Win32 http www ethereal com L outil indispensable pour analyser le trafic sur un r seau Binaires et code source pour Linux et Win32 LE GUEN R amp AUGUSTIN B 64
78. re les machines du r seau et permet de minimiser les ressources n cessaires la conversion LE GUEN R amp AUGUSTIN B 39 Usurpation d identit sur Ethernet Les changes sur le r seau seront de ce type 1 Requ te de R solution 2 R ponse du serveur Figure 3 6 Echange de paquets de r solution de domaine sur un bus A partir de ce type de sch ma les r solutions ne sont plus des probl mes la mise a jour se fait rapidement nul besoin de t l charger de fichier de taille importante le traitement est dit distribu 3 1 4 Le protocole Apres avoir tudi les concepts sur la r solution nous allons nous pencher sur l impl mentation protocolaire du DNS a travers les r seaux IP de mani re g n rale Nous nous int resserons surtout aux communications client serveur Le protocole DNS est situ au niveau Session du mod le OSI de l ISO Niveau du mod le OSI Encapsulation SESSION 5 DNS TRANSPORT 4 UDP RESEAUX 3 IP LIAISON DE DONNEES 2 ETHERNET II PHYSIQUE 1 FRAME Figure 3 7 Encapsulation du protocole DNS dans le pile de protocole Le protocole DNS sera encapsul dans UDP puis IP et enfin ETHERNET II Le format des trames DNS sera le suivant 0 16 TRANSACTION ID FLAGS Zonel NOMBRE DE QUESTIONS NOMBRE D ANSWER RR NOMBRE D AUTHORITY RR NOMBRE D ADDITIONAL RR NOM DE L HOTE A RECHERCHER TAILLE VARIABLE Z
79. rer des mots de passes circulant en clair sur le segment Par cons quent il est donc essentiel de pouvoir pr venir le sniffing Le sniffing repose sur un mode sp cial de la carte r seau le mode Promiscuous En mode normal la carte r seau ne remonte au niveau trois IP que les trames comportant une adresse MAC destination identique celle de la carte r seau Le mode promiscuous permet de contourner ce filtre physique Hardware op rant sur les adresses de niveau deux adresses MAC Nos paquets Promiscuous Non Promiscuous Figure 3 25 Effet du filtrage hardware LE GUEN R amp AUGUSTIN B 53 Usurpation d identit sur Ethernet Une tude a montrer que certain type de paquet ARP taient susceptibles de compromettre la mystification des n uds en mode promiscuous Daiji Sana 01 C est a partir de cette tude que nous allons d velopp un logiciel permettant de d mystifier ces n uds Le principe de la d tection repose sur l envoi de requ te ARP sp ciales On pourra distinguer les diff rents type de requ tes par leurs adresses MAC de destination FF FF FF FF FF FF Cette adresse correspond un envoi en broadcast c est dire un envoi toutes les machines du r seau local FF FF FF FF FF FE Fausse adresse de broadcast avec le bit de poids faible 0 FF FF 00 00 00 00 Fausse adresse de broadcast mais cette fois ci avec seulement les 16 bits de poids fort 1 FF 00
80. rity ARS Additional ARs o Quer es Ew gigle fr type class inet Name wee godg e fr Type Host addrass Class inet Figure 3 10 Exemple de requ te DNS Ethereal Le transaction ID est de 50 on remarque que c est une QUERY requ te et que le domaine recherch est www google fr LE GUEN R amp AUGUSTIN B 41 Usurpation d identit sur Ethernet Exemple de RESPONSE r ponse BDOH4ain Name System response Transaction Ib 0xw0050 BFlags O fle0 Standard query response H rrori questions 1 Answer RAS 2 authority RRS d Additional RAs 4 B Queries E wwe Google fri Type a Class inet Mame www google tr Type Host acaress Classi inet B answers E wwe google fri type CHAHE Class inet Cname eww google con Mane www google fr Type Canonical name for an alias Class inet Time to live 1 day 21 hours 36 minutes 6 seconds Data length 14 Primary Mane wey google Co H wwe google com type class net addr 216 739 57 99 Mane wew google com Type HOT address Class nat Time to live 40 seconds Data length d EE A I Figure 3 11 Exemple de r ponse DNS Ethereal La r ponse reprend le m me transaction ID On voit le champs ANSWERS appara tre avec su la ligne noir la r ponse attendue par le client c est a dire l adresse IP du domaine www google fr On remarquera que cette r solution est valable durant cinquante cinq heures e
81. s O le niveau 3 de hi rarchie feuille aussi appel sous domaine sera g r par l administrateur du domaine sous class Le sous domaine est donc totalement libre de modification par l administrateur les modifications ne sont pas payantes comme le peuvent tre les modifications d un domaine aupr s de l interNIC Par exemple Feuilles Utilisation WWW D signe g n ralement le serveur http mail D signe g n ralement le serveur de courrier ftp D signe g n ralement le serveur de fichier news D signe g n ralement le serveur de news Figure 3 3 les feuilles et leurs utilisations courantes Les niveaux de hi rarchie tant d finis nous allons maintenant nous int resser la gestion de ces niveaux sur le r seau et la mani re dont ils sont utilis s pour r soudre un nom d h te de mani re efficace c est dire le plus rapidement possible On d finira le terme r soudre par l action de r cup rer l adresse IP d une machine partir d un nom d h te Si nous assimilons la hi rarchie domaniale une structure arboris e nous pouvons ais ment concevoir le syst me de r solution des noms de domaines _ gt toplevel yahoo google ioupla leguill univ paris13 univ paris12 domaine foulle gt www www www www www www mail Figure 3 4 Logique de r solution DNS LE GUEN R amp AUGUSTIN B 38 Usurpation d identit
82. se physique destinataire Adresse logique destinataire Figure 1 1 L ent te ARP Le protocole ARP a t cr de fa on ne pas tre limit tablir une correspondance entre adresses MAC et adresses IP Il peut tre utilis avec d autres protocoles dont le mode d adressage est diff rent Par cons quent le format de son ent te est tr s mall able Le champ identificateur d adresse physique indique le type d adresse physique utilis e Pour Ethernet ce champ vaut 1 Lidentificateur d adresse logique indique le protocole utilisant adresse logique a r soudre 0x0800 pour IP Les champs longueur adresse physique et longueur d adresse logique contiennent la taille en octets des adresses respectivement 6 et 4 dans notre cas Le code indique le type de paquet ARP 1 pour une requ te 2 pour une r ponse LE GUEN R amp AUGUSTIN B 9 Usurpation d identit sur Ethernet Les champs suivants contiennent les adresses qui entrent en jeu dans la r solution Ladresse physique source indique la machine qui a mis le paquet Dans le cas d une r ponse il s agit de l adresse recherch e L adresse logique source et adresse logique destinataire indiquent respectivement l adresse IP de l metteur et l adresse IP du destinataire Enfin l adresse physique destinataire indique l adresse de la machine qui s adresse le paquet ARP Dans la cas d une requ te ce champ e
83. sse sur Ethernet ce champ sera 1 pour une classe INET qui correspond aux adresses IP Dans la troisi me partie zone3 nous retrouverons la r ponse de la Query Cette partie est compos e de plusieurs champs Le champ r ponse contient le positionnement de la query dans la trame Le champ type est identique a celui de la zone 2 Le champ class est identique a celui de la zone 2 Le champ Temps de vie permet de connaitre la dur e de validit de la r ponse donn e Le champ longueur contient la taille de l adresse contenue dans le champ adresse recherch La quatri me partie zone4 permettra d identifier les serveurs ayants fait autorit pour la r ponse Enfin la derni re partie zone5 permettra d identifier les serveurs ayants particip a la r solution du nom de domaine mais ne faisant pas autorit Il est noter que les zones quatre et cinq ne sont pas indispensable la r solution des noms de domaines Ces champs sont donc quelque part facultatif Exemple de QUERY r solution E Domain Mame System query Transaction ID dxdd50 GO Flags Ox0L00 Standard query Gees exes rroa aeons esponse Message ds query S000 vous anaa OPCOUES Standard query toi aus a TrUnNcated Message 15 mot truncated sie ae eal Recursion desired O0 query recursively Les mere pea sees Mon authenticated data Ok Questions 1 answer RASE autho
84. st d tourn e au vol nous ne pouvons pas b n ficier de la pile de protocoles de notre syst me d exploitation LE GUEN R amp AUGUSTIN B 35 Usurpation d identit sur Ethernet CHAPITRE TROIS Usurpation d identit au niveau de la couche session DNS cache poisoning LE GUEN R amp AUGUSTIN B 36 Usurpation d identit sur Ethernet 3 1 Etude du protocole DNS 3 1 1 Historique des noms de domaine L adressage IP base de l interconnexion permet d identifier de mani re unique une machine sur un r seau Nous pouvons si nous le souhaitons nous connecter a un site en ligne a partir de son adresse IP en saisissant dans un navigateur http XXX XXX XXX XXX avec XXX XXX XXX XXX l adresse IP de la machine La difficult de m morisation d une adresse IP du type 194 214 10 124 a amen les organismes de normalisation tels que lISOC l IAB l interNIC ou encore L IANA se pencher sur une solution facilitant cette m morisation la cr ation de noms de domaine Les noms de domaines permettent d associer a une adresse IP num rique un nom simple et textuelle du type www univ paris12 fr La gestion de ces noms de domaine a dans un premier temps t centralis e par le Network Information Center NIC sous forme d un fichier unique HOSTS TXT regroupant les correspondances HostName IP Cette gestion a pos une multitude de probl mes Larchitecture centralis e RFC 952 RFC 9
85. st vide puisque l metteur ne conna t pas encore l adresse physique du destinataire Exemple du fonctionnement d ARP Sur 192 168 0 1 on met un ping destination de 192 168 0 2 192 168 0 1 ping 192 168 0 2 Envoi d une requ te ping sur 192 168 0 2 avec 32 octets de donn es R ponse de 192 168 0 2 octets 32 temps 1 ms TTL 128 EERS La trace de l analyseur montre en d tail la r solution ARP Envoi d une requ te en broadcast 192 168 0 1 recherche 1 adresse MAC de 192 168 0 2 00 50 ba c5 6a 2a gt ff ff ff ff ff ff ARP Who has 192 168 0 2 Tell 192 168 0 1 Seul le propri taire de l adresse IP r pond 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a ARP 192 168 0 2 is at 00 30 84 9d e4 c5 L metteur conna t 1 adresse MAC de la machine pinguer il peut donc commencer l envoi de trames en unicast 00 50 ba c5 6a 2a gt 00 30 84 9d e4 c5 192 168 0 1 gt 192 168 0 2 ICMP Echo ping request 00 30 84 9d e4 c5 gt 00 50 ba c5 6a 2a 192 168 0 2 gt 192 168 0 1 ICMP Echo ping reply Comme on peut le voir ce protocole est co teux en ressources tant au niveau du r seau que des machines La r solution d une adresse provoque la transmission d au moins deux trames une requ te et une r ponse voire plus si le destinataire n existe pas ou est d connect envoi r p t de requ tes identiques De plus du fait qu on ne conna t pas l adresse physiq
86. supposons qu une machine offre les services FTP et Web Pour une raison pr cise l attaquant peut tre amen vouloir rediriger les connexions FTP d une machine vers ce serveur tandis que les connexions HTTP n auront aucun int r t pour lui Par cons quent nous avons besoin d une nouvelle technique qui nous permettra de cibler pr cis ment la connexion d tourner Il n est pas question ici de rediriger une connexion au moment o elle est initialis e En effet nous ne travaillons plus avec des adresses physiques mais avec des adresses logiques adresses IP et usurpation d identit logique para t inenvisageable En revanche le d tournement d une connexion d j tablie para t r alisable Si nous parvenons rassembler tous les l ments qui identifient une connexion aux yeux des deux interlocuteurs que nous essayons de berner nous pourrons alors influer sur cette connexion et contr ler les donn es chang es Pour le r aliser il faut agir sur les protocoles qui g rent cette connexion savoir les protocoles de la famille TCP IP 2 1 La pile TCP IP 2 1 1 Les protocoles Le protocole IP nternet Protocol est le ciment qui permet tous les r seaux TCP IP de communiquer Il fonctionne en mode non connect et offre en particulier la possibilit d adresser les machines de mani re logique adresse IP ce qui leur permet de dialoguer m me si elles se trouvent sur des les r seaux physiques diff rents
87. thernet aad En injectant des donn es nous avons compl tement d synchronis le client et le serveur en recevant nos donn es falsifi es le serveur a incr ment son num ro d acquittement de la taille du message 18 octets Mais le client n a aucune connaissance de ces donn es et par cons quent son num ro de s quence est inf rieur de 18 par rapport au num ro acquitt par le serveur En d autres termes le serveur acquitte des donn es que le client n a jamais envoy es Cela a pour cons quence l envoi d une pluie d acquittements par les deux interlocuteurs aussi appel e ACK Storm qui ne prendra fin que lorsque le client fermera la connexion Attaquant 192 168 0 3 l D tection de EN la connexion et aeee de l change R 2 Injection de donn es E Client Serveur 192 168 0 2 192 168 0 1 Figure 2 3 Injection de donn es dans une connexion TCP L injection de donn es permet d envoyer un seul datagramme falsifi Imm diatement apr s la connexion est compl tement perdue et n a plus qu tre coup e Sous des syst mes d exploitation tels que Linux cette pluie d acquittement se caract rise par un change p riodique de datagrammes d acquittement entre le client et le serveur toutes les trois secondes environ d lai de retransmission d un datagramme qui n a pas t correctement acquitt Par contre des tests sous Windows NT et 95 ont provoqu une v ritable tem
88. ue du destinataire c est justement ce qu on cherche les requ tes sont envoy es en broadcast c est a dire qu elles sont adress es a toutes les machines du r seau local Chaque machine doit alors d capsuler le paquet ARP v rifier qu il lui est destin et le d truire dans le cas contraire c est a dire dans la plupart des cas sur un r seau comportant un grand nombre de machines Ce travail inutile constitue videmment une perte de temps pour toutes les stations Pour viter tout trafic inutile sur le r seau chaque machine tient jour un cache le cache ARP qui est une table de correspondance dynamique entre adresses logiques et adresses physiques Quand une machine veut communiquer et que le destinataire n est pas d ja pr sent dans sa table elle met une requ te ARP puis cr e une nouvelle entr e dans le cache a partir des informations contenues dans la r ponse Si le destinataire est d j pr sent elle fait l conomie d une trame et peut commencer transmettre ses donn es utiles imm diatement LE GUEN R amp AUGUSTIN B 10 Usurpation d identit sur Ethernet La commande arp permet d afficher le contenu du cache d une machine Au d part on s assure que la table est vide 192 168 0 1 arp a Aucune entr e ARP trouv e Un ping vers 192 168 0 2 force la machine mettre une requ te ARP 192 168 0 1 ping 192 168 0 2 Envoi d une requ te ping sur 192 168 0 2 a
89. uet devra tre envoyer tout de suite apr s la tentative d ouverture de connexion victime faux serveur LE GUEN R amp AUGUSTIN B 51 Usurpation d identit sur Ethernet Sch matiquement on aura 192 168 0 1 192 168 0 2 Vrai Serveur Faux Serveur 1 Requete DNS Victime gt Serveur DNS 2 Fausse R ponse DNS Attaquant gt Victime 3 Tentative d tablissement de connexion TCP Victime gt Faux serveur 4 L IDS envoi ICMP unreachable la victime en se faisant passer pour le routeur R sultat Tentative de connexion TCP interrompue Figure 3 23 Parade d un IDS par ICMP unreachable Cette technique s applique uniquement lorsque le faux serveur est en dehors du segment sans quoi le protocole ICMP n est pas applicable Quelque soit l emplacement du faux serveur Reset de la connexion TCP RFC 793 Dans le cas ou la victime et le faux serveur ne sont pas vuln rable l arp cache poisoning nous allons devoir utiliser cette issue a condition que le protocole TCP soit utilis pour l change des donn es entre les deux machines Cette solution consiste a tuer la connexion TCP tablie entre le faux serveur et la victime On utilisera pour cela la flag RST de TCP Ce flag permet une connexion d tre r initialiser LIDS devra donc forger un paquet TCP spoof a destination du faux serveur en se faisant passer pour la victime On utilisera la librairie de progr
90. vec 32 octets de donn es R ponse de 192 168 0 2 octets 32 temps 1 ms TTL 128 Atel Apr s le ping la table contient une nouvell ntr e concernant 192 168 0 2 192 168 0 1 arp a Adresse Internet Adresse physique Type 192 168 0 2 00 30 84 9d e4 c5 dynamique 1 2 Failles du protocole ARP Le r seau de test est constitu de trois machines et a pour adresse 192 168 0 0 24 192 168 0 1 et 192 168 0 2 sont deux machines qui communiquent souvent entre elles sur le r seau 192 168 0 3 sera la machine de l attaquant L objectif est de trouver un moyen pour que 192 168 0 3 attaquant se fasse passer pour 192 168 0 2 aux yeux de 192 168 0 1 victime Attaquant 192 168 0 3 Victime Adresse usurp e 192 168 0 1 192 168 0 2 Figure 1 2 notre r seau de test 1 2 1 Premi re approche Une premi re possibilit serait d usurper physiquement l identit de 192 168 0 2 en falsifiant toutes les trames que l on envoie a 192 168 0 1 et de modifier l adresse IP de l attaquant en 192 168 0 2 Par exemple l attaquant pourrait forger ses propres trames a destination de 192 168 0 1 et placer l adresse MAC de 192 168 0 2 dans le champ Adresse source de l ent te Ethernet La modification de l adresse MAC de la carte Ethernet de l attaquant est aussi envisageable sous Linux cette modification est r alis e chaud et ne pose aucun probl me De cette mani re 192 168 0 1 pensera qu il re oit des trames en

Download Pdf Manuals

image

Related Search

Related Contents

ソーラーバッテリー充電器取扱説明書  KIT IDRAULICI PALAZZETTI  Sunbeam SH3700 User's Manual  一 ー 3 再発 ・ 類イ以事例の発生状ら  

Copyright © All rights reserved.
Failed to retrieve file