Charla impartida por Chema Alonso de la Empresa Informática 64, para el evento Asegur@itCamp4! que tuvo lugar durante los días 26, 27 y 28 de Octubre de 2012 en El Escorial, Madrid.
4. Direcciones IPv6
• Longitud 128 bits
• 8 grupos de 16 bits
• Escrita en hexadecimal
• Tiene bits subnet
• Configuración:
– Estática
– Por router (SLACC)
– Por DHCPv6
Chema Alonso
5. Direcciones IPv6
• Una lista de valores 0 se puede sustituir por ::
• Sólo una sustitución por dirección IPv6
– Fe0::0001 ->Bien
– Fe0::db99::0001 -> Mal
• Máscaras se indican como longitud de bits
– Posiciones: 16:32:48:64:80:96:112:128
– A: 2001::2000:0001/96
– B: 2001::2001:0001/112
• ¿Habría Pingv6 entre A y B?
Chema Alonso
6. Direcciones IPv6 Well-known
• ::/128: Todo 0. Dirección indefinida
• ::/0: Ruta por defecto. Equivalente a 0.0.0.0 (IPv4)
• ::1/128: Localhost. Equivalente a 127.0.0.1 (IPv4)
• Fe80::/10: Vínculo local (No enrutables)
– Generan una red local efectiva fe80::/64.
– La parte de Host se suele calcular a partir de MAC (discovering)
– Equivalentes a 169.254.0.0/16 (IPv4)
– Todo interfaz tiene un vínculo local
• Ff02::/16: Direcciones Multicast (224.X) en IPv4
Chema Alonso
7. Direcciones IPv6 Well-Known
• Fc00::/7. Direcciones Privadas
– No enrutables en Internet
– Equivalentes a 10.X, 172.16.X y 192.168.X en IPv4
• ::ffff:0:0/96. Direcciones IPv4 mapeadas a IPv6
• 64:ff9b::/96. Direcciones IPv6 generadas
automáticamente a partir de IPv4
• 2002::/16. Red 6 to 4 mapeada. Usa la
dirección IPv4 192.88.99.X como gateway.
Chema Alonso
8. Direcciones IPv6 Well-Known
• 2001::/32. Usado por el protocolo de túneles Teredo
• 2001:2::/48. Asignado a Benchmarking Methodology
Working Group (BMWG) para comparativas
(benchmarking) en IPv6 (similar a la red 198.18.0.0/15
para comparativas en IPv4).
• 2001:10::/28. ORCHID (Overlay Routable Cryptographic
Hash Identifiers). Direcciones IPv6 no-enrutables
usadas para identificadores criptográficos Hash.
• 2001:db8::/32 . Documentación o ejemplos IPv6.
Similar a las redes 192.0.2.0/24, 198.51.100.0/24 y
203.0.113.0/24 en IPv4.
Chema Alonso
9. Tipos de mensajes IPv6
• Unicast: Un solo destinatario
– Link Local
– Site Local
– Internet
• Multicast: A todos los destinatarios
– Link Local
– Site Local
• Anycast: Al más cercano
– Link Local
Chema Alonso
10. Precedencia
• Algoritmo que permite elegir qué protocolo
(IPv4 o IPv6) y qué dirección se debe usar.
• RFC3484
– Selección de dirección destino
– Selección de mejor dirección origen en función de
la dirección destino
• Se configura a nivel de SO aunque las
aplicaciones pueden saltárselo.
Chema Alonso
12. Precedencia por defecto en Windows
• 0: Localhost IPv6
• 1: Cualquier dirección IPv6
• 2: Cualquier dirección 6to4
• 3: Cualquier dirección IPv4
• 4: Cualquier dirección IPv4 mapeada de IPv6
• 5: Teredo
Chema Alonso
13. Precedencia en Windows
• netsh interface ipv6 show prefixpolicies
– Muestra la tabla local de políticas
• netsh interface ipv6 add prefixpolicies
– Añade nuevas entradas a la tabla local de políticas
• netsh interface ipv6 set prefixpolicies
– Configura entradas en la tabla local de políticas
• netsh interface ipv6 delete prefixpolicies
– Borra entradas en la tabla local de políticas
• Ejemplo:
– C:>netsh interface ipv6 set prefixpolicies prefix=2001::/32
precedence=15 label=5
Chema Alonso
14. Descubrimiento de vecinos
• No hay protocolo ARP
• Se utilizan tramas ICMPv6
• Descubrir dirección física: RFC 4861
– Neighbor Solicitation (NS)
• Multicast (Linux)
• Unicast
– Neighbor Advertisement (NA)
• Unicast
Chema Alonso
17. Descubrimiento de vecinos
• Neighbourgh Solicitation
– Multicast (Linux)
– Unicast
• Scanning de IPv4 a IPv6
• Sniffing
– Sistema Operativo
– Puertos
– Descubrimiento de routers
• ICMP IP externa a todas las direcciones MAC
Chema Alonso
22. Man in the Middle IPv6
• Ataque ICMPv6:
– Evenenamiento de tabla de vecinos usando
ICMPv6
– Se modifica la MAC asociada a una dirección IPv6
Chema Alonso
24. Man in the Middle IPv6
Con parasite6 (Incluido en BackTrack)
Poner dirección IPv6 en BT
Ifconfig eth0 inet6 add fc00::3/112
Activar parasite6
Parasite6 eth0
Activar enrutamiento
Sysctl –w net.ipv6.conf.all.forwarding=1
Activar TCP Dump
Tcpdump –i eth0 ip6 -v
Chema Alonso
25. Scapy
• Permite generar
paquetes IPv6
• Viene incluido en BT
y permite el ataque
mitm icmpv6
descrito
anteriormente.
• Hay que configurar
paquetes
manualmente.
Web: http://www.secdev.org/projects/scapy/
Más información en: http://void.gr/kargig/ipv6/scapy-IPv6_HITB06.pdf
Chema Alonso
26. Man in the Middle IPv6
• Ataque SLAAC
– StateLess Address AutoConfiguration RFC 4861
– Configuración rápida IPv6 desde router
– Equipos que vienen con IPv6 por defecto usan
SLAAC
• Windows Vista, Windows 7, Windows Mac OS X…
– Si la red es IPv4 y no se ha deshabilitado IPv6
• Es posible hacer un D.O.S.
• Es posible hacer un man in the middle
Chema Alonso
31. NAT64
• Habría que configurar la traslación de direcciones
IPv6 a IPv4.
• Configurar IP6tables e Iptables
Chema Alonso
32. BackTrack 5: THC (The Hacker Choice)
• parasite6: realiza atques MITM con listas de vecinos spoofeados.
• alive6: escáner que detecta equipos con IPv6
• dnsdict6: realiza ataques de diccionario a DNSv6
• fake_router6: Se anuncia un equipo como router IPv6 con la mayor prioridad.
• redir6: redirige tráfico con icmpv6 spoofing (man in the middle)
• toobig6: Permite reduce los valores MTU
• detect-new-ip6: detecta nuevos equipos IPv6 que se unen a la red y le pasa un
script al equipo nuevo.
• dos-new-ip6: detecta nuevos equipos y le dice que su IPv6 está repetida en la red
generando un ataque D.O.S.
• trace6: rápido traceroute6 con soporte para ICMP6 echo request y TCP-SYN
• flood_router6: Ataque flood RA (Router Advertisement)
• flood_advertise6: Ataque flood NA (Neighbor advertisement)
• fuzz_ip6: fuzzer para IPv6
• implementation6: comprueba la implementación de IPv6
Chema Alonso
33. BackTrack 5: THC (The Hacker Choice)
• implementation6d: Demonio que escucha implementation6 detrás de un
FW
• fake_mld6: se anuncia como un grupo multicast en la red
• fake_mld26: lo mismo pero para MLDv2
• fake_mldrouter6: envía mensajes falsos de routers MLD
• fake_mipv6: roba una dirección IP móvil para ti si IPSEC no pide
autenticación.
• fake_advertiser6: Te anuncia en la red.
• smurf6: local smurfer.
• rsmurf6: remote smurfer (solo para Linux)
• exploit6: lanza exploits IPv6 conocidos contra un equipo.
• denial6: lanza pruebas de ataques denial-of-service cotra un equipo.
• thcping6: envía un paquete ping6 personalizado.
• sendpees6: envía un paquete especial de NS (Neighbor Solicitation) que
hace entrar la CPU en thrashing realizando cálculos criptográficos
Chema Alonso
34. ¿Preguntas?
Chema Alonso
chema@informatica64.com
@chemaalonso
Chema Alonso