Pentesting IPv6
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 :
Préfixe de réseau : Les 48 premiers bits, déterminant le segment réseau.
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.
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 :
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 :
Convertir la MAC en format IPv6 :
1234:5678:9abc
Préfixer
fe80::
et insérerfffe
au milieu :fe80::1234:56ff:fe78:9abc
Inverser le septième bit de gauche, en changeant
1234
en1034
: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
Obtenir l'adresse MAC d'un appareil dans le réseau.
Dériver l'adresse IPv6 de lien local à partir de l'adresse MAC.
Méthode 2 : Utilisation du Multicast
Envoyer un ping à l'adresse multicast
ff02::1
pour découvrir les adresses IPv6 sur le réseau local.
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 :
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
Last updated