mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-24 05:33:33 +00:00
131 lines
8.1 KiB
Markdown
131 lines
8.1 KiB
Markdown
{% hint style="success" %}
|
||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Soutenez HackTricks</summary>
|
||
|
||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||
* **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 des 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.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
|
||
# 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 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 mutuellement en utilisant cette plage.
|
||
|
||
### Utilisation pratique de l'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 sur Internet public. 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'adresse**
|
||
- **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 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:
|
||
```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, permettant potentiellement de découvrir 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
|
||
|
||
* [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)
|
||
|
||
|
||
{% hint style="success" %}
|
||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Soutenez HackTricks</summary>
|
||
|
||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||
* **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 des 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.
|
||
|
||
</details>
|
||
{% endhint %}
|