Ataque a redes de datos IPv6 con Evil Foca

3,446 views

Published on

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.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,446
On SlideShare
0
From Embeds
0
Number of Embeds
104
Actions
Shares
0
Downloads
95
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Ataque a redes de datos IPv6 con Evil Foca

  1. 1. fc00::1 (Algunos) Ataques en IPv6Chema Alonso
  2. 2. ipconfigChema Alonso
  3. 3. Parte 1: Conceptos BásicosChema Alonso
  4. 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. 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. 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. 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. 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. 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. 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
  11. 11. Parte 2: Inspeccionando IPv6Chema Alonso
  12. 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. 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. 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
  15. 15. Descubrimiento de vecinosChema Alonso
  16. 16. Tabla de vecinos IPv6Chema Alonso
  17. 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
  18. 18. Deshabilitar IPv6netsh interface ipv6 set interface "Nombre NIC" routerdiscovery=disabled Chema Alonso
  19. 19. Asignación de direcciones IP• Manual• DHCPv6 – No configura servidores DNSv6• SLAAC – Mensajes Router Advertisement Chema Alonso
  20. 20. Asignación de DNSv6 servers• Manual• DHCPv6 – 00023: Lista de servidores DNSv6 Servers• DNS AutoDiscovery Chema Alonso
  21. 21. Parte 3: Ataques Man in the middleChema Alonso
  22. 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
  23. 23. Evil FOCAChema Alonso
  24. 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 -vChema Alonso
  25. 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. 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
  27. 27. RA-D.O.S.Chema Alonso
  28. 28. 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
  29. 29. Man in the middle IPV6 en IPV4• Dar Acceso a Internet: DNS6to4 y NAT6to6 Chema Alonso
  30. 30. Man in the Middle IPv6Chema Alonso
  31. 31. NAT64• Habría que configurar la traslación de direcciones IPv6 a IPv4.• Configurar IP6tables e Iptables Chema Alonso
  32. 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. 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. 34. ¿Preguntas? Chema Alonsochema@informatica64.com @chemaalonso Chema Alonso

×