bitcoin prize

ATAQUES MITM EN IPV6 Y DERIVADOS 💻👀💀👿

"EL HOMBRE DE EN MEDIO REGRESA EN IPV6"

 y no, no ha regresado para vengarse de ti,  si no de tu queridisima red e infraestructura,  el hombre de enmedio es habil e inteligente,  y se podra poner de nuevo en medio de la red para interceptarte en venganza de tu migracion hacia ipv6.
no, no queria asustarte, pero, siento decirtelo que si,  las redes ipv6 tambien pueden ser atacadas, aunque hace algunos dias lei un articulo que los atacantes se van por el camino ipv4,   posiblemente sea la posibilidad de lo extenso de la estructura de una direccion ipv6, por lo que al ser la direccion de 128 bits,  el escaneo se hace mas dificil y con algunos consumos de recursos extras del cpu del ordenador, tal vez sea eso,  tal vez.
hay que destacar dos cosas, antes de ponernos en marcha con nuestro ataque,  primero, definir bien algunos conceptos,  en las redes ipv6, las direcciones son mas largas y en formato hexadecimal como lo mencione anteriormente y en segundo lugar ,  arp ya no existe, ahora se ha implementado un nuevo protocolo llamado NDP,  que es el encargado de buscar a los vecinos de la red misma,  veamos un poco una direccion ipv6,  haciendo ipconfig /all si es que tenemos activado el ipv6 en nuestro ordenador.
algo mucho mas peligroso es la posibilidad de que en la red este activado ipv6 y los administradores no se den ni cuenta,  un atacante podria aprovechar esto, como veremos en esta misma entrada un poco mas adelante.
una direccion ipv6 tiene esta misma estructura:
si queremos activar las caracteristicas del direccionamiento ipv6 como poder subnetear , podemos ingresar en nuestro winbugs, oh perdon, windows e irnos a propiedades y a propiedades avanzadas tal y como se muestra en la siguiente imagen:
 cuando ya lo tenemos activado , podremos hacer un ipconfig o ifconfig en el caso de linux,  ahora vamos a la consola y listamos la direccion como en la imagen:
ahora vamos a ver como es que se genera una direccion IPV6 a partir de una direccion MAC del ordenador.
Uno de las caracteristicas mas importantes dentro del nuevo protocolo IPV6 es que cabe la posibilidad de que existe la auto-configuracion automatica sin intervencion del usuario que es capaz de generar aleatoriamente en automatico para generar los 64 bits restantes que le faltan a la direccion IPV6 para que sea efectivamente enrutable,   ya que como bien sabemos la direccion ipv6 resulta en completamente los 128 bits.

vemos y recordais que una MAC o direccion hardware fisica se compone de secuencias hexadecimales, como por eemplo,  donde cada H es un digito hexadecimal:

HH:HH:HH:HH:HH:HH

Lo que es posible configurar son los bits que estan dentro del host,  y ademas conocemos actualmente que una direccion fisica se conoce por tener dos partes,  una parte que es la que se deriva o la que estampa dentro de la direccion fisica que es el fabricante por ejemplo,  algunas partes de la direccion mac o fisica la crean los fabricantes dentro de sus especificaciones concretas y sus protocolos de establecimientos determinados.
por ejemplo huawei sigue un patron para crear la primera parte de una direccion MAC , otro fabricante que puede ser por ejemplo Cisco tiene un patron diferente especifico.

la otra parte de los 48 bits de la direccion fisica,  se crean dependiendo del dispositivo,  aunque en algunas ocasiones pueden ser de una generacion aleatoria segun sea el caso.

veamos la generacion de los bits restantes o del mecanismo EUI-64 dentro de una direccion IPV6 en la imagen de presentacion siguiente:

vemos que una parte como se menciono anteriormente son para la unidad organizacional o el OUI que es claramente el fabricante,  y los otros son para el NIC o la tarjeta de red que tenemos en cuestion.
dentro de este mecanismo lo que hace es la separacion de estas dos partes de la direccion fisica e inyecta su constante que en este caso es FF:FE  en medio de las dos partes,  una vez que se ha inyectado estos bytes dentro de la estructura de la direccion fisica.
A partir de aqui,  es necesario modificar el bit septimo del lado izquierdo con el unico objetivo de de implementar o especificar si el id de interfaz de red es administrado de forma universal o de forma local.
esta documentacion se encuentra claramente RFC 4291.

vemos que cambiando un 7mo bit de la izquierda la secuencia 00 se convierte en 02,  a partir de aqui el mecanismo ya esta listo,    desde aqui ya es posible generar la direccion IPv6.

en la imagen de abajo podremos ver otro sencillo ejemplo de como  se generan nuevas direcciones IPV6 en automatico a partir de este mecanismo,    esta es solo una parte de una direccion ipv6 complets lo que genera el mecanismo EUI-64 en automatico, es decir solo se genera en automatico los 64 bits que identifican o que deben de identificar univocamente al host o ala estacion.

vemos que con este mecanismo tenemos listos la parte importante de nuestros hosts,  los otros primeros bytes de la direccion ipv6 es decir una parte se genera de la parte principal de la direccion IPV6 que identifican a la red al igual que soliamos conocer en la version 4 de IP,  ademas tenemos un identificador ID que algunas veces puede identificar al ISP.

ahora que ya sabemos del mecanismo EUI-64.

vamos a enfocarnos a  en el protocolo NDP y analizamos como podria un atacante colarse dentro de entornos V6 empresariales o de cualquier indole.

Como su nombre lo indica "Neighboard Discovery Protocol"  lo que se traduce en protocolos de descubrimientos de vecinos,   es el primo/hermano del protocolo ARP para descubrir quien se quiere comunicar con quien mediante las direcciones fisicas y encontrando el par IP/MAC.
dentro de entornos ipv6 productivos no existe ya ni ARP ni BROADCAST ya que se tiene la idea circunstancial de que esto provoca mucho trafico inecesario en la red y aumenta la latencia provocando largos cuellos de botella en algunas ocasiones  y muchos otros problemas.
con la ayuda de otros protocolos que vimos en otro articulo https://thepentesterdiaries.blogspot.com/2017/01/blog-post_39.html  en el que describimos los nuevos protocolos de entornos V6 asi como los ataques que existen y las herramientas que podremos encontrar dentro de nuestro sistema operativo kali linux o cualquiere distro especializada en seguridad cibernetica e informatica forense.

ahora veremos como es que  EL NDP funciona realmente.

seguiremos la misma metodologia,  primero colocamos una imagen la que esta abajo obviamente y posteriormente  la analizaremos para ver el funcionamiento interno del protocolo asi como sus mensajes derivados para posteriormente enfocarnos en como un atacante podria lograr falsear estos mismos mensajes y provocar un hombre en el medio dentro de NDP en una red ipv6.

EL DESCUBRIMIENTO DE LOS ROUTERS


Ahora , analicemos,  primero podremos ver que dentro de los mensajes que se envian dentro de la red de este protocolo,  es el RA por sus siglas en ingles lo que se traduce como ROUTER ADVERTISEMENT,  lo que quiere decir valga la redundancia como advertencia de un router,  en este caso la estacion pregunta con un RS que es un ROUTER SOLICITATION,  que indica que esta buscando un router al que dirigir su trafico para posteriormente  tener un flujo de red o de trafico con el que contar,  una vez llegado como un paquete multicast dentro de la red el mensaje RS llega a alguno de los routers si no es que a todos, entonces el router mas cercano le contesta con un mensaje RA indicandole que efectivamente el es un router y que esta listo para que la estacion cliente se conecte con el y empezar a conectar.

Cuando se esta establecida la conexion,  ahora es tiempo de comunicarse entre las otras estaciones cliente a las que ya se ha establecido conexion con los routers en este caso con los hosts y que tienen en el momento determinado.
una vez establecido este punto, ahora toca que se comuniquen las estaciones cliente.

COMUNICACION ENTRE VECINOS (ESTACIONES CLIENTE/HOSTS)

me llama la atencion que dentro de las tecnologias  y dentro de nuevos protocolos cambian solo algunos conceptos para adaptarse a los nuevos cambios dentro de los nuevos mecanismos y protocolos,   en este caso se reemplaza al protocolo ARP de las que se buscaba el par que antes mencionabamos.
se podria decir que los vecinos en este caso son las estaciones cliente,   y como nuestro subtitulo dice comunicacion entre vecinos esto se traduce igualmente en la comunicaciones entre hosts o clientes dentro de la red V6.

veamos un analisis de la imagen siguiente para describir lo que realmente esta ocurriendo,  y cuales son los mensajes que se envian y reciben dentro de la red.


vemos como nos muestra la imagen,  que al igual que el protocolo ARP,   esto funciona para que exista una comunicacion, rapida y eficiente entre los vecinos de la red o mejor conocidos anteriormente como hosts,  primero el vecino que se quiere comunicar con los demas envia un mensae de NS en el que pregunta quien tiene esa direccion por la cual esta preguntando,   seguido de esto el mensaje ira destinado a un sub-grupo de vecinos al igual como un mensaje multicast ,  quien tenga esa direccion por la cual se esta preguntando le responde con un NA seguido con la direccion ipv6 con la que se pregunta y desde este momento se establece la conexion y estan listos para enviar.

Ahora que conocemos esto mismo, vamos a  profundizar dentro del ataque o del posible ataque que puede ocurrir dentro de NDP.

existe un ataque que al igual que ARP spoofing para lograr el MITM o hombre en el medio es para espiar lo que fluye dentro de una determinada comunicacion,  el verdadero problema aqui es que en algunas conexiones IPV6 es opcional el uso de IPSEC si no en algunos casos lo lleva por obligacion dependiendo del entorno en el que nos encontremos.

hay que aclarar,  hay que aclarar que el NDP tambien tiene algunas opciones que si el lector interesado desea profundizar puede buscar dentro de la documentacion correspondiente.

Determinacion de ruta:
determina la ruta en la que los mensajes se dirigiran hacia un flujo de trafico concreto.

NUD (Neighboard Unreachable Detection):
esto se usa para determinar si un vecino es  inrastreable es decir que no se encontro ningun flujo de trafico o direccion hacia el , al igual que en redes ipv4 es el mismo mensaje que HOST UNREACHABLE o host inexistente.

DAD (DUPLICATE ADDRESS DETECTION):
se utiliza para determinar que una direccion no ha sido duplicada dentro de la red.
detecta si una direccion esta siendo utilizada o no.

REDIRECTION:

La redireccion tambien existe en ipv6 y se utiliza para enviar mensajes para cambiar de ruta,  lo cual es el tipo de mensaje 137 dentro de la estructura del formato.


IPV6 NEIGHBOR SPOOFING (MITM POSSIBLE)

en esta seccion llego el momento de ver como se realizaria un ataque de hombre en el medio en este entorno.

analicemos la imagen anterior:
vemos que hay una comunicacion normal con dos vecinos una victima y el otro atacante,   el ataque funciona de una manera similar a ARP SPOOFING a excepcion de que aqui se debe de tener especial cuidado ya que existe lo que comentabamos anteriormente de el mecanismo o mensaje DAD  para detectar si en una red o topologia hay dos direcciones IPVV6 duplicadas.
si el atacante logra inyectarse dentro de la red mediante una configuracion determinada o logra efectuar un ataque DDOS al host original obviamente podriamos evadir el mecanismo de DAD que detecta una direccion duplicada,  claro esta, si este mecanismo esta activo y configurado dentro de la red.
vemos que el atacante logra inyectar mensajes NA diciendo y mintiendo acerca de que el es el vecino original y falseando de nuevo como ocurria en ARP,  redirigiendo asi todo el trafico hacia el .


Vemos que tambien existe el ataque por el otro lado lateral, en el que la victima  envia un NS esperando recibir un NA ,  el atacante lo que hace espera algun mensaje NS por parte de un cliente para enviar un NA para que parezca que es de un vecino legitimo, cuando en realidad es todo lo contrario.

al estar en comunicacion con un vecino malicioso desde aqui se podria inyectar tambien un router falso para re-enrutar el trafico  y falsear con mensajes RA al vecino que se comunica con nosotros. desde aqui podriamos crear un ataque hombre en el medio.

existen distintas herramientas de defensa y ataques dentro de diversos sistemas tanto windows como linux,   en windows podriamos utilizar evil foca si tenemos un entorno ipv6 dentro de windows servers.

por otro lado,  si tenemos entornos linux o sistemas de auditoria linux, entonces nuestras herramientas podrian ser la suite conocida que hablamos en un anterior articulo conocida como IPV6-HTC ya instalada y previamente configurada en kali linux y otras distribuciones especializadas en seguridad informatica.

Si queremos hacer frente a este tipo de ataques y monitorizar el perimetro de nuestras redes, entonces tenemos que conocer las herramientas NDPTOOL incuida en entornos linux y la herramienta que se instala llamada ndpmon asi como ndpwatcher que lo que hace es monitorizar los mensajes que se mandan dentro de una red ipv6 para ver que no existan direcciones duplicadas y que no somos victimas de un ataque.

en la imagen siguiente vemos un ejemplo de como luce la herramienta evil foca si nos ponemos en el rol de atacante, esta herramienta lo que hace es el ataque antes mencionado pero en un entorno grafica o con GUI como se le quiera describir.


vemos que tenemos diversos tipos de ataques,   tenemos el ataque que se ha mencionado y ejemplificado en este articulo,   tenemos el ataque tambien SLAAC que hemos mencionado en otro articulo y el falseo de un server dhcpv6 para suplantar o hacer una denegacion de servicio.
automaticamente al presionar start la herramienta se colocara en modo monitor y se pondra a escuchar todos los detalles de la red.
vemos que estamos en la seccion MITM IPV6 lo que se traduce relativamente que existen  tres metodos para crear el hombre en el medio y snifear todo detalle que viaje en texto plano, capturando todo tipo de datos posibles.

Ahora veamos la defensa,  como defensa nos estamos refiriendo a que debemos parar o evitar que este tipo de ataques sucedan dentro de nuestras redes.

existen diversas herramientas por lineas de comandos en linux pero existe una que hay que capta la atencion y es que se puede configurar e instalar a esta herramienta una GUI para hacerla mas comprensible para la defensa de la red asi como para la gestion oportuna.


vemos que tenemos alertas en diferentes colores como nosotros queramos configurar para gestionar meor la seguridad perimetral de nuestra red.
vemos que  tenemos la hora y fecha en que ocurrio el evento , podremos ver si alguna direccion ha sido duplicada y la podemos configurar con los colores que queramos para una mejor visualizacion.

ahora veamos otra herramienta super ligera que ya esta contenida en la mayor parte de los sistemas operativos linux,  se llama ndptool y la podemos usar para verificar que paquetes estan transitando por nuestra red y configurar determinadas alertas o procedimientos para intentar parar el ataque del hombre en el medio.


vemos que la interfaz debe estar en modo monitor para que podamos leer los diferentes paquetes de datos que estan transitando en ese momento,  ademas nos sale la informacion de tipo entre otras cuestiones.


vemos que estan circulando dentro de la red multicast y vemos que se estan enviando mensajes de tipo 86 que son NS o mensajes para requerir vecinos y tratar de establecer una comunicacion.

Existen muchas otras tecnicas para efectuar ataques, y nos hemos quedado cortos para comprender el amplio espectro que existe para crear ataques a la infraestructura ipv6.

lo abordaremos en otros articulos.

un gran saludo. 

the pentester 


REFERENCIAS Y ENLACES TECNICOS:

0 comments:

Publicar un comentario

My Instagram

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más