{% hint style="success" %}
Aprende y practica Hacking en AWS: [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Apoya a HackTricks
* 隆Consulta los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
{% endhint %}
# Teor铆a b谩sica de IPv6
## Redes
Las direcciones IPv6 est谩n estructuradas para mejorar la organizaci贸n de redes y la interacci贸n de dispositivos. Una direcci贸n IPv6 se divide en:
1. **Prefijo de red**: Los primeros 48 bits, que determinan el segmento de red.
2. **ID de subred**: Los siguientes 16 bits, utilizados para definir subredes espec铆ficas dentro de la red.
3. **Identificador de interfaz**: Los 煤ltimos 64 bits, que identifican de forma 煤nica un dispositivo dentro de la subred.
Mientras que IPv6 omite el protocolo ARP encontrado en IPv4, introduce **ICMPv6** con dos mensajes principales:
- **Solicitud de vecino (NS)**: Mensajes multicast para resoluci贸n de direcciones.
- **Anuncio de vecino (NA)**: Respuestas unicast a NS o anuncios espont谩neos.
IPv6 tambi茅n incorpora tipos de direcciones especiales:
- **Direcci贸n de bucle local (`::1`)**: Equivalente al `127.0.0.1` de IPv4, para comunicaci贸n interna dentro del host.
- **Direcciones de enlace local (`FE80::/10`)**: Para actividades de red local, no para enrutamiento en internet. Los dispositivos en la misma red local pueden descubrirse mutuamente utilizando este rango.
### Uso pr谩ctico de IPv6 en comandos de red
Para interactuar con redes IPv6, puedes utilizar varios comandos:
- **Ping a direcciones de enlace local**: Verifica la presencia de dispositivos locales usando `ping6`.
- **Descubrimiento de vecinos**: Utiliza `ip neigh` para ver los dispositivos descubiertos en la capa de enlace.
- **alive6**: Una herramienta alternativa para descubrir dispositivos en la misma red.
A continuaci贸n se muestran algunos ejemplos de comandos:
```bash
ping6 鈥揑 eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80
# Alternatively, use alive6 for neighbor discovery
alive6 eth0
```
## **Derivando la Direcci贸n IPv6 de Enlace Local desde la Direcci贸n MAC**
Dada una direcci贸n MAC **`12:34:56:78:9a:bc`**, puedes construir la direcci贸n IPv6 de Enlace Local de la siguiente manera:
1. Convertir la MAC a formato IPv6: **`1234:5678:9abc`**
2. Anteponer `fe80::` e insertar `fffe` en el medio: **`fe80::1234:56ff:fe78:9abc`**
3. Invertir el s茅ptimo bit desde la izquierda, cambiando `1234` a `1034`: **`fe80::1034:56ff:fe78:9abc`**
## **Tipos de Direcciones IPv6**
- **Direcci贸n 脷nica Local (ULA)**: Para comunicaciones locales, no destinada al enrutamiento p煤blico en internet. Prefijo: **`FEC00::/7`**
- **Direcci贸n Multicast**: Para comunicaci贸n uno a muchos. Entregada a todas las interfaces en el grupo de multidifusi贸n. Prefijo: **`FF00::/8`**
- **Direcci贸n Anycast**: Para comunicaci贸n uno a m谩s cercano. Enviada a la interfaz m谩s cercana seg煤n el protocolo de enrutamiento. Parte del rango de unicast global **`2000::/3`**.
## **Prefijos de Direcciones**
- **fe80::/10**: Direcciones de Enlace Local (similar a 169.254.x.x)
- **fc00::/7**: 脷nica Local-Unicast (similar a rangos IPv4 privados como 10.x.x.x, 172.16.x.x, 192.168.x.x)
- **2000::/3**: Unicast Global
- **ff02::1**: Multidifusi贸n Todos los Nodos
- **ff02::2**: Multidifusi贸n Nodos de Enrutador
## **Descubriendo Direcciones IPv6 dentro de una Red**
### Forma 1: Utilizando Direcciones de Enlace Local
1. Obtener la direcci贸n MAC de un dispositivo dentro de la red.
2. Derivar la direcci贸n IPv6 de Enlace Local desde la direcci贸n MAC.
### Forma 2: Utilizando Multidifusi贸n
1. Enviar un ping a la direcci贸n de multidifusi贸n `ff02::1` para descubrir direcciones IPv6 en la red local.
```bash
service ufw stop # Stop the firewall
ping6 -I ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table
```
## Ataques de Hombre en el Medio (MitM) en IPv6
Existen varias t茅cnicas para llevar a cabo ataques MitM en redes IPv6, tales como:
- Falsificaci贸n de anuncios de vecino o router ICMPv6.
- Utilizaci贸n de mensajes de redirecci贸n ICMPv6 o mensajes de "Paquete Demasiado Grande" para manipular el enrutamiento.
- Atacar IPv6 m贸vil (generalmente requiere que IPSec est茅 deshabilitado).
- Configurar un servidor DHCPv6 falso.
# Identificaci贸n de Direcciones IPv6 en el campo
## Exploraci贸n de Subdominios
Un m茅todo para encontrar subdominios que est茅n potencialmente vinculados a direcciones IPv6 implica aprovechar los motores de b煤squeda. Por ejemplo, utilizar un patr贸n de consulta como `ipv6.*` puede ser efectivo. Espec铆ficamente, el siguiente comando de b煤squeda se puede utilizar en Google:
```bash
site:ipv6./
```
## Utilizando Consultas DNS
Para identificar direcciones IPv6, se pueden consultar ciertos tipos de registros DNS:
- **AXFR**: Solicita una transferencia completa de zona, lo que potencialmente descubre una amplia gama de registros DNS.
- **AAAA**: Busca directamente direcciones IPv6.
- **ANY**: Una consulta amplia que devuelve todos los registros DNS disponibles.
## Sondeando con Ping6
Despu茅s de identificar las direcciones IPv6 asociadas con una organizaci贸n, se puede utilizar la utilidad `ping6` para sondear. Esta herramienta ayuda a evaluar la capacidad de respuesta de las direcciones IPv6 identificadas, y tambi茅n puede ayudar a descubrir dispositivos IPv6 adyacentes.
## Referencias
* [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" %}
Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Apoya a HackTricks
* 隆Consulta los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
{% endhint %}