“MITM Ipv6, j’écoute”

On Continue ?

Oui ! Continuons cette découverte de l’IPv6 à travers un regard de“bandit sans foi ni loi”. Hier, nous avons survolé quelques méthodes ici et afin de réaliser une attaque DoS en local. Aujourd’hui, nous nous intéressons au Multicast Domain Name System (MDNS) et au Router-Advertisement (again).  Le MDNS est un service  DNS local (ou zeroconf) qui permet de communiquer avec les machines du même lien en tapant leur nom d’hôte (hostname.local) plutôt que cette adresse fe80:x:x:x:x:x qui est quand même grave relou ! Vous l’aurez compris, c’est un protocole très intéressant pour récupérer des informations sur le réseau.

ecoute mitm ipv6

Découvrons donc ensemble un très bon outil de THC : Fake_router ! Cet outil vous permet de forger des requêtes Router-Advertisement, et donc de devenir le routeur principal du lien avec tout ce que ça implique :

  • Écoute de trafic
  • Man IThe Middle (MITM)
  • Auto-configuration de nouvelles adresses à la cible

Mettons nous – en situation !

Pour cette petite démonstration, nous avons une machine attaquante (a::1:1:1:dead / fe80::1:1:1:dead) et une machine cible (a::1:1:1:feed /  fe80::1:1:1:feed)… Et là vous vous dites : “Attends y’a DEUX adresses ?!”.
Et bien je vous répondrais par un oui affirmatif ! Une adresse de lien (fe80:: ) et une adresse routable (a:: ), et si ce petit point d’interrogation ne quitte pas votre esprit, c’est que vous êtes passé à coté de mon précédent billet DoS IPv6.
Les pré-requis pour cette attaque sont :

  • Notre cible accepte les RA (net.ipv6.conf.all.accept_ra = 1 configuration par défaut)
  • Le forwarding est activé sur la machine attaquante (pour un MITM ipv6 c’est plus pratique)

Nous allons à présent lancer une attaque nous permettant de devenir le routeur principal de toutes les machines du réseau, ET de leur adresser un nouveau sous réseau en auto-configuration. Notre objectif est double,  maîtriser toutes les communications du lien et savoir si certaines machines acceptent l’auto-configuration via routeur.

Pouf c’est tout !

Dans un premier temps, devenons le routeur principal.

#>fake_router26 eth1

Le résultat sur le client est sans appel ! (mon routeur en rouge)

#>ip -6 neigh
fe80::1:1:1:dead dev eth1 lladdr 80:00:27ff:fa:ea:97 router

#>route -6
Destination       Next Hop           Flag   Met   Ref Use  If
::/0            fe80::1:1:1:dead     UGDAe  1024    0   0  eth1

A présent toutes les communications initialisées par cette machine passeront par notre faux routeur ! Nous pouvons pousser un cri de joie sans réserve pour ce Man In the Middle réussi, oui n’oubliez pas que le forwarding est activé : whouhou !

Si jamais, l’adresse de lien de votre faux routeur n’est pas joignable ou que vous n’avez pas activé le forwarding… Et bien vous mettez hors service les machines cibles… Vandales !

…et le MSDN ?

Bien ! Le MITM ipv6, c’est réglé. Nous allons maintenant tenter de forcer la configuration d’un nouveau sous-réseau (d::/64) et regarder si notre machine cible réagit.

#>fake_router26 -A d::/64 -l 4096 eth1

Paquet envoyé :

MITM ipv6 router advertisement

Analysons maintenant les trames MDNS qui transitent sur le réseau ! L’objectif est de voir si une machine est affectée par le paramètre d’auto-configuration.

Des requêtes MDNS sont bien émises sur  le réseau ! La joie nous transporte !

MITM ipv6 MDNS

Voici le paquet qui va nous donner quelques informations bien utiles sur notre cible :

MITM ipv6 MDNS detail

Nous venons donc d’obtenir :

  • Le hostname de la machine : “clientipv6” (vachement recherché…)
  • Les adresses routables désormais utilisées par cette machines
  • Un sous réseau rien qu’à nous sur lequel nous pourrons communiquer en privé avec nos cibles

skullVulnéromètre

Menaces
Linux Moyenne
Windows Moyenne
Unix-BSD Moyenne

 

Conclusion

Avec ces trois petits outils , dos-new-ip6,  flood_router26 et fake_router26, nous sommes en mesures de réaliser facilement des DoS ou de récupérer le trafic de toutes les machines du lien. Ils peuvent en plus être intégrés à n’importe quel malware pour exploiter correctement le lien d’une machine corrompue.

Les parades face à ces attaques sont :

  • SEND afin d’authentifier correctement les noeuds émetteurs
  • Le filtrage des RA sur les machines clientes (pas très souple…)
  • L’utilisation d’un RA-Guard (RFC6105)

Un grand merci à THC qui nous offre une boite à outils très puissante à mettre entre toutes les mains afin d’éprouver la sécurité de votre réseau.