tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.
Teor铆a b谩sica de IPv6
Redes
Las direcciones IPv6 est谩n estructuradas para mejorar la organizaci贸n de la red y la interacci贸n de dispositivos. Una direcci贸n IPv6 se divide en:
- Prefijo de red: Los primeros 48 bits, que determinan el segmento de la red.
- ID de subred: Los siguientes 16 bits, utilizados para definir subredes espec铆ficas dentro de la red.
- Identificador de interfaz: Los 煤ltimos 64 bits, que identifican de manera 煤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 la resoluci贸n de direcciones.
- Publicidad de vecino (NA): Respuestas unicast a NS o anuncios espont谩neos.
IPv6 tambi茅n incorpora tipos de direcciones especiales:
- Direcci贸n de loopback (
::1
): Equivalente a127.0.0.1
de IPv4, para comunicaci贸n interna dentro del host. - Direcciones Link-Local (
FE80::/10
): Para actividades de red local, no para el enrutamiento por internet. Los dispositivos en la misma red local pueden descubrirse entre s铆 utilizando este rango.
Uso pr谩ctico de IPv6 en comandos de red
Para interactuar con redes IPv6, puedes usar varios comandos:
- Ping a direcciones Link-Local: Verifica la presencia de dispositivos locales usando
ping6
. - Descubrimiento de vecinos: Usa
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 presentan algunos ejemplos de comandos:
ping6 鈥揑 eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80
# Alternatively, use alive6 for neighbor discovery
alive6 eth0
Las direcciones IPv6 se pueden derivar de la direcci贸n MAC de un dispositivo para la comunicaci贸n local. Aqu铆 hay una gu铆a simplificada sobre c贸mo derivar la direcci贸n IPv6 Link-local a partir de una direcci贸n MAC conocida, y una breve descripci贸n de los tipos de direcciones IPv6 y m茅todos para descubrir direcciones IPv6 dentro de una red.
Derivando Link-local IPv6 de la direcci贸n MAC
Dada una direcci贸n MAC 12:34:56:78:9a:bc
, puedes construir la direcci贸n IPv6 Link-local de la siguiente manera:
- Convierte la MAC al formato IPv6:
1234:5678:9abc
- Precede con
fe80::
e insertafffe
en el medio:fe80::1234:56ff:fe78:9abc
- Invierte el s茅ptimo bit desde la izquierda, cambiando
1234
a1034
:fe80::1034:56ff:fe78:9abc
Tipos de direcciones IPv6
- Direcci贸n Local 脷nica (ULA): Para comunicaciones locales, no destinada al enrutamiento en internet p煤blico. Prefijo:
FEC00::/7
- Direcci贸n Multicast: Para comunicaci贸n de uno a muchos. Entregada a todas las interfaces en el grupo multicast. Prefijo:
FF00::/8
- Direcci贸n Anycast: Para comunicaci贸n de uno a m谩s cercano. Enviada a la interfaz m谩s cercana seg煤n el protocolo de enrutamiento. Parte del rango global unicast
2000::/3
.
Prefijos de direcci贸n
- fe80::/10: Direcciones Link-Local (similar a 169.254.x.x)
- fc00::/7: Unicast Local 脷nico (similar a rangos IPv4 privados como 10.x.x.x, 172.16.x.x, 192.168.x.x)
- 2000::/3: Unicast Global
- ff02::1: Multicast Todos los Nodos
- ff02::2: Multicast Nodos de Router
Descubriendo direcciones IPv6 dentro de una red
Forma 1: Usando direcciones Link-local
- Obt茅n la direcci贸n MAC de un dispositivo dentro de la red.
- Deriva la direcci贸n IPv6 Link-local a partir de la direcci贸n MAC.
Forma 2: Usando Multicast
- Env铆a un ping a la direcci贸n multicast
ff02::1
para descubrir direcciones IPv6 en la red local.
service ufw stop # Stop the firewall
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table
IPv6 Man-in-the-Middle (MitM) Attacks
Existen varias t茅cnicas para ejecutar ataques MitM en redes IPv6, tales como:
- Suplantaci贸n de anuncios de vecinos o enrutadores ICMPv6.
- Uso de mensajes ICMPv6 de redirecci贸n o "Paquete Demasiado Grande" para manipular el enrutamiento.
- Ataque a IPv6 m贸vil (generalmente requiere que IPSec est茅 deshabilitado).
- Configuraci贸n de un servidor DHCPv6 malicioso.
Identifying IPv6 Addresses in the eild
Exploring Subdomains
Un m茅todo para encontrar subdominios que est谩n potencialmente vinculados a direcciones IPv6 implica aprovechar los motores de b煤squeda. Por ejemplo, emplear un patr贸n de consulta como ipv6.*
puede ser efectivo. Espec铆ficamente, se puede usar el siguiente comando de b煤squeda en Google:
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 puede descubrir una amplia gama de registros DNS.
- AAAA: Busca directamente direcciones IPv6.
- ANY: Una consulta amplia que devuelve todos los registros DNS disponibles.
Sondeo con Ping6
Despu茅s de identificar las direcciones IPv6 asociadas con una organizaci贸n, se puede utilizar la utilidad ping6
para el sondeo. 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
- https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904
tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.