hacktricks/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md

130 lines
8.2 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Autres façons de soutenir HackTricks :
2022-04-28 16:01:33 +00:00
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
2022-04-28 16:01:33 +00:00
</details>
# Théorie de base sur IPv6
2023-06-03 13:10:46 +00:00
## 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 derniers bits, 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 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 :
```bash
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.
```bash
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 de 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 :
```bash
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 de zone complet, 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.
2023-06-03 13:10:46 +00:00
# Références
* [http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html](http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html)
* [https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904](https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904)
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Autres façons de soutenir HackTricks :
2022-04-28 16:01:33 +00:00
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>