Download - Ataque a redes de datos IPv6 con Evil Foca
Chema Alonso
fc00::1 (Algunos) Ataques en IPv6
Chema Alonso
ipconfig
Chema Alonso
Parte 1: Conceptos
Básicos
Chema Alonso
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
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
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
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
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
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
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
Parte 2: Inspeccionando
IPv6
Chema Alonso
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
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
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
Descubrimiento de vecinos
Chema Alonso
Tabla de vecinos IPv6
Chema Alonso
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
Deshabilitar IPv6
netsh interface ipv6 set interface "Nombre NIC" routerdiscovery=disabled
Chema Alonso
Asignación de direcciones IP
• Manual• DHCPv6 – No configura
servidores DNSv6• SLAAC– Mensajes Router
Advertisement
Chema Alonso
Asignación de DNSv6 servers
• Manual• DHCPv6– 00023: Lista de servidores DNSv6 Servers
• DNS AutoDiscovery
Chema Alonso
Parte 3: Ataques Man in the
middle
Chema Alonso
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
Evil FOCA
Chema Alonso
Con parasite6 (Incluido en BackTrack)Poner dirección IPv6 en BT
Ifconfig eth0 inet6 add fc00::3/112Activar parasite6
Parasite6 eth0Activar enrutamiento
Sysctl –w net.ipv6.conf.all.forwarding=1Activar TCP Dump
Tcpdump –i eth0 ip6 -v
Man in the Middle IPv6
Chema Alonso
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
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
RA-D.O.S.
Chema Alonso
Man in the middle IPV6 en IPV4
• Deshabilitar IPv4 remotamente– D.O.S. Gateway
• ARP Spoofing MAC Gateway -> Null
• Configurar IPv6 enrutable– SLAAC– DHCPv6
• Configurar DNSv6– Spoofeando DNS Autodiscovery– DHCPv6
Chema Alonso
Man in the middle IPV6 en IPV4
• Dar Acceso a Internet: DNS6to4 y NAT6to6
Chema Alonso
Man in the Middle IPv6
Chema Alonso
NAT64
• Habría que configurar la traslación de direcciones IPv6 a IPv4.
• Configurar IP6tables e Iptables
Chema Alonso
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
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