jueves, febrero 07, 2013

Te van a hackear por IPv6 por pensar que no lo utilizas

Se acabó la Gira Up To Secure 2013 y tras impartir 10 conferencias de hacking en IPv6 me sigue fascinando que la mayoría de la gente piensa que no usa nunca IPv6. Puede que incluso tú pienses que no usas nunca IPv6, y lo cierto es que en todos los equipos Windows Vista, Windows 7, Windows 8, Windows Server 2008, Windows Server 2008 R2 y Windows Server 2012 viene configurado por defecto.

Para demostrarle a la gente que su Windows utiliza IPv6 por defecto, y que según la configuración por defecto tiene prioridad sobre IPv4, les hago una demo muy sencilla, pero que a muchos sorprende - y que deberías hacerla por ti mismo si aún no has tomado conciencia del riesgo -  paso a paso: La "peligrosa" demo del ipconfig + ping.

Paso 1: Primero hacemos un ipconfig en un Windows, para que se vea que existe la dirección IPv6 de vínculo local. Si te sale esa dirección, entonces continúa con el paso 2 que de momento vamos bien.

Figura 1: ipconfig en un Windows con configuración por defecto. Hay local-link IPv6.

Paso 2: Desde un equipo de tu red haz un ping -a a una dirección de algún equipo de tu red que esté en el mismo segmento físico. Es importante esto, porque por defecto IPv6 no viene configurado con default gateway - eso ya lo haremos a posteriori con un DHCPv6 o un paquete RA para hackear toda la red, pero de momento basta con que esté en tu mismo segmento.

Figura 2: ping -a a una dirección IP del mismo segmento de red

Paso 3: Una vez hecho eso, haz un ping al nombre NetBIOS del equipo que te ha salido. No lo hagas al FQDN por si solo tienes un DNS en la red IPv4. Esto hará que el protocolo LLMNR busque por toda la red todas las direcciones IPv4 e IPv6 asociadas a este nombre, buscando los registros A y AAA usando los DNS en IPv4 e IPv6 - los dos tipos de registros en los dos servidores - y la difusión broadcast. Si todo ha ido bien, te habrá contestado el equipo, pero desde la dirección IPv6.

Figura 3: Ping al nombre del servidor utiliza IPv6

Si esto te ha dado positivo - que te dará - entonces estás vendido a un ataque de Neighbor Spoofing en IPv6 que podrá ser utilizado para robar ficheros SMB y no servirá de nada que monitorices la tabla ARP con arp -a, ya que todo el ataque tiene efecto en la lista de vecinos que puedes ver con netsh interface ipv6 show nei.

Figura 4: Tabla de vecinos IPv6

A partir de ese punto, tu red está preparada para sufrir un ataque de los gordos en los que el atacante use Rogue DHCPv6, SLAAC y DNS Autodiscovery para ownearte toda la infraestructura. Pero eso...ya os lo cuento en la próxima RootedCON.

Mientras tanto, haz un route print y comprueba que no existe ningún gateway en eso que tienes ahí abajo, la tabla de enrutamiento IPv6 de tu red. La puerta de enlace, como ya os conté en los conceptos básicos de IPv6, se denota con la dirección ::0.

Figura 5: Tabla de enrutamiento en IPv6 sin puerta de enlace por defecto configurada

Si he conseguido que prestes atención a "tu" IPv6, tal vez deberías leer algo más y repasar estos artículos, para que conozcas más de lo que se te puede venir encima.

Saludos Malignos!

***************************************************************************************************
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (1)
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (2)
- Hacking en redes de datos IPv6: Te hackearán por IPv6 por creer que no lo usas
- Hacking en redes de datos IPv6: Neighbor Spoofing
- Hacking en redes de datos IPv6: Captura de SMB con Neighbor Spoofing
- Hacking en redes de datos IPv6: FC00::1 (Algunos) Ataques en redes de datos
- Hacking en redes de datos IPv6: Man in the middle en redes IPv4 usando IPv6
- Hacking en redes de datos IPv6: Desactivar IPv6 para evitar D.O.S. SLAAC
- Hacking en redes de datos IPv6: Topera - Scanner de puertos sobre IPv6
- Hacking en redes de datos IPv6: Predecir direcciones IPv6 Local-Link de OS X
- Hacking en redes de datos IPv6: Ataques en redes de datos IPv 4 e IPv6 ***************************************************************************************************

4 comentarios:

  1. Buenos días Chema.
    Tu siempre tan fiel a tu post matutino.
    En cuanto llegue a casa directo al Lab xD
    Salu2!

    ResponderEliminar
  2. Gracias por la info; añadir que en una empresa que use por ejemplo un AD, podría desplegar por GPO la configuración para dejar IPv6 desactivado en todos los equipos necesarios:
    http://support.microsoft.com/kb/929852
    Si además se cuenta con un buen IDS/IPS, es posible correlar eventos para evitar "derivados" como los que comentas.
    Gracias como siempre por compartir el conocimiento :-).
    Salu2!

    ResponderEliminar
  3. Por eso mismo le desactivo IPv6 a todos los servers, por ahora no hace falta en la red, asi que para que dejar activadas cosas que no se necesitan, siempre es bueno dejar todo con lo minimo necesario para que cumpla su tarea, y ya que la red es IPv4, para que dejar IPv6 activo... Gracias por la advertencia!

    Saludos.

    ResponderEliminar
  4. No me aparece el nombre Netbios!!

    ResponderEliminar