7.1 KiB
Teoría básica de IPv6
Redes
En una dirección IPv6, los primeros 48 bits son el prefijo de red. Los siguientes 16 bits son el ID de subred y se utilizan para definir subredes. Los últimos 64 bits son el identificador de interfaz (también conocido como ID de interfaz o ID de dispositivo, es para dispositivos). Si es necesario, los bits que normalmente están reservados para el ID de dispositivo se pueden utilizar para una máscara de subred adicional.
No hay ARP en IPv6. En su lugar, hay ICMPv6 NS (Solicitud de vecino) y NA (Anuncio de vecino). El NS se utiliza para resolver una dirección, por lo que envía paquetes multidifusión. El NA es unicast y se utiliza para responder al NS. Un paquete NA también se puede enviar sin necesidad de un paquete NS.
0:0:0:0:0:0:0:1 = 1 (::1
para abreviar) - Esto es equivalente a 127.0.0.1 en IPv4.
Direcciones de enlace local: Estas son direcciones privadas que no están destinadas a ser enrutadas en Internet. Pueden ser utilizadas localmente por LAN privadas o temporales para compartir y distribuir archivos entre dispositivos en la LAN. Otros dispositivos en su LAN local que utilizan este tipo de direcciones se pueden encontrar enviando un ping a la dirección multicast ff02::01
FE80::/10 - Rango de dirección unicast de enlace local.
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80
#Or you could also use
alive6 eth0
Si conoces la dirección MAC de un host en la misma red que tú (puedes simplemente hacer ping a su dirección IPv4 y ver la tabla ARP para encontrar su dirección MAC), puedes calcular su dirección de enlace local para comunicarte con él.
Supongamos que la dirección MAC es 12:34:56:78:9a:bc
- En notación IPv6:
1234:5678:9abc
- Agrega
fe80::
al principio e insertafffe
en el medio:fe80::
1234:56
ff:fe
78:9abc
- Invierte el séptimo bit desde la izquierda, de 0001 0010 a 0001 0000:
fe80::1
0
34:56ff:fe78:9abc
fe80::1034:56ff:fe78:9abc
Dirección local única: Este tipo de dirección IPv6 tampoco está destinado a ser enrutado en Internet público. La dirección local única es un reemplazo de la dirección de sitio local, que permite la comunicación dentro de un sitio mientras es enrutable a múltiples redes locales.
FEC00::/7 – El rango de dirección local única.
Dirección multicast: También se puede referir como Uno-a-Muchos. Los paquetes dirigidos a una dirección multicast se entregan a todas las interfaces identificadas por la dirección multicast. Los tipos de dirección multicast son fácilmente identificables porque normalmente comienzan con FF.
FF00::/8 – El rango multicast.
Anycast: Esta forma de dirección IPv6 es similar a la dirección multicast con una ligera diferencia. La dirección anycast también se puede referir como Uno a Más Cercano. Se puede utilizar para dirigir paquetes a múltiples interfaces; pero normalmente envía paquetes a la primera interfaz que encuentra según lo definido en la distancia de enrutamiento. Esto significa que envía paquetes a la interfaz más cercana determinada por los protocolos de enrutamiento.
20000::/3 – El rango de dirección unicast global.
fe80::/10--> Enlace local único (169.254.x.x) [fe80:0000:0000:0000:0000:0000:0000:0000,febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]
fc00::/7 --> Local-unicast único (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 enrutador
Adivina la dirección IPv6 de una máquina
Forma 1
Las direcciones IPv6 de fe80::/10 se basan en la MAC. Si tienes la dirección IPv6 de un dispositivo dentro de una red y quieres adivinar la dirección IPv6 de otro dispositivo de la red, puedes obtener su dirección MAC usando un ping (dentro de la tabla ARP).
Forma 2
Puedes enviar un ping6 al multicast y obtener la dirección IPv6 dentro de la tabla ARP.
service ufw stop #Stop firewall
ping6 -I <IFACE> ff02::1 #You could also make: ping6 -I <IPV6> ff02::1 if you want to make a ping to a specific IP Address
ip -6 neigh
alive6
use auxiliary/scanner/discovery/ipv6_neighbor_router_advertisement; set INTERFACE eth1; run
IPv6 MitM
Hombre en el medio con anuncio de vecino ICMPv6 falsificado.
- Hombre en el medio con anuncio de router ICMPv6 falsificado.
- Hombre en el medio usando redirección ICMPv6 o ICMPv6 demasiado grande para implantar ruta.
- Hombre en el medio para atacar IPv6 móvil pero requiere que ipsec esté deshabilitado.
- Hombre en el medio con servidor DHCPv6 falso.
Descubriendo direcciones IPv6 en la red
Subdominios
Puedes usar Google y otros navegadores para buscar subdominios como "ipv6.*"
site:ipv6./
DNS
También se puede intentar buscar direcciones IPv6 utilizando "AXFR" (transferencia de zona), "AAAA" (IPv6) o incluso "ANY" (todos) en el registro DNS.
Ping6
Una vez que se han encontrado algunos dispositivos IPv6 de una organización, se puede intentar usar ping6
para verificar las direcciones cercanas.
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
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Obtén el swag oficial de PEASS y HackTricks
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.