Mostrando entradas con la etiqueta SLAAC. Mostrar todas las entradas
Mostrando entradas con la etiqueta SLAAC. Mostrar todas las entradas

martes, mayo 20, 2025

Entre Marilyn & Manson: Vulnerando IPv6 con Man-in-the-middle usando NDP en la red de tu casa con Kali Linux

IPv6 es un acrónimo alfanumérico de cuatro caracteres de longitud que, a su “descompresión” viene a decir/representar: Internet Protocol version 6 ¿Se puede “comprimir”/acortar más? Esa es la idea… El objetivo es lograr una reducción a su mitad, tal que: IP. Dejando a un lado (u obviando) su versionado.


Podría describirse la palabra versión como sustantivo femenino que se refiere a la forma o variante particular de algo, especialmente cuando existen varias alternativas o modificaciones de un mismo objeto, texto, idea o producto. En un contexto tecnológico, puede haber un par de motivos para destacar/resaltar una versión frente a un protocolo;
  • Mismo protocolo pero con grandes diferencias en funcionalidades y capacidades (nuevas y/o mejoradas).
  • Convertirse en deprecado debido a un agujero, fallo de seguridad lo suficientemente grave como para hacerse hincapié sobre ello y movilizar a los recursos necesarios para erradicarse o ser cambiado mediante una actualización, etc.
En este caso, el motivo en IPv6 es el primero descrito. Todavía a día de hoy, no hemos podido hacernos con la misión, no hemos sido capaces de resolver el problema y quedarnos con la versión actual. Según calendario, llevamos con “el pez que se muerde la cola” desde 2010 aproximadamente a un modo de alerta recurrente. Tal vez sea lo más parecido a la escasez del petróleo en este actual siglo ¿Y... cómo ponemos solución al remedio?

IPv6 Council al Rescate

La IPv6 Council es una asociación, grupo de interés sin ánimo de lucro con espíritu muy colaborativo, portadora de ideas, ganas de promocionar, dar soporte... con el afán de “apadrinar” a la “sexta elementa” para poner a España a la vanguardia tecnológica haciendo uso de la versión “moderna” del protocolo IP.
Liderado por Carlos Ralli, Fran Gómez y Rafa Sánchez, se mira de hacer todo lo posible para hacer llegar preocupaciones, tácticas de encaje con dinamismo y posturas flexibles al extenso ámbito tecnológico, ya que, la IP es un pilar básico de cualquier dispositivo digital (como toda la “cacharrería” de los IoT).

Figura 3: Foto de la ponencia IPv6 Council llamada “Firechat - Coloquio: entendiendo Shadow-IPv6 como viento a favor” en MTW/OpenExpo con Tony de la FuenteCarlos Ralli, Federico TetiChema AlonsoFran Gómez y Rafa Sánchez

Sin ir más lejos, en este mismo mes de Mayo han estado presencialmente en el congreso MetaWorld Congress [MTW]/OpenExpo celebrado en la La Nave de Madrid.

Escasa Documentación

Lamentablemente, no se dispone de mucha documentación al respecto a día de hoy. La IPv6 Council toma como referencia el libro Ataques en redes de datos IPv4 e IPv6 publicado por 0xWord y escrito por Juan Luis García Rambla, Chema Alonso y Pablo González

JL. Rambla, ampliado y revisado por Pablo González y Chema Alonso

Al tratarse de ataques tanto en IP “clásica” como en IPv6, tienen que explicar sus bases de raíz para tener un mínimo contexto. Si le echáis un vistazo al índice podréis ver los conceptos en su capítulo V, apartado 5.1, “Conceptos básicos sobre IPv6”.


En la charla impartida en MTW/OpenExpo (en la sala Microsoft RoomChema Alonso estuvo comentando acerca de la preocupación por no disponerse de mucha materia sobre el tema. Mencionó uno de los últimos libros escritos por la editorial: “Hacking Home Devices I: PoCs & Hacks Just for Fun” & “Hacking Home Devices II: PoCs & Hacks Just for Fun” escritos por Gerard Fuguet (escritos por mí ;) ) y antes de que siguiera hablando, yo, levanté la mano… “Ah que estás aquí” dijo el Dr. dr. Maligno
Sí, efectivamente, comenté que en este par de libros, como una de la tareas principales era analizar el tráfico que fluía por los dispositivos que tienes en tu hogar, primero debes de conocerlos bien, hacer un “PreCheckeo: I&I, Identificación e Inventariado” (apartado 2 del capítulo III del primer libro de Hacking Home Devices), tal y como puedes ver en el índice que te dejo a continuación.

Figura 7: Índice del libro Hacking Home Devices I: PoCs & Hack Just for Fun!
Escrito por Gerard Fuguet.

Y te vas dando cuenta que IPv6 es también una protagonista notoria que se aposenta en tu red como telarañas discretas en un hogar. Sobretodo la presencia automática e obligatoria de Link-Local (sí, aquella que empieza con el prefijo fe80::…) Si ejecutas un ipconfig en el “ventanal negro” y la ves, es señal de que tienes en activo IPv6 (by default es así).

Primero aprende la primera versión de la IP (IPv4)

Cualquier docente mínimamente cualificado te dirá que antes de aventurarte con IPv6, primero debes entender bien su funcionamiento estudiando su hermana menor, la IPv4. Podríamos explicarlo en este artículo, pero se haría muy largo… por eso, me siento en la obligación de recomendar un libro realmente bueno para aprender de IP y de otros conceptos informáticos elementales (y no tan elementales). El libro de David Casas de Competencia Digital.


Te bastará solo con su lectura para entender bien su composición, tipos de IP, rango, subredes… ¿Y no habla luego de IPv6? Sí, por supuesto, pero no se potencia en detalle como IPv4 porque su interés es primero en entender bien las bases de una IP. A pesar de sus diferencias respecto a la clásica IP, la construcción de la versión 6 se hace de manera similar, pero éstas son mas bien un “choricillo” (como bien menciona David Casas) de longitud, precisamente para abarcar con muchísimas más IP’s disponibles que con IPv4 (pasando de 32 a 128 bit en la sexta versión). 

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
Hacking en redes de datos IPv6: Evil FOCA: Ataque SLAAC
Hacking en redes de datos IPv6: Evil FOCA: Bridging HTTP(IPv6) - HTTPs (IPv4)
Hacking en redes de datos IPv6: Pasar de IPv4 a IPv6 con una respuesta DNS
Hacking en redes de datos IPv6: Cómo activar IPv6 en Google Chrome
Hacking en redes de datos IPv4: Ataque DHCP ACK Injector

No obstante, si quieres aprender todos los conceptos de IPv6, en este blog tienes esta serie de artículos que hizo Chema Alonso durante tiempo preparando su charla de Defcon 21 de "Fear the Evil FOCA: Attacking Internet connection with IPv6" que podéis ver también en Español cuando la impartió en Ekoparty.


Figura 9: "Fear the Evil FOCA: Attacking Internet connection with IPv6"

Aún así,  estoy bastante convencido, que si llega el día de la extinción al completo de IPv4, todavía perdurará en los libros y documentación en Internet para facilitar su enseñanza, aunque existen grandes diferencias de funcionamiento después con IPv6 que debes aprender.

Las IPv6 de tu casa

Como se ha descrito antes, puedes saber si tu sistema operativo como Windows usa IPv6 y qué dirección toma. Si sabes como van las IPv4, las direcciones IPv6 de Link-Local (con prefijo fe80::/10) se asignan automáticamente a toda interfaz de red con IPv6 habilitado, son obligatorias y sólo funcionan dentro del segmento de red local. 

Escrito por Gerard Fuguet.

Se utilizan para funciones esenciales como la auto-configuración, el descubrimiento de vecinos (NDP) y la comunicación local entre dispositivos. Aunque tradicionalmente la parte identificadora podía derivarse de la MAC (EUI-64), hoy en día muchos sistemas operativos emplean métodos aleatorios para mayor privacidad.

Figura 11: Índice del libro Hacking Home Devices II: PoCs & Hack Just for Fun!
Escrito por Gerard Fuguet

La unicidad de la dirección se verifica mediante NDP, y no son enrutables fuera del enlace local, igual que las direcciones APIPA en IPv4, aunque en IPv6 su presencia es universal y no sólo ante fallos de DHCPSupongamos que tu equipo toma esta dirección IPv6:

fe80::9a94:43a9:9ff4:6981

Como se expresa en hexadecimal, las letras-números válidos son de 0-9 y A-F. Cada casillon de la IPv6 se compone de 4 dígitos hexadecimales y cada carácter hexadecimal representa 4 bit. Por lo tanto, cada casillón obtiene 16 bit en grupos de 8 casillones. Pero espera… ¿por qué yo aquí sólo veo 5 grupos? Cuando los grupos están a “0” se suele expresar/interpretar con doble -dos puntos- “::”. Esta IPv6 se expresaría así;

fe80:0000:0000:0000:9a94:43a9:9ff4:6981

Vale entiendo… pero y esto de la /10? Al igual que IPv4 con sus máscaras, el estándar dice que las Link-Local, pueden ir de la fe80:: a la febf:: . Esto es simple cuando descomponemos a binario (de hexadecimal a binario).

fe80:: seria 1111 1110 1000 0000
febf:: seria 1111 1110 1011 1111

La parte subrayada es la que contempla/hace referencia a la red y es intocable. El resto pertenece a la parte de host (recuerda entender bien IPv4 para saber como va el “rollete” ;) ). En la practica (por el momento) se utiliza la notación de máscara /64 por lo que el prefijo fe80:: siempre será impuesto en toda Link-Local. Es decir, en el ejemplo de la IPv6 Link-Local:

fe80:0000:0000:0000:9a94:43a9:9ff4:6981

Será inmóvil sus 4 primeros grupos. Una de mis reglas mnemotécnicas preferidas es hacer uso de la calculadora de Windows, sobretodo para esclarecer la parte de net y la de host.

Figura 12: Rango de IPv6 Link-Local haciendo
uso de la Calculadora de Windows

Se estipula en modo programador, en notación hexadecimal y teclado numérico de alternancia de bits. La parte roja hace referencia a la parte de red, que son sus primeros 10 bit inmóviles (/10) y la parte verde la de host, donde se conmutan todos los bits a “1” para saber su rango máximo en su primer casillón de 16 bits. Lo bueno de la calculadora, es que te permite conmutar cada bit a clic de ratón (parece una tontería, pero refuerza el entendimiento para su comprensión). Nota: Cómo se muestra en la figura, puedes también ejecutar más de una instancia de calculadora al mismo tiempo.

¿Y que más tipos IPv6 prefijadas puedo ver en casa?

Aquí te dejo este “chuletón” de llamadas/peticiones multicast interesantes:
  • ff02::1: Es la dirección multicast de todos los nodos en el segmento local. Todo dispositivo IPv6 la escucha.
  • ff02::1:2: Es la dirección multicast para todos los servidores DHCPv6 en el segmento local.
  • ff02::1:3: Es la dirección multicast usada por LLMNR (Link-Local Multicast Name Resolution) en IPv6, en el puerto 5355.
  • ff02::1:ffxx:xxxx (Solicited-Node Multicast): Es la dirección multicast generada automáticamente por cada host IPv6 para facilitar la resolución de direcciones (Neighbor Discovery Protocol, NDP), similar al ARP en IPv4, pero usando ICMPv6. El rango es ff02::1:ff00:0/104, y los últimos 24 bits corresponden a los últimos 24 bits de la dirección IPv6 del host.
  • ff02::2: Es la dirección multicast de todos los routers IPv6 en el segmento local.
  • ff02::c: Se utiliza para el descubrimiento de servicios SSDP (Simple Service Discovery Protocol), típicamente en el puerto 1900.
  • ff02::16: Es la dirección multicast para MLDv2 (Multicast Listener Discovery versión 2), usada por routers para saber qué dispositivos escuchan tráfico multicast.
  • ff02::fb: Es la dirección multicast utilizada por mDNS (Multicast DNS) en IPv6, puerto 5353.
Un Vídeo MitM como excusa para dar bombo a IPv6

La verdad es que esto del vídeo ha sido una “alineación de astros y planetas” en toda regla y salió en un momento bastante oportuno. Os explico a modo resumen como se gestó esto.Yo participo en el chat público de El lado del mal en MyPublicInbox. Marta Tobarias me comentó que tenía un blog de ciberseguridad y me dijo que si pudiese darle un poco de “feedback” estaría genial. Me llamó la atención uno sobre Neighbor Spoofing en IPv6. Y buscando en YouTube a mí no me acababan de llenar los vídeos sobre este tema concreto (que igual no busqué en profundidad…). 

Yo sabía bien de su funcionamiento, por. las charlas y artículos de Chema Alonso y la Evil Foca. Y le dije a Marta que le haría un vídeo intentándolo explicar bien y hacerlo un poco divertido. A este proyecto se sumó Maria Gomez Prieto que quería meterle mano, un lavado digital para romper la aburrida barrera informática de comandos y paquetes, locos protocolos… que seria OK para los más entendidos pero no tan bien para quien está aprendiendo seguridad informática (ya sabéis que este tipo de videos suelen ser en su mayoría “feos”, poco estéticos y aburridos ¡Para que engañarnos!).

Figura 14: Los culpables de que se haya hecho este artículo y vídeo. 

Yo a María la conocí en su pedazo de artículo sobre "Cómo recuperar juegos creados en Flash usando Ruffle", me sorprendió mucho su manejo en la edición de vídeos y la destreza en barajar los bits como pelar patatas para freírlas, o para acabar haciendo tortilla a la española… es decir, fue como recuperar una receta perdida y modificarla para reemplazar con ingredientes que no se tienen (o que son más fáciles de encontrar). Me contentó mucho cuando la vi por el chat, y me convertí en una especie de fan (admiro mucho su trabajo). Tal es así que nos conocimos en persona en la MTW/OpenExpo junto a otro miembro del chat, a Mikeldi.

Figura 15: Posando frente a un Delorean de Bit2MeGerard Fuguet (izquierda)
con Maria Gomez Prieto y Mikeldi en la MTW/OpenExpo 2025

María me bautizó en el chat como Mr. Fuguet, yo a ella como Lady Maria y María a Marta como Miss Marta. Con Lady Maria tengo muy buena afinidad, similar humor, etcétera. De igual modo con Mikeldi, persona espectacular y bondadosa. Me sentí muy bien y querido, estoy muy contento por hacer amistad con gente con la que tienes mucho de lo que compartir, todo gracias a ELDM y el chat que ha sido el punto de unión.

¡Y volviendo al vídeo! No es nada nuevo pero creo que ha quedado una obra maestra la cual todo el mérito, para nada es mío… Como os he dicho, la colaboración ha generado un producto que creo que es de muy buena calidad. Os presento, en esta foto, a los actores que participan y hablamos de sus roles ;)

Figura 16: Los actores del vídeo IPv6 con MitM con NDP
  • Izquierda-arriba: Tenemos a Manson quien actúa de mero servidor FTP (sí, sin “s” ¡OJO!) bajo Windows 10. Se va a quedar todo el tiempo calladito :D
  • Abajo-izquierda-derecha: La dulce y atractiva Marilyn, es la víctima en este escenario de juego. Quien se comunica con el FTP de Manson.
  • En el centro (¡y pa dentro!): Tenemos a Kalimera. Que le encanta el Kalimocho y cuando bebe se pone a “ciberdelinquir” un rato :P Le encanta disfrazarse para pasar desapercibida (arriba-derecha en la foto).
Las características del laboratorio son simples. Todo se corre en VirtualBox. La red usada (donde se unen todas las máquinas) es de tipo interna. Se estipula la IPv4 a modo estático en cada una de las máquinas. Tanto Marilyn como Manson usan Windows 10 de 32 bit (el motivo es para no consumir muchos recursos) que están actualizadas al máximo con su Win Update a FULL y firewall activo “By Default”, únicamente se le ha permitido la regla de FTP de entrada en la máquina de Manson
Y como no, una Kali versión 2022.3 (no muy actual pero suficiente). Las herramientas de ataque usadas vienen incluidas en Kali, son atk6-parasite6 (para verlo pasivamente) y atk6-fake_advertise6 (modo activo). No tiene sentido que os describa todo el vídeo aquí en este post, ya que “habla” por sí solo (incluida la descripción del mismo, que he agotado al máximo los 5000 caracteres que permite YouTube). Pero sí me parece interesante contarte algo que no se diga en él.

La intención de esta figura es mostrar las relaciones de IPv6 y partes de ella con la zona prefijada de MAC’s que surgen en el momento de acogerse a una IPv6 Link-Local por la “inocenteMarilyn y el rellenado de su tabla caché (relación IPv6 y MAC) cuando necesita, además, obtener la MAC de un host destino (y lo pide muy amablemente la señorita).

Figura 18: Solicited-node Multicast Address. Vista de Wireshark
y tabla de cache de los vecinos en cmd de la víctima

Antes se ha mencionado que cada host crea obligatoriamente una dirección Solicited-node Multicast. En la figura, primero se ha generado la Solicited-node Multicast - última línea en cmd - del propio host. Como se observa, los últimos 6 caracteres hexadecimales concuerdan con los últimos 6 de la MAC (lo cuál no indica su MAC real de host, se estipula para consultar sí coincide con la solicitud del contrario que intenta comunicarse con Marilyn en dicho mecanismo).


El primer paquete que aparece en la figura, el número 14, se hace uso de este mismo sistema, en su capa de datos se puede ver cómo se pide la IPv6 - Target Address - de Manson. Luego, en la ventana cmd, se genera una segunda línea por encima de su propia generada al crearse su Link-Local, Solicited-node Multicast para “dejarlo por escrito” (como un log/registro) ¿Se esclarece el enigma mejor viendo los paquetes de red?

Figura 20: Entre Marilyn & Manson: Vulnerando IPv6 con
Man-in-the-middle usando NDP en la red de tu casa con Kali Linux

Y llegó el momento de ver el vídeo de todo este embrollo… Puedes hacerte unas palomitas si lo deseas porque te prometo, que en estos casi treinta minutos, se te pasarán rápidos, como ver una película en tu mejor cine - en tu propia casa, a tus anchas, a tus comodidades y tus reglas -.  ¡¿Preparad@?! LET’S GO!!!

And Remember… Be Good. Be Hackers!!!



viernes, agosto 09, 2013

DEFCON 21: Fear the Evil FOCA [Video-Screener]

Uno de los asistentes a DEFCON 21 grabó la charla que di de Fear the Evil FOCA: Attacking Internet Connections with IPv6 directamente desde la sala. Ni el sonido ni el vídeo son perfectos, pero yo la he visto y se puede seguir bastante bien.

Figura 1: Vídeo de DEFCON 21 grabado por @asimex

Si queréis, además tenéis las diapositivas de la charla ya publicadas, y las podéis ver online al mismo tiempo que seguís la sesión. Y Evil FOCA se puede descargar ya desde Eleven Paths.


Las demos que realicé en la presentación son:
- Te van a hackear en IPv6 por pensar que no lo usas
- Neighbor Spoofing en IPV6 para capturar ficheros SMB
- Ataque SLAAC en IPv6
- Web Proxy AutoDiscovery en IPv6
Y los otros posts de los que hablé en la charla son:
- IPv6 Conceptos Básicos I
- IPv6 Conceptos Básicos II
- Man in the middle en redes IPv4 usando IPv6
- Pasar de IPv4 a IPV6 con una respuesta DNS no pedida
- Activar IPv6 en Google Chrome
- Bridging HTTP-s(IPv4)/HTTP(IPv6)
- Topera: Un escanner de puertos sobre IPv6
- Apache Slowloris y más herramientas de pentesting en IPv6
- Michael Lynn y el CISCOGate en IPv6
- Predicción de direcciones IPv6 de vínculo local en OS X
- Ataque D.O.S. SLAAC: Desactivar IPv6 si no lo utilizas
- Ataque DHCP ACK Injector
Y si quieres más, pues el libro de Ataques en Redes de Datos IPv4 e IPv6 te ayudará con más demos y conceptos de hacking de redes.

Saludos Malignos!

sábado, abril 06, 2013

Descargar Evil FOCA 0.1.2.0

Ayer ya se acabó la compilación de la versión alpha de Evil FOCA que ya puedes descargar. Evil Foca es una herramienta para pentesters y auditores de seguridad que tiene como fin poner a prueba la seguridad en redes de datos IPv4 / IPv6.

Figura 1: Descargar Evil FOCA

Esta versión es capaz de realizar distintos ataques como:
- MITM sobre redes IPv4 con ARP Spoofing.
- MITM sobre redes IPv4 con DHCP ACK Injection.
- MITM sobre redes IPv6 con Neighbor Advertisement Spoofing.
- MITM sobre redes IPv6 con Ataque SLAAC.
- Ataques de Rogue DHCPv6.

- DoS (Denegación de Servicio) sobre redes IPv4 con ARP Spoofing.
- DoS (Denegación de Servicio) sobre redes IPv6 con SLAAC DoS.
- DNS Hijacking.
Automáticamente se encarga de escanear la red e identificar todos los dispositivos y sus respectivas interfaces de red, especificando sus direcciones IPv4 e IPv6 y las direcciones MAC físicas.

Figura 2: Evil FOCA versión alpha 0.1.2.0

Evil Foca está dividida en 4 paneles, a la izquierda el panel encargado de mostrar los equipos encontrados en la red, donde se podrá agregarlos a mano, y filtrar los resultados obtenidos. El segundo panel, dispuesto en el centro con todos los posibles ataques a realizar con la herramienta, y a su derecha una breve descripción de cada uno de ellos. Colocado bajo el panel anterior, se muestran los ataques que se están realizando, su configuración y su estado, permitiendo activarlo o desactivarlo. Por último, el panel inferior donde se imprime un log de los eventos de la Evil Foca.

Saludos Malignos!

PD: Si quieres aprender bien cómo funcionan los ataques que realiza Evil FOCA debes puedes leerte el libro de Ataques en redes de datos IPv4 & IPv6, puedes leer este artículo de Alejandro Corletti sobre IPv6 componentes y los siguientes artículos que ya tienes publicados en este blog:

***************************************************************************************************
- 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
- Hacking en redes de datos IPv6: Evil FOCA: Ataque SLAAC
- Hacking en redes de datos IPv6: Evil FOCA: Bridging HTTP(IPv6) - HTTPs (IPv4)
- Hacking en redes de datos IPv6: Pasar de IPv4 a IPv6 con una respuesta DNS
- Hacking en redes de datos IPv6: Cómo activar IPv6 en Google Chrome
- Hacking en redes de datos IPv4: Ataque DHCP ACK Injector
***************************************************************************************************

miércoles, marzo 27, 2013

Pasar de IPv4 a IPv6 con una respuesta DNS no pedida

Hasta el momento, la demostración del ataque SLAAC con Evil FOCA - incluido el de Bridging HTTP(IPv6) a HTTPs(IPv4) - se basan en una configuración dual IPv4 e IPv6, en la que la configuración de IPv4 está sólo como vínculo local, es decir, las direcciones 169.254.X.X sin configuración de servidor DNSv4.

Una configuración que nos tenía bastante extrañados, es cuando el equipo víctima solo cuenta con IPv6, es decir, IPv4 se ha desactivado de la torre de protocolos de la tarjeta de red, por lo que sólo cuenta la configuración de IPv6. En este entorno la extrañeza viene cuando se intenta resolver un hostname de Internet, ya que las preguntas son de registros A, en lugar de AAAA, a pesar de que el navegador por defecto tiene la configuración para buscar registros AAAA.

Figura 1: Configuración de Mozilla Firefox para buscar registros AAAA

Es decir, cuando un Windows 7 tiene configurado solo IPv6, las preguntas de resolución de nombres que se envían al servidor DNSv6 son para conseguir direcciones IPv4, algo que nos rompe el ataque de man in the middle en la red IPv6.

Para solucionarlo, ayer mismo se nos ocurrió probar a utilizar registros de respuesta múltiple, para que en la respuesta a una consulta de tipo A al servidor DNSv6, además de un registro A, le entregamos a la víctima un registro AAAA. Y funciona, se reciben los dos registros, pero la navegación por Internet va sobre IPv4 al ser un FQDN. Como esto no nos resolvía definitivamente el problema, al final decidimos probar una cosa que parece que no tiene mucho sentido, pero... que funcionó mejor que bien. 

La idea es tan sencilla como que cuando nos piden un registro tipo A, hacemos como si nos hubieran pedido un registro tipo AAAA, y listo. Esto se puede ver en la captura siguiente, que en una navegación a www.elladodelmal.com, se puede ver como se piden la resolución de todos los hosts vinculados de tipo A, pero la Evil FOCA contesta a todos con registros tipo AAAA.

Figura 2: La víctima pide registros A pero Evil FOCA responde con registros AAAA

Esto funciona perfectamente en Windows 7, y el misterio es que en el paquete de respuesta a una petición DNS va la consulta a la que se está respondiendo, y en ese punto Evil FOCA está modificando la pregunta, haciendo creer que se preguntó por un registro AAAA.

Figura 3: Evil FOCA responde como si le hubieran pedido un registro AAAA

Y la cosa funciona. Deberemos ver si esto es así en otros sistemas operativos, pero con este truco resolvemos un escenario que nos tenía con cara de poker. Curioso, ¿verdad?

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 pensar 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
- Hacking en redes de datos IPv6: Evil FOCA: Ataque SLAAC
- Hacking en redes de datos IPv6: Evil FOCA: Bridging HTTP(IPv6) - HTTPs (IPv4)
- Hacking en redes de datos IPv6: Pasar de IPv4 a IPv6 con una respuesta DNS
- Hacking en redes de datos IPv6: Cómo activar IPv6 en Google Chrome
- Hacking en redes de datos IPv4: Ataque DHCP ACK Injector
***************************************************************************************************

viernes, marzo 22, 2013

Bridging HTTP(IPv6) - HTTPs (IPv4) con Evil FOCA

En la versión alpha que estamos peinando para que salta antes de que acabe Marzo ya está implementado el sistema de Bridging HTTP(IPv6) a HTTPs(IPv4) para poder realizar ataques de man in the middle en sitios web en los que solo funcionan bajo HTTPs. Esto es funciona en los procesos de login de Facebook, de Twitter o de Tuenti, con los mismos principios del ataque SLAAC del que ya hemos hablado. Vamos a ver un ejemplo con el login de Tuenti.

Fase 1: El ataque con la Evil FOCA

El ataque con Evil FOCA sigue siendo el mismo, enviar un paquete SLAAC para que el equipo se configure la dirección del atacante como puerta de enlace IPv6. Para que esto funcione, es necesario que el protocolo IPv4 no consiga configuración vía DHCP, y se configure con una dirección de vínculo local.

Figura 1: Enviando el paquete RA a la víctima

Una vez hecho el ataque con Evil FOCA, basta con mirar la configuración en la víctima para ver que tiene configuración IPv4 de vínculo local, configuración de IPv6 de vínculo local, y la dirección IPv6 en la tarjeta generada con SLAAC con conectividad con la puerta de enlace, que es la dirección IPv6 del atacante.

Figura 2: La víctima configura IPv6 con SLAAC y usa DNS Autodiscovery

Al resolver el dominio www.tuenti.com, aparece una dirección IPv6 generada por Evil FOCA cuando la víctima le envía las peticiones de resolución DNS a los servidores de DNS Autodiscovery configurados por defecto en IPv6.

Fas 2: La interceptación de las credenciales

El resto del trabajo lo hace Evil FOCA. Cada enlace HTTPs que viene en las páginas HTML de respuesta sufre un sslStrip, es decir, se le quita la "s", con lo que todos los enlaces entre la víctima y el atacante se hacen con HTTP. Así que la negociación de las credenciales de Tuenti irá en claro. En la web principal se puede ver como Evil FOCA ha entregado la página de login bajo HTTP en lugar de bajo HTTPs.

Figura 3: Navegando a Tuenti desde la víctima por IPv6

Una vez que el usuario manda la petición HTTP de login, Evil FOCA intentará comunicarse por HTTP con el servidor, pero si este no atiende más que por HTTPs, entonces repetirá la petición bajo HTTPs para obtener la respuesta. Eso sí, todo el tráfico con la víctima irá bajo HTTP, tal y como se puede ver en esta captura de WireShark donde aparecen las credenciales.

Figura 4: Las credenciales de login va sobre IPv6 usando HTTP


En la captura se puede ver como la negociación es sobre IPv6, utilizando una URI bajo HTTP, donde se envían el usuario y la contraseña, con lo que el hombre en medio podrá ver todos los datos, mientras que para la víctima será un proceso de navegación normal y corriente.

Figura 5: La víctima navega normalmente bajo HTTP usando IPv6

Actualmente con Evil FOCA este ataque funciona con la mayoría de sitios, y estamos depurando algunos sitos que hacen algunas verificaciones extras, pero Twitter, Facebook y Tuenti funcionan ya en este entorno. Recuerda que tenemos un libro de Ataques en redes de datos IPv4 e IPv6 para aprender más de estas cosas.

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 pensar 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
- Hacking en redes de datos IPv6: Evil FOCA: Ataque SLAAC
- Hacking en redes de datos IPv6: Evil FOCA: Bridging HTTP(IPv6) - HTTPs (IPv4)
- Hacking en redes de datos IPv6: Pasar de IPv4 a IPv6 con una respuesta DNS
- Hacking en redes de datos IPv6: Cómo activar IPv6 en Google Chrome
- Hacking en redes de datos IPv4: Ataque DHCP ACK Injector
***************************************************************************************************

martes, marzo 12, 2013

Evil FOCA: Ataque SLAAC (2 de 4)

Como se ha podido ver en la primera parte de este artículo, tras tener un entorno con IPv4 configurado con sólo vínculo local y con IPv6 configurado con Puerta de enlace IPv6 y servidores DNSv6, lo que Evil FOCA hace es ofrecer los servicios de DNS64 y NAT64 preparados para que el ataque tenga éxito, vamos a ver el ejemplo de http://www.rootedcon.es por debajo.

DNS64

En este entorno Evil FOCA está interceptando todas las peticiones DNSv6 que pasen por su maquina, por ello no es necesario hacer nada especial cuando ya se ha conseguido por medio de SLAAC que las peticiones pasen por el equipo del atacante al ser éste la puerta de enlace.

Así, vaya la petición DNSv6 a un servidor de Internet, a un servidor configurado por DHCPv6 - como veremos más adelante - o a las direcciones de DNS Autodiscovery, Evil FOCA va a responder siempre con una dirección IPv6 a cualquier petición IPv6 que se haga desde la máquina de la víctima. Por ello, cuando desde el equipo se hace un ping a www.rootedcon.es, lo que se obtiene es un dirección IPv6 que contestará Evil FOCA.

Figura 9: www.rootedcon.es asociado a una dirección IPv6

Si echamos un ojo a una captura de red hecha con Wireshark en la máquina de Evil FOCA, veremos como el proceso es el siguiente:

Figura 10: Proceso de resolución de DNS de www.rootedcon.es
-  Primero la víctima envía a una dirección de DNS Autodiscovery la petición de resolver el registro AAAA de www.rootedcon.es. 
- La máquina de Evil FOCA hace un petición DNS de tipo A para resolver www.rootedcon.es a Internet usando IPv4.
- El servidor DNSv4 de Internet responde con la dirección IPv4 de www.rootedcon.es
- Evil FOCA genera una dirección IPv6 a partir de la dirección IPv4 que es la que entregará a la máquina de la víctima para que haga el resto de peticiones.
NAT64

Una vez que la máquina de la víctima tiene la dirección IPv6 asociada a www.rootedcon.es, la petición HTTP que hará el navegador será por IPv6. Todos los navegadores modernos vienen preparados por defecto para trabajar con IPv6 y el principal problema siempre suele ser el router de conexión a Internet, que no suele tener soporte para este tipo de redes o los servidores web en sí.

Figura 11: Configuración por defecto de resolución de registros AAAA en Mozilla Firefox

Por eso, una vez que se consigue que todos los hostname en Internet tengan asociada una dirección IPv6 - generada por la Evil FOCA - el resto es trabajo de escuchar la petición IPv6 desde la máquina de la víctima, solicitar la petición IPv4 a la dirección del hostname en Internet, escuchar la respuesta que llega encapsulada en IPv4 y entregarla a la víctima sobre IPv6

Figura 12: Solicitud HTTP pasando por el servicio NAT64

En la imagen superior se puede ver cómo la víctima hace la petición por IPv6 y cómo Evil FOCA la reenvía por la red IPv4.

El icono de red

Una de las características que tienen los equipos MS Windows es que muestran el icono con el estado de la red para que el usuario sepa si tiene conexión a la red o no. Esto, como ya os conté hace tiempo se hace con unas consultas DNS a servidores de Microsoft, y a pesar de que han cambiado un poco de Windows Vista a Windows 8, la filosofía es exactamente la misma. 

Figura 13: Detección de consultas DNS para saber si hay conexión a Internet

Evil FOCA detecta estas peticiones, y las responde como debe ser, para que en la máquina de la víctima aparezca el icono sin alerta, indicándole que tiene conexión a Internet, como debe ser.

Saludos Malignos!

***********************************************************************************
***********************************************************************************

sábado, marzo 09, 2013

Hachetetepé dos puntos slaac slaac

Hoy me toca ya dar la charla, justo después de la presentación de Wardog, y tiene ese título tan curioso porque aunque mucha gente sigue pensando que no utiliza IPv6, lo cierto es que sí que lo usa, como ya os expliqué en el artículo de "Te van hackear en IPv6 por pensar que no lo usas".   Evidentemente, otro sitio donde se está utilizando IPv6 por defecto es en los navegadores, aunque como contaré en la charla de forma un tanto peculiar. En todos está pre-configurado, como se puede ver en la configuración de Firefox.

Figura 1: Configuración por defecto de queries DNS IPv6

Y esas configuraciones tendrán impacto en la implementación del ataque que vamos a hacer con Evil FOCA. Esperamos que os guste la charla.

Figura 2: Valores posibles de esta configuración (y por defecto) en Firefox

Una vez terminada la RootedCON, os publicaré un artículo detallando todo el ataque y lo más importante, la Evil FOCA será liberada. 

Figura 3: Evil FOCA

No obstante, si quieres disfrutar más la charla, es recomendable que os leáis los artículos de IPv6 que ya os he publicado, comenzando por el de Hacking en redes IPv6: Conceptos básicos (1). El resto de artículos están enlazados a partir de éste.

Saludos Malignos!

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares