Buscar este blog

ATACANDO IPV6

ATACANDO IPV6



Por todos es bien sabido que a principios de mes se acabaron las asignaciones de dirección con el protocolo IP versión 4,

algunas universidades, empresas o países tienen disponibles “reservas” pero la ARIN (American Registry for Internet Numbers) no asigna nuevos segmentos con IPv4

por que todos tienen dueño ya.pronto nos veremos obligados a convivir con ipv6


para comenzar a meterle mano al asunto deberemos bajarnos y compilar thc-ipv6 un completo suit para atacar ipv6


http://dl.packetstormsecurity.net/groups/thc/thc-ipv6-1.4.tar.gz


no olvidar las dependenciaS:


apt-get install libpcap-dev openssl libssl-dev


procedemos a compilar:

cd thc-ipv6-1.4

make


si todo va bien


make install


ya tenemos preparado nuestro bolido para correr por ipv6


Resumen de IPv6



El protocolo IPv6 es una nueva versión de IP (Internet Protocol) diseñada para reemplazar a

IPv4. Se encuentra definida en el RFC 2460. A continuación se exponen las características de IPv6 más

interesantes y esenciales para la comprensión de los siguientes apartados:

El primer dato salientable es que ipv6 permite un número de posibles direcciones IP muy



superior a IPv4 (2128 del primero frente a 232 del segundo). La restricción que IPv4 impone sobre

el crecimiento de internet es la principal razón que Ipv6 esté destinado a sustituirlo.

El tamaño de una subred en IPv6 es de 264 (máscara de subred de 64 bits). Aunque



probablemente el aprovechamiento del espacio de direcciones de la subred sea menor que en

IPv4, el uso de direcciones más largas permite una asignación de las mismas de manera

jerárquica y sistemática (mejorando así la administración de las redes debido a la reducción de

costes operacionales), además de una agregación de rutas más eficiente.

Permite la autoconfiguración de direcciones IP e interconexiones de equipos usando los



mensajes de descubrimiento de routers de ICMPv6. También es posible utilizar DHCPv6

(Dynamic Host Configuration Protocol para IPv6) o configurar los nodos de forma estática.

ICMPv6 es una nueva versión de ICMP (Internet Control Message Protocol) y es una parte

importante de la arquitectura IPv6 que debe estar completamente soportada por todas las

implementaciones y nodos IPv6. ICMPv6 combina funciones que anteriormente realizaban

diferentes protocolos (ICMP, IGMP, ARP ...) y además introduce algunas simplificaciones

eliminando tipos de mensajes obsoletos que estaban en desuso actualmente.

IPv6 no implementa broadcast, aunque pueden enviarse paquetes a la dirección de multicast a



todos los nodos (enlace local) con un efecto análogo.

Se integran algunas características de seguridad, entre las que destaca la obligatoriedad del



soporte a IPSec (Internet Protocol Security), protocolo utilizado para cifrado y autenticación IP

(nivel de red).

MIPv6 (Movile Ipv6), que permite a un nodo moverse por diferentes subredes manteniendo las



conexiones de forma transparente, es tan eficiente como el IPv6 normal (a diferencia de Ipv4

móvil).

Las direcciones IPv6 tienen 128 bits de longitud y se escriben como ocho grupos de cuatro

dígitos hexadecimales (por ejemplo: 3ffe:ffff:0:0:8:800:20c4:0). Cada grupo se separa por dos puntos y

si uno o más grupos son nulos (“0000”) se pueden comprimir (para el ejemplo anterior se tiene:

3ffe:ffff::8:800:20c4:0). La dirección ::1 es la de loopback y el prefijo ff00:: se usa para las direcciones

multicast.

El formato de las direcciones IPv6 es el siguiente: una cabecera obligatoria de 40 Bytes, una

serie de cabeceras opcionales situadas a continuación de la obligatoria y los datos (con cabeceras de

protocolos de nivel superior incluidas). El nuevo formato de paquete que especifica IPv6 está diseñado

para minimizar el procesamiento del encabezado de paquetes. Además, los cambios en la codificación

de las opciones de la cabecera permiten una mayor flexibilidad a la hora de introducir nuevas opciones

o variar su longitud. Como apunte, decir que IPv6 ya no limita la carga útil de los paquetes a 64 KB,

sino que tiene soporte opcional de hasta 4 GB (los llamados jumbogramas).

Por último, cabe mencionar el sistema IPv6 6to4 que permite enviar paquetes IPv6 sobre una

infraestructura IPv4 sin necesidad de configurar manualmente los túneles que encapsulan los paquetes

IPv6 en paquetes IPv4.



Atacando ipv6:


en un ataque convencional a ipv4 lo primero seria fijar el objetivo. una forma típica de actuar sería utilizar una

herramienta como Nmap para buscar las direcciones de las máquinas en la subred a atacar, escanear sus puertos, buscar vulnerabilidades

en los puertos abiertos... Con Ipv6, la secuencia de acciones sería similar, pero debido al enorme rango de direcciones válidas dentro de

una subred (264 ), el tiempo que nos llevaria seria excesivo...


como remedio con IPv6, las fuentes de información principales (y por tanto uno de los objetivos clave) serán los servidores DNS...

todas las máquinas necesitan estar en servidores DNS privados con la finalidad de ser administradas.


para este fin tenemos una de las herramientas incluidas en Thc­IPv6: alive6.


# ./alive6 interfaz

La respuesta obtenida serán las N direcciones de las interfaces de red locales con direcciones

Ipv6, entre las que podremos seleccionar algunas a atacar:


root@manuel:~# alive6 eth0

Warning: unprefered IPv6 address had to be selected

Alive: xxx0::xxx:0x7:xx77:xxxx

Alive: xxx0::x0x:xxxx:fe2d:xxxx


Found 2 systems alive


Buscar vulnerabilidades


los errores de seguridad típicos que se pueden encontrar(y aprovechar)para ataques a IPv6,en su mayoría debidos a descuidos o

malas implementaciones.


Sin la aplicación de IPSec, cualquier ataque que utiliza técnicas de "Man in the middle " tendrá la misma probabilidad de IPv6 en IPv4.


Si tenemos en cuenta que IPSec está fuertemente ligada a IPv6, su uso sería suficiente para evitar cualquier problema con respecto a los intentos de conexión secuestro. Por desgracia, la práctica dominante que vemos hoy en términos de despliegue de IPv6 ya existentes es que los operadores de red no hacer ningún uso de IPSec. El uso de los certificados también puede proporcionar la autenticación necesaria de extremo a extremo en el nivel de aplicación (por ejemplo, servidores web). Sin tales mecanismos de seguridad de extremo a extremo, un secuestro "Man in the middle " es una posibilidad.


Otra cuestion que coplicaria los ataques seria que no nos encontraramos subred que la victima la dificultad aumentaría debido a la alta

probabilidad de que un firewall tirase la paquetería enviada o de que las acciones “ilícitas” fuesen detectadas por un IDS (Intrusion Detection System).



MITM (Man in the Middle).


La realización de este tipo de ataque en IPv4 se basa en el funcionamiento de las peticiones de ARP (para obtener la MAC correspondiente a

una dirección IP) y mensajes DHCP (para asignar direcciones IP dinámicamente), enviados ambos a la dirección de broadcast de la subred. Por tanto, cualquiera puede responder a estos mensajes, falseando

así la información. En IPv6 no se añade una seguridad especial a lo anterior, la diferencia radica en que

se utiliza ICMP6 para realizar estas peticiones y se utilizan direcciones multicast (pues en IPv6 no hay

direcciones de broadcast).


en ipv6 cuando A quiere comunicar con B , A emite una petición ICMP6 (para solicitar la MAC de B), a todos los nodos de la subred (dirección multicast).

El atacante puede utilizar la herramienta parasite6 para enviar una respuesta afirmando que la MAC solicitada se corresponde con su dirección IP.


root@manuel:~# parasite6 eth0

Remember to enable routing (ip_forwarding), you will denial service otherwise!

Started ICMP6 Neighbor Solitication Interceptor (Press Control-C to end) ...



Estaremos redirigiendo el tráfico local a nuestro sistema.

Como se indica al ejecutar el comando, se debe habilitar el enrutamiento para redirigir los

paquetes interceptados a su destino correcto. De no hacerlo así, realmente estaríamos haciendo un ataque DoS (Denial of Service): el

receptor legítimo de los paquetes no los recibirá.


Otra posibilidad relacionada con la asignación de IP's es utilizar el chequeo DAD (Duplicate Address Detection) necesario cuando

se quiere asignar una IP a una interfaz de red. La máquina que desea utilizar una dirección IP envía un mensaje ICMP6 para comprobar si la dirección ya está siendo

usada. El atacante puede utilizar la herramienta dos­new­ip6 para impedir que se asignen nuevas IP's en la subred afirmando que utiliza todas las direcciones.

La sintaxis es análoga a los casos anteriores:


root@manuel:~# dos-new-ip6 eth0

Started ICMP6 DAD Denial-of-Service (Press Control-C to end) ...



Hay otras posibilidades relacionadas con estos ataques, como la proporcionada por el exploit

fake_router6 que se puede utilizar para hacerse pasar por router en la red (y así conseguir, por ejemplo,

modificar las tablas de enrutamiento de las víctimas).


estos an sido unos ejemplos simples pero las posibilidades de Thc­IPv6 para ataques a IPv6 son muy amplias y

crecerán con el mayor uso de este protocolo y según se investiguen sus vulnerabilidades..


otro dia seguiremos explorando thc-ipv6 que no tiene desperdicio alguno y sus herramientas como:


redir6 (redirige el tráfico al sistema del atacante en una LAN), toobig (reduce el MTU del destino), fake_mipv6 (en caso

de estar IPSec deshabilitado, redirige el tráfico de un nodo con IP móvil al destino elegido), etc.

Otra herramienta muy cómoda incluida en Thc­IPv6 es detect­new­ip6, que se puede utilizar

para automatizar tareas. Simplemente detecta nuevos sistemas con IPv6 habilitado en la red local y si se

le pasa un script como argumento, lo ejecuta con las nuevas direcciones detectadas.
Un saludo a todos