>>> b = ICMPv6ND_RA()
Figura 7: Ataque al RD
>>> b.display()
###[ ICMPv6 Neighbor Discovery - Router
• THOT envía un Router Solicitation Advertisement ]###
(RS) a todos los routers del type= Router Advertisement
segmento (ff02::2) por su interfaz code= 0
cksum= None
eth0. chlim= 0
• ISIS responde con un Router M= 0
Advertisement (RA) a todos los host O= 0
(ff02::1) indicando cual es el default H= 0
router. No es necesario que sea él, prf= High
P= 0
puede solamente anunciar prefijos res= 0
de autoconfiguración. routerlifetime= 1800
• Si THOT recibe un RA válido (con reachabletime= 0
la opción Router Lifetime distinto retranstimer= 0
3) Definimos las opciones para el susceptible de manipulación de paquetes a
ICMPv6 del tipo ND: nivel de enlace de datos, quedando la red
vulnerable a diversos ataques como son la
>>>c=(ICMPv6NDOptSrcLLAddr(lladdr = suplantación de identidad, spoofing y la
'00:0c:29:4c:3b:3f')) denegación de servicios (DoS). Dicha
>>> c.display() manipulación no está dada por fallas en el
###[ ICMPv6 Neighbor Discovery Option - Source
diseño del protocolo; simplemente el
Link-Layer Address ]###
type= 1 administrador debe ser consciente que las
len= 1 funcionalidades del mismo pueden ser
lladdr= 00:0c:29:4c:3b:3f utilizadas para producir ataques a la red.
>>> d = ICMPv6NDOptMTU()
>>> d.display() En el caso de que se necesite implementar
###[ ICMPv6 Neighbor Discovery Option - MTU ] el protocolo en ambientes no controlados,
###
type= 5 como por ejemplo una conexión WAN, se
len= 1 pueden utilizar túneles basados en IPSec.
res= 0x0 Con esto mantendremos la confidencialidad
mtu= 1280 y la integridad de los datos, sin embargo,
>>>e=ICMPv6NDOptPrefixInfo(prefixlen = IPSec presenta problemas en su interacción
40 , prefix = 'dead::') con los mensajes ND de ICMPv6. Se deben
>>> e.display()
###[ ICMPv6 Neighbor Discovery Option - Prefix
configurar manualmente determinados
Information ]### parámetros dependientes de la
type= 3 implementación para que los hosts puedan
len= 4 establecer las asociaciones de seguridad
prefixlen= 40 correspondientes y mantener la integridad
L= 1
A= 1
del ND. Actualmente hay un RFC Effects
R= 0 of ICMPv6 on IKE, en estado draft, que
res1= 0 explica la complejidad de esta
validlifetime= 0xffffffffL problemática.
preferredlifetime= 0xffffffffL
res2= 0x0
Existe otra manera de implementar
prefix= dead::
seguridad a nivel enlace de datos para
A continuación enviamos el paquete mantener la integridad del ND, el protocolo
armado desde el ATACANTE a THOT. Secure Neighbor Discovery (SeND – RFC
>>> send(a/b/c/d/e) 3971). La idea general del mismo es que
cada nodo del segmento tiene un
Ahora verificamos la tabla de enrutamiento identificador único, calculado como una
en THOT y comprobamos que el función hash. Básicamente es un sistema
ATACANTE ha agregado un prefijo IPv6 de infraestructura de clave pública (PKI),
dead:: /64 para la interfaz eth0, produciendo en donde se puede firmar los mensajes bajo
un ataque sobre la tabla de enrutamiento del el algoritmo RSA manteniendo la
host. integridad del paquete y autenticando al
emisor del mismo.
root@thot:~# ip -6 r s
dead::/64 dev eth0 proto kernel metric 256 Se deben conocer las posibles
vulnerabilidades de IPv6 para que la
Conclusión implementación no acarree problemas de
seguridad. Así se obtendrán los beneficios
Para realizar la implementación de IPv6 se de las nuevas funcionalidades que, por
debe tener en cuenta que el protocolo es sobre todas las cosas, se centran en la
escalabilidad y la optimización del tráfico.
Referencias
Datos de contacto