Pentesting IPv6
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 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.
Anuncio 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 a 127.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.
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 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:
IPv6 addresses can be derived from a device's MAC address for local communication. Here's a simplified guide on how to derive the Link-local IPv6 address from a known MAC address, and a brief overview of IPv6 address types and methods to discover IPv6 addresses within a network.
Given a MAC address 12:34:56:78:9a:bc
, you can construct the Link-local IPv6 address as follows:
Convertir MAC a formato IPv6: 1234:5678:9abc
Prepend fe80::
e insertar fffe
en el medio: fe80::1234:56ff:fe78:9abc
Invertir el séptimo bit desde la izquierda, cambiando 1234
a 1034
: fe80::1034:56ff:fe78:9abc
Unique Local Address (ULA): Para comunicaciones locales, no destinado a enrutamiento en internet público. Prefijo: FEC00::/7
Multicast Address: Para comunicación de uno a muchos. Entregado a todas las interfaces en el grupo de multidifusión. Prefijo: FF00::/8
Anycast Address: Para comunicación de uno a más cercano. Enviado a la interfaz más cercana según el protocolo de enrutamiento. Parte del rango global unicast 2000::/3
.
fe80::/10: Direcciones Link-Local (similar a 169.254.x.x)
fc00::/7: Unique Local-Unicast (similar a rangos IPv4 privados como 10.x.x.x, 172.16.x.x, 192.168.x.x)
2000::/3: Global Unicast
ff02::1: Multicast Todos los Nodos
ff02::2: Multicast Nodos de Router
Obtener la dirección MAC de un dispositivo dentro de la red.
Derivar la dirección Link-local IPv6 de la dirección MAC.
Enviar un ping a la dirección multicast ff02::1
para descubrir direcciones IPv6 en la red local.
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 de redirección ICMPv6 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.
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:
Para identificar direcciones IPv6, se pueden consultar ciertos tipos de registros DNS:
AXFR: Solicita una transferencia completa de zona, descubriendo potencialmente una amplia gama de registros DNS.
AAAA: Busca directamente direcciones IPv6.
ANY: Una consulta amplia que devuelve todos los registros DNS disponibles.
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.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)