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 ThcIPv6: 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 dosnewip6 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 ThcIPv6 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 ThcIPv6 es detectnewip6, 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