Pentesting IPv6

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Théorie de base sur IPv6

Réseaux

Les adresses IPv6 sont structurées pour améliorer l'organisation des réseaux et l'interaction des appareils. Une adresse IPv6 est divisée en :

  1. Préfixe de réseau : Les 48 premiers bits, déterminant le segment réseau.

  2. ID de sous-réseau : Les 16 bits suivants, utilisés pour définir des sous-réseaux spécifiques au sein du réseau.

  3. Identifiant d'interface : Les 64 bits finaux, identifiant de manière unique un appareil au sein du sous-réseau.

Alors qu'IPv6 omet le protocole ARP trouvé dans IPv4, il introduit ICMPv6 avec deux messages principaux :

  • Solicitation de voisinage (NS) : Messages multicast pour la résolution d'adresses.

  • Annonce de voisinage (NA) : Réponses unicast aux NS ou annonces spontanées.

IPv6 intègre également des types d'adresses spéciaux :

  • Adresse de bouclage (::1) : Équivalent à 127.0.0.1 en IPv4, pour la communication interne au sein de l'hôte.

  • Adresses de lien local (FE80::/10) : Pour les activités de réseau local, non pour le routage internet. Les appareils sur le même réseau local peuvent se découvrir mutuellement en utilisant cette plage.

Utilisation pratique d'IPv6 dans les commandes réseau

Pour interagir avec les réseaux IPv6, vous pouvez utiliser diverses commandes :

  • Ping des adresses de lien local : Vérifiez la présence des appareils locaux en utilisant ping6.

  • Découverte de voisinage : Utilisez ip neigh pour voir les appareils découverts au niveau de la couche de liaison.

  • alive6 : Un outil alternatif pour découvrir les appareils sur le même réseau.

Voici quelques exemples de commandes :

ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

Les adresses IPv6 peuvent être dérivées de l'adresse MAC d'un appareil pour la communication locale. Voici un guide simplifié sur la manière de dériver l'adresse IPv6 de lien local à partir d'une adresse MAC connue, ainsi qu'un bref aperçu des types d'adresses IPv6 et des méthodes pour découvrir les adresses IPv6 au sein d'un réseau.

Dérivation de l'adresse IPv6 de lien local à partir de l'adresse MAC

Étant donné une adresse MAC 12:34:56:78:9a:bc, vous pouvez construire l'adresse IPv6 de lien local comme suit :

  1. Convertir la MAC en format IPv6 : 1234:5678:9abc

  2. Préfixer fe80:: et insérer fffe au milieu : fe80::1234:56ff:fe78:9abc

  3. Inverser le septième bit de gauche, en changeant 1234 en 1034 : fe80::1034:56ff:fe78:9abc

Types d'adresses IPv6

  • Adresse Unique Locale (ULA) : Pour les communications locales, non destinée au routage public sur Internet. Préfixe : FEC00::/7

  • Adresse Multicast : Pour les communications de un à plusieurs. Livrée à toutes les interfaces du groupe multicast. Préfixe : FF00::/8

  • Adresse Anycast : Pour les communications de un à plus proche. Envoyée à l'interface la plus proche selon le protocole de routage. Fait partie de la plage d'unicast globale 2000::/3.

Préfixes d'adresses

  • fe80::/10 : Adresses de lien local (similaire à 169.254.x.x)

  • fc00::/7 : Unique Local-Unicast (similaire aux plages IPv4 privées comme 10.x.x.x, 172.16.x.x, 192.168.x.x)

  • 2000::/3 : Unicast Global

  • ff02::1 : Multicast Tous les Noeuds

  • ff02::2 : Multicast Noeuds Routeurs

Découverte des adresses IPv6 au sein d'un réseau

Méthode 1 : Utilisation des adresses de lien local

  1. Obtenir l'adresse MAC d'un appareil dans le réseau.

  2. Dériver l'adresse IPv6 de lien local à partir de l'adresse MAC.

Méthode 2 : Utilisation du Multicast

  1. Envoyer un ping à l'adresse multicast ff02::1 pour découvrir les adresses IPv6 sur le réseau local.

service ufw stop # Stop the firewall
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table

Attaques de l'homme du milieu (MitM) IPv6

Plusieurs techniques existent pour exécuter des attaques MitM dans les réseaux IPv6, telles que :

  • Le spoofing des annonces de voisin ou de routeur ICMPv6.

  • L'utilisation des messages de redirection ICMPv6 ou "Packet Too Big" pour manipuler le routage.

  • Attaquer le mobile IPv6 (nécessite généralement que IPSec soit désactivé).

  • Mettre en place un serveur DHCPv6 malveillant.

Identification des adresses IPv6 sur le terrain

Exploration des sous-domaines

Une méthode pour trouver des sous-domaines potentiellement liés à des adresses IPv6 implique l'utilisation des moteurs de recherche. Par exemple, l'utilisation d'un motif de requête tel que ipv6.* peut être efficace. Plus précisément, la commande de recherche suivante peut être utilisée dans Google :

site:ipv6./

Utilisation des requêtes DNS

Pour identifier les adresses IPv6, certains types d'enregistrements DNS peuvent être interrogés :

  • AXFR : Demande un transfert complet de zone, révélant potentiellement une large gamme d'enregistrements DNS.

  • AAAA : Recherche directement des adresses IPv6.

  • ANY : Une requête large qui renvoie tous les enregistrements DNS disponibles.

Exploration avec Ping6

Après avoir identifié les adresses IPv6 associées à une organisation, l'utilitaire ping6 peut être utilisé pour l'exploration. Cet outil aide à évaluer la réactivité des adresses IPv6 identifiées et peut également aider à découvrir des périphériques IPv6 adjacents.

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour