"LOS NUEVOS PROTOCOLOS Y SUS ATAQUES"
Internet ha venido trayendo una serie de amalgamas y nuevos estándares y protocolos que se han tenido que actualizar o bien que se han tenido que crear dentro de los consorcios y grupos de investigación correspondientes, como bien sabemos internet ha venido creciendo en la ultima década y como consecuencia de esto las direcciones IPV4 se han visto en sus rangos asociadas, se estima que hay mas dispositivos conectados por persona en el mundo que personas en si mismas dentro de la población mundial actual, entonces estaríamos hablando de millones y millones dispositivos interconectados a la gran red de redes, lo que hace poco desemboco que se tenga que implementar nuevos estándares que ya se tenían documentados dentro de los request for comments, osease dentro de los RFCs.
enumeraremos aquí los protocolos y su funcionamiento y debajo sus posibles ataques que no por ser nuevos se encuentran exceptos completamente de tener fallos de seguridad, de hecho vemos que dentro de algunas investigaciones en la defcon y dentro de nuestros sistemas operativos favoritos de seguridad cibernética como lo pueden ser kali linux o Parrot Os security.
cumpliendo con nuestro acometido vamos analizar entonces cada protocolo, cabe destacar que aquí no veremos ataques prácticos aun no, el objetivo de este articulo es demostrar que en realidad para los nuevos protocolos también se puede colar un ciber delincuente.
veamos y empecemos con el nuevo protocolo SLAAC:
FUNCIONAMIENTO TEORICO SLAAC:
Ahora vamos analizar la informacion que se muestra en la imagen, tenemos similar que el router necesita enviar informacion y parametros especificos al igual que con IPV4 en conjunto con ICMPV4, tendremos que tener en cuenta que ip no puede funcionar solo como lo hemos comentado en anteriores articulos, tiene que tener por ejemplo para un protocolo para que se verifiquen si las rutas estan correctas dentro de los flujos de datos establecidos.
vemos que el cliente desde el lado de la estacion de trabajo se esta anunciando una solicitud de ahi el nombre del protocolo SLAAC lo que se traduce en stateless es decir de estado si se encuentra disponible o no por el momento alguna ruta hacia el flujo de datos correcto o los flujos correctos.
entonces una vez enviada la solicitud hacia todos es decir es una solicitud de multidifusion hacia los routers que esten disponibles dentro de la red, una vez hecho esto y recibido por parte de los routers disponibles los mensajes, el router hace un anuncio osea diciendole al cliente que efectivamente acaba de recibir la solicitud por parte del cliente y le envia una serie de parametros que es el prefijo, la longitud del prefijo y otra informacion relevante.
por ejemplo en este caso, le da la direccion IPV6 dependiendo de la subred desde donde se encuentre el cliente y el router, ademas de otra informacion como dependiendo de la direccion mac del cliente generar automaticamente parte de la direccion IPV6.
en este caso no necesitamos un servidor DHCPV6 configurado previamente, esto se controla desde el router mismo o desde el sistema operativo propio.
tenemos los siguientes tipos de mensajes dentro del protocolo SLAAC que son los siguientes:
Mensaje de solicitud Router RS:
ocurre cuando un cliente en este caso una estacion de trabajo esta configurada previamente para obtener de forma automatica parametros de SLAAC el mensaje que se envia es ala multidifusion lo que en ipv4 se denominaba como Broadcast osease a todos en ese caso era 255 o todos los bits a 1, en este caso es la dirección siguiente FF02::2. es decir tenemos bits que si significado es igual a todos FF ya que como recordáis ff son bytes activos a todos a 1 en su conversion al formato hexadecimal.
Mensaje de anuncio de routers RA:
como su nombre lo dice claramente son anuncios que los routers envian hacia toda la red en espera de recibir una respuesta por parte de los clientes adaptables y configurados que soporten los parametros SLAAC, el mensaje que manda el router o el conjunto de routers incluye el prefijo de la direccion IPV6 y la longitud del segmento local, es decir el rango de la red como lo era en ipv4 por ejemplo recordareis que en ipv4 si teniamos una direccion de clase c 192.168.x.x siendo x el rango o longitud de red dentro de nuestra area local en dado caso de que se encuentre sin segmentar.
Los routers estan enviando mensajes cada cierto tiempo dentro de la red establecida y un cliente utiliza esto dentro de su configuracion para crear automaticamente la direccion ipv6 de unidifusion global, se estan enviando mensajes continuamente dentro de la red , existan o no clientes enviando mensajes de anuncios RA.
por ejemplo esto tambien depende del fabricante, por ejemplo los routers cisco envian mensajes RA cada 200 segundos.
Igualmente que con los mensajes de solicitud de routers RS, se envian al tipo de direccion multidifusion de solo a los clientes o a los nodos como se le quiera nombrar especificamente FF02::1.
Comprender muy bien el funcionamiento de estos protocolos es el principal objetivo de este articulo para que el lector posteriormente analice y descubra sus fallos de seguridad en una red de nuevos entornos o tecnologías V6.
podemos ver que primero se envia un RS y otro mensaje RA por parte del otro lado del router.
despues de esto, poco tiempo despues de recibir el mensaje RA de parte del router o el conunto de routers, el cliente le toca construir su propia direccion , para ello el mensaje anterior que acaba de recibir el RA contiene una serie de parametros como la longitud y el prefijo como hemos mencionado anteriormente, a partir de aqui es donde la computadora o el cliente como se le quiera nombrar tiene que crear o construir una ipv6 de unidifusion global lo que en ipv4 se denomina como direccion ip local solamente es decir dependiendo de la clase a la que pertenecia.
una vez capturado en ipv6 el mensajje RA el cliente tiene ahora un prefijo de red de 64 bits pero ahora necesita una IDD es decir una id de interfaz de red para crear una direccion de unidifusion global dentro de la red determinada.
como se menciona en la anterior ilustracion, necesita ahora la estacion cliente el otro prefijo para crear su direccion ipv6, existen dos metodos para esto de los cuales se enumeraran a continuacion:
- PROCESO EUI-64: la estacion cliente utilizando su direccion MAC (fisica) de 48 bits en digitos hexadecimales HH:HH:HH:HH:HH:HH.
- Aleatoria o dinamica: La interfaz de red es generada dentro de un numero o rango de numeros aleatorios generado por el mismo sistema operativo cliente dentro de sus especificaciones correspondientes.
ahora la direccion ipv6 se puede decir que esta completa y tiene los 128 bits para su correspondiente direccionamiento, asi como los 64 bits primeros que nos enviaron en el mensaje RA tiene incluido la direccion link-local del router como su direccion ipv6 de gateway predeterminado.
una de las cosas mas interesantes es que SLAAC puede detectar que si alguna direccion esta duplicada o pudiera estar ya ocupado, al ser un protocolo sin estado es decir no tienen ningun soporte de ningun servidor si no que son los enrutadores quienes envian a los clientes y viceversa, el router y el cliente tienen que verificar que la ipv6 se exclusiva antes de poder utilizarla y no este usada.
desde este punto, el cliente envia un mensaje de solicitud de vecinos ICMPV6 con una direccion multicast especialmente creada , denominada direccion multicast de nodo solicitado que duplica los ultimos 24 bits de la direccion ipv6 del cliente.
si no hay respuesta por ninguna parte o ningun otro dispositivo responde con un mensaje de anuncio de vecino, practicamente esta garantiza que la ipv6 es unica y puede ser utilizada por el cliente sin ningun inconveniente, si el cliente recibe un anuncio de vecino la direccion ipv6 entonces no es unica y el sistema operativo debe aleatoriamente determinar una nueva interfaz id de red para usar.
vemos que los anuncios de vecinos es como las perguntas que se realizan para determinan que no existan direcciones ipv6 duplicadas e interfieran con la comunicacion en un futuro determinado dentro de la red y el flujo de datos.
ANUNCIO DE ROUTERS:
SLAAC es la opcion predeterminada para los mensajes RA.
los mensajes o anuncios de routers pueden contener ademas muchisima informacion de red mas como por ejmeplo informacion prefijo, longitud prefio, servidor DNS, MTU y la puerta de enlace o gateway predeterminado.
DHCPV6
SERVIDORES DHCPV6 SIN ESTADO Y CON ESTADO:
DHCPV6 SIN ESTADO STATELESS
(COMBINACION DE RA Y SERVIDORES DHCPV6)
los servidores DHCPV6 funcionan de una forma igual a como lo hacían en ipv4 pero ahora con direcciones ipv6 se ha modificado posteriormente el formato de dhcpv4 y se han agregado otro tipo de mensajes relevantes para el direccionamiento dentro de ipv6
las direcciones proporcionadas por dhcpv6 sin estado informa ala estacion cliente que utilice informacion del mensaje RA que recibimos anteriormente, pero existen muchos mas parametros configurables dentro de servidores dhcpv6.
dependiendo de la forma de generacion de los 64 bits restantes se completara los 128 bits con una forma u otra, completando asi el proceso de direccionamiento y listos para el flujo de trafico de redes.
despues de esto, la estacion cliente se comunica con un servidor de la red que este previamente y correctamente configurado con un servidor DHCPV6 para obtener detalles de direccionamiento que no se proporciona en un mensaje RA.
se le dice sin estado ya que el servidor DHCPV6 no guarda ninguna informacion de la estacion cliente.
CON ESTADO:
con estado nos estamos refiriendo a que en este caso y de esta forma circunstancialmente si guarda ciertos parametros e informacion del cliente dentro del servidor y sus configuraciones predeterminadas,
OPERACIONES DHCPV6:
sea cual sea la operacion, con estado o sin estado el servidor inicia con un mensaje RA dentro en conjunto con ICMPV6 .
los mensajes se envian por el puerto 546 del protocolo UDP, el cliente tambien envia mensajes al servidor mediante el puerto UDP 547.
El cliente, ahora un cliente DHCPv6, necesita ubicar el servidor de DHCPv6, el cliente envía un mensaje DHCPv6 SOLICIT a la dirección IPv6 de multidifusión de todos los servidores de DHCPv6 reservada, FF02::1:2. Esta dirección de multidifusión tiene alcance link-local, lo cual significa que los routers no reenvían los mensajes a otras redes.
podemos ver que las operaciones son las mismas ya sea que estemos dentro de una configuracion sin estado o con estado, envio de mensajes hacia el servidor y desde el servidor hacia el cliente, despues operaciones para solicitar operaciones dentro de servidor dhcpv6
después de esto uno o los servidores que estén disponibles DHCPV6 responden con un mensaje de unidifusion ADVERTISE que significa advertencia, el mensaje ADVERTISE le informa al cliente que el servidor esta disponible.
despues de que se envia por el cliente el mensaje que en efecto una advertencia de ahi el nombre ADVERTISE, de que ha recibido la solicitud, entonces el servidor le responde con un mensaje REQUEST similar a lo que se hacia en los servidores DHCPV4 convencionales.
finalmente como se hacia en ipv4 e dhcpv4 el cliente envia un mensaje replica que quiere decir que en efecto ha recabado toda la informacion necesaria para continuar con la comunicacion dentro del flujjo de datos.
desde aqui podriamos decir que la comunicacion esta correcta y lista para usarse, ahora viene la parte epica damas y caballeros ladyes and gentlemens, en la seccion de ataques vemos como los atacantes pueden aprovecharse de malas configuraciones dentro de estos mecanismos para evadir los filtros y penetrar en tu red.
ATAQUES A LOS PROTOCOLOS:
Ataque SLAAC
hay muchas tecnicas para atacar SLAAC y se siguen investigando aun mas para analizar y descubrir donde se pudiesen meter los atacantes.
existen muchos ataques al SLAAC pero aqui veremos los que nosotros podriamos efectuar sin necesidad de meter un router ipv6 a la red fisicamente y colarnos desde ahi o un punto de acceso espia, veamos como es que es un ejemplo de un ataque sencillo dentro del marco de los nuevos protocolos.
una de las formas mas comunes es la anterior, que tenemos que poner un router configurado previamente con ipv6 y que sea capaz de adaptarse ala red en la que nos encontremos, una vez metido nuestro router espia dentro de la red podriamos utilizar esta herramienta que viene en la suite que se comenta en el siguiente apartado de este mismo articulo.
lo que nos quiere decir la herramienta anterior es que podriamos enviar mensajes RA para que el cliente se nos conecte hacia nuestra dirección enviando los correspondientes RS que vimos y nosotros respondiendole de vuelta los parametros falsos para conseguirle acceso a ala red, claro antes tenemso que tener acceso total a ala red si no de nada servira y el usuario se percatara de que algo va mal dentro de su red, entonces tendriamos que hacer pasar al cliente hacia nuestro router espia y de ahi redirigir o hacer un fortwaring hacia la red interna real , pudiendo hacer un ataque tipo MITM sencillo de una manera silenciosa.
ATAQUES DHCPV6
Dentro de un servidor dhcpv6 si conocemos bien la red o anteriormente se ha estudiado la topologia, los parametros de configuracion, entre otras cosas, podriamos igualmente falsear un servidor dhcp para darles a un grupo de usuarios que se quieran conectar parametros falsos y espiar todo su trafico como en el ataque de SLAAC de tipo hombre en el medio, en este caso le damos parametros falsos para que se conecte la estacion cliente a nosotros y posteriormente poder sniffear o espiar todo su trafico resultante para que nos sea mas faciles de efectuar otro tipo de ataques mas complejos.
ahora veamos esto en funcionamiento en un entorno de laboratorio debidamente controlado.
ATAQUES ICMPV6
dentro del marco de los ataques de mensajes icmpv6 se podría decir que no ha cambiado el contexto mucho, ya que casi son los mismos objetivos de mensajes aunque han agregado algunos y cambiado el formato de mensajes para su implementacion dentro del marco ipv6, pero en si son los mismos con caracteristicas un poco diferentes, el objetivo de los ataques en este protocolo seria solamene el de intentar fragmentar en paquetes o mtu que la red no pueda procesar muy grandes o en cantidades relativamente que el firewall o el cortafuegos no deje pasar para descubrir fallos de seguridad dentro de la red de defensa perimetral.
vemos que la imagen anterior nos muestra la herramienta ndpxhaust26 que se encarga de inundar datos icmpv6 con mensaes tan grandes que la red no pueda soportar y entonces se colapse, claro esta esto sucede si la red no esta previamente configurada o compatible para este tipo de situaciones.
LA GRAN SUITE PARA ATAQUES EN IPV6
THC-IPV6
Dentro del marco del direccionamiento ipv6, existen muchas herramientas desde scripts que nosotros podremos crear con nuestro lenguaje de programacion preferido o hasta en python con libreria scapy manualmente si queremos profundizar en estos temas, pero una que se lleva la medalla de medallas es THC-IPV6 que es un super connjunto de herramientas que incorpora kali linux para diversos ataques dentro de los nuevos protocolos aqui mismo mencionados.
como os menciona dentro de la seccion de herramientas en la pagina oficial de kali linux:
vemos que la descripcion es clara, es un kit completo o una bandeja llena de herramientas que descubre fallos y es capaz de explotarlos o fuzzear conjunto de ipv6 , icmpv6 que incluye librerias con facilidad de uso.
veamos un ejemplo para saber que direcciones ipv6 estan activas dentro de la red y cual es su prefijo, longitud, etc.
en la imagen anterior, estamos observando que recibimos un echo-reply similar a como lo haria en icmpv4 , por lo que ovbiaremos el funcionamiento y estructura de mensajes icmpv6 ya que son en caracteristicas muy muy interesantes, tenemos en la red 2 estaciones ipv6 activas.
veamos otro ejemplo de flodeo, si una red no esta correctamente configurada dentro de los parametros posibles, entonces podremos inundar todo el trafico, para mitigar esto se necesitaria utilizar vlans o switches que resistan con tablas estaticas que se casi imposible inundar por paquetes de datos aleatorios, de no implementarse la seguridad esto tendria como consecuencia un lageo y hasta un ataque ddos dentro de la red, paralizando todos sus recursos.
vemos que el script esta llenando cientos de paquetes e incluso miles de paquetes con mensajes RA que vimos anteriormente en las explicaciones teoricas de este articulo, vemos que hasta que no paremos el envio de paquetes, estos se seguiran enviandose hasta el infinito y llegara un tiempo en que la red no soportara tantos mensajes dependiendo tambien de las configuraciones entre otros factores, si no se tiene un minimo de seguridad para soportar algun tipo de flodeo o numeros de paquetes dentro del flujo de conexiones, entonces la red caera tarde o temprano.
Otra de las herramientas es poder analizar para verificar o dar pingv6 a algunas de las estaciones base que sospechemos que se encuentren activas.
vemos que la anterior imagen nos muestra un ping hacia el conjunto o suite de protocolos ipv6, podriamos anadir varias tecnicas asi como saltos para ver si la red pudiera soportar estos diversos mecanismos o es por ahi donde los atacantes se podrian colar descubriento topologias de la red en absoluto, vemos que estamos dando ping y enviando paquetes de tipo ICMPV6 desde una direccion ipv6 en especifico hacia un destino especificado dentro de la linea de comadnos de la herramienta.
tambien podemos ver que podremos fragmentar los paquetes icmpv6 tambien para poder si podremos atravesar perimetros de seguridad de defensa y asi poder correlacionar datos y otras caracteristicas de la red.
hasta podriamos hacer con esta suite incluyendo un script que trae la herramienta un ataque de denegacion de servicio para impedir que otras estaciones cliente se agreguen a las redes mediante los RS o los mensajes salientes RA que vimos anteriormente en la teoria.
vemos que mandamos muchos paquetes y mensajes malformados para impedir que otras estaciones se agreguen ala red mediante la teoria anteriormente explicada.
Happy Hacking
Enjoy!
Stuxnet
REFERENCIAS Y ENLACES TECNICOS:
0 comments:
Publicar un comentario