hacktricks/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md
2023-06-03 13:10:46 +00:00

8.9 KiB
Raw Blame History

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Théorie de base IPv6

Réseaux

Dans une adresse IPv6, les 48 premiers bits sont le préfixe de réseau. Les 16 bits suivants sont l'ID de sous-réseau et sont utilisés pour définir les sous-réseaux. Les 64 derniers bits sont l'identifiant d'interface (également connu sous le nom d'ID d'interface ou d'ID de périphérique, pour les périphériques). Si nécessaire, les bits normalement réservés à l'ID de périphérique peuvent être utilisés pour un masquage de sous-réseau supplémentaire.

Il n'y a pas d'ARP en IPv6. À la place, il y a ICMPv6 NS (Neighbor Solicitation) et NA (Neighbor Advertisement). Le NS est utilisé pour résoudre une adresse, il envoie donc des paquets multicast. Le NA est unicast et est utilisé pour répondre au NS. Un paquet NA peut également être envoyé sans avoir besoin d'un paquet NS.

0:0:0:0:0:0:0:1 = 1 (::1 pour faire court) - C'est l'équivalent de 127.0.0.1 en IPv4.

Adresses locales de lien: Il s'agit d'une adresse privée qui n'est pas destinée à être routée sur Internet. Elle peut être utilisée localement par des LAN privés ou temporaires pour le partage et la distribution de fichiers entre les périphériques du LAN. D'autres périphériques de votre LAN local utilisant ce type d'adresses peuvent être trouvés en envoyant un ping à l'adresse multicast ff02::01
FE80::/10 - Plage d'adresses unicast locales de lien.

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

#Or you could also use
alive6 eth0

Si vous connaissez l'adresse MAC d'un hôte dans le même réseau que vous (vous pouvez simplement envoyer une requête ping à son adresse IPv4 et afficher la table ARP pour trouver son adresse MAC), vous pouvez calculer son adresse Link-local pour communiquer avec lui.
Supposons que l'adresse MAC est 12:34:56:78:9a:bc

  1. En notation IPv6 : 1234:5678:9abc
  2. Ajoutez fe80:: au début et insérez fffe au milieu : fe80::1234:56ff:fe78:9abc
  3. Inversez le septième bit à partir de la gauche, de 0001 0010 à 0001 0000 : fe80::1034:56ff:fe78:9abc
  4. fe80::1034:56ff:fe78:9abc

Adresse unique locale : Ce type d'adresse IPv6 n'est pas destiné à être routé sur Internet public. L'adresse unique locale est un remplacement de l'adresse de site local, qui permet la communication au sein d'un site tout en étant routable vers plusieurs réseaux locaux.
FEC00::/7 - La plage d'adresses locales uniques.

Adresse multicast : Cela peut également être appelé Un-à-Plusieurs. Les paquets adressés à une adresse multicast sont livrés à toutes les interfaces identifiées par l'adresse multicast. Les types d'adresse multicast sont facilement reconnaissables car ils commencent normalement par FF.
FF00::/8 - La plage de multidiffusion.

Anycast : Cette forme d'adresse IPv6 est similaire à l'adresse multicast avec une légère différence. L'adresse anycast peut également être appelée Un à Plus Proche. Elle peut être utilisée pour adresser des paquets destinés à plusieurs interfaces ; mais elle envoie généralement des paquets à la première interface qu'elle trouve, telle que définie dans la distance de routage. Cela signifie qu'elle envoie des paquets à l'interface la plus proche déterminée par les protocoles de routage.
20000::/3 - La plage d'adresses unicast globales.

fe80::/10 --> Link-Local Unique (169.254.x.x) [fe80:0000:0000:0000:0000:0000:0000:0000, febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]
fc00::/7 --> Local-Unicast Unique (10.x.x.x, 172.16.x.x, 192.168.x.x) []
2000::/3 --> Unicast global
ff02::1 --> Multicast Tous les nœuds
ff02::2 --> Multicast Nœuds de routeur

Devinez l'IPv6 d'une machine

Méthode 1

Les adresses IPv6 de fe80::/10 sont basées sur l'adresse MAC. Si vous avez l'IPv6 d'un appareil à l'intérieur d'un réseau et que vous voulez deviner l'IPv6 d'un autre appareil du réseau, vous pouvez obtenir son adresse MAC en utilisant une requête ping (à l'intérieur de la table ARP).

Méthode 2

Vous pouvez envoyer un ping6 à la multidiffusion et obtenir l'adresse IPv6 à l'intérieur de la table ARP.

service ufw stop #Stop firewall
ping6 -I <IFACE> ff02::1 #You could also make: ping6 -I <IPV6> ff02::1 if you want to make a ping to a specific IP Address
ip -6 neigh
alive6
use auxiliary/scanner/discovery/ipv6_neighbor_router_advertisement; set INTERFACE eth1; run

IPv6 MitM

Homme du milieu avec annonce de voisin ICMPv6 falsifiée.

  • Homme du milieu avec annonce de routeur ICMPv6 falsifiée.
  • Homme du milieu utilisant une redirection ICMPv6 ou ICMPv6 trop grand pour implanter une route.
  • Homme du milieu pour attaquer le mobile IPv6 mais nécessite que ipsec soit désactivé.
  • Homme du milieu avec un serveur DHCPv6 malveillant.

Découverte d'adresses IPv6 dans la nature

Sous-domaines

Vous pouvez utiliser Google et d'autres navigateurs pour rechercher des sous-domaines comme "ipv6.*"

site:ipv6./

DNS

Vous pouvez également essayer de rechercher les adresses IPv6 en utilisant "AXFR" (zone de transfert), "AAAA" (IPv6) ou même "ANY" (tout) registre dans DNS.

Ping6

Une fois que vous avez trouvé certains appareils IPv6 d'une organisation, vous pouvez essayer d'utiliser ping6 pour vérifier les adresses à proximité.

Références

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥