domingo, 31 de marzo de 2013

Envenenamiento ARO o RP


Curiosidad, venganza o espionaje industrial pueden ser las razones por las que desde dentro de su propia red un atacante pueda realizar sus fechorías. Las estadísticas confirman que entre el 70 y 80 por ciento de los ataques efectuados a una red proceden desde dentro de la misma. Los administradores pasan bastante tiempo impidiendo estos ataques internos ya que proteger la red desde dentro es mucho más difícil que protegerla frente a ataques externos.
Una de las técnicas más formidables de ataques internos es la que se conoce como ARP spoofing. ARP spoofing coloca a un atacante en una posición en la que puede espiar y manipular el tráfico local. El ataque conocido como el hombre de en medio es fácil de realizar gracias a un software sofisticado, incluso los atacantes con muy pocos conocimientos sobre redes disponen de buenas utilidades para llevar a cabo su cometido con éxito.

¿Cómo funciona ARP?

El protocolo ARP se publicó en Noviembre de 1982 como RFC 826 por David C. Plumier. Como la seguridad en las tecnologías de la información no era un factor importante en aquella época, el objetivo era simplemente proporcionar funcionalidad. ARP transforma direcciones IP a direcciones MAC. Si el cliente C necesita enviar un paquete al servidor S, tiene que saber cual es la dirección MAC de S si ambas máquinas están dentro de la misma subred. Incluso si S reside en una red diferente, C aún necesita la MAC -en este caso, la dirección del router que reenviará el paquete.
El router se hará cargo de todo lo demás. Para averiguar la dirección MAC, C retransmite una solicitud ARP a todas las máquinas de la red local, preguntando “¿Quién tiene la dirección IP a.b.c.d?”. La máquina que tiene dicha dirección IP responde indicándole al cliente su dirección MAC +.
Un paquete ARP se transporta como información dentro de una trama Ethernet. Para permitir que esto pueda hacerse, el valor de 0x8006 se coloca en la cabecera de la trama en el campo tipo – esto le indica al destino que se trata de un paquete ARP.
Como sería muy costoso el tener que retransmitir solicitudes ARP y esperar las respuestas antes de enviar datos, cada pila IP contienen una tabla ARP, también conocida como ARP caché. La caché contiene una tabla con las direcciones IP y las direcciones MAC correspondientes. La tabla puede albergar entradas estáticas (por ejemplo, aquellas generadas por un usuario) y entradas dinámicas (aquellas que ha ido aprendiendo a través del protocolo ARP). Las entradas dinámicas a menudo son válidas para períodos cortos de tiempo, normalmente unos cuantos minutos.


Efectuando ataques en la LAN

Como ARP no realiza ningún intento por protegerse frente paquetes manipulados, es vulnerable a una serie de ataques. Los más comunes son MAC spoofing, MAC flooding y ARP spoofing. MAC spoofing implica que el atacante debe usar una dirección fuente MAC manipulada. Esta técnica tiene sentido si los privilegios van ligados a una dirección MAC. Muchos administradores de WLAN
(Wireless LAN) ponen la dirección MAC de los usuarios autorizados en una lista de control de acceso. Esto es una medida de seguridad débil ya que es fácil de vulnerar. El atacante tan sólo tiene que conocer una dirección privilegiada y usarla cuando la máquina con dicha dirección esté apagada. MAC spoofing es útil cuando los atacantes quieren proteger su identidad.
Hay una forma bastante sencilla de impedir esta clase de ataques en una red cableada: muchos switches permiten seguridad a nivel de puertos. El switch tan sólo aprende la dirección MAC una sola vez y la almacena permanentemente. A partir de este momento, el switch no aceptará ninguna otra dirección MAC fuente conectada a ese puerto. Este mecanismo es efectivo frente a los ataques MAC spoofing. Como punto negativo se tiene que el administrador debe reconfigurar el switch cada vez que se cambie la red.
La seguridad a nivel de puertos puede también proteger la red frente a otra clase de ataques. El ataque conocido como MAC flooding está diseñado para echar abajo la seguridad a nivel de puertos de un switch.
Al contrario que los hubs, los switches usan tablas CAM (Memoria de contenido direccionable), que especifican el puerto correspondiente a cada dirección MAC del switch. El switch tan solo enviará paquetes a través del puerto que conduzca a la máquina destino. Los atacantes pueden deshabilitar esta funcionalidad sobrecargando el switch con direcciones -la tabla CAM solo puede contener un número determinado de direcciones. Si el ataque tiene éxito, se consigue que el switch funcione como un hub y esto permite que las comunicaciones sean visibles por cualquier puerto.
ARP Poisoning
El tercer ataque no es tan fácil de detectar y no hay contramedidas simples. El ataque se basa en un ARP spoofing, donde el atacante deliberadamente transmite un paquete ARP falso. ARP poisoning es un tipo específico de ARP spoofing cuyo objetivo es manipular (envenenar en inglés, de ahí el nombre) las tablas ARP de otras máquinas. Como los sistemas operativos no suelen comprobar si una respuesta ARP es realmente la contestación a una solicitud ARP enviada previamente, la información de la dirección de la respuesta es almacenada en la caché. En los sistemas Windows los atacantes pueden incluso Si dos ordenadores en una red quieren charlar, necesitan una forma de identificación entre ellos unívoca. Ethernet utiliza un número de 48-bit (6 byte), que es asignado por el fabricante. La denominada dirección MAC (Control de Acceso al Medio) es única en el mundo. Esto permite a los usuarios añadir (más o menos) tantos adaptadores Ethernet como quieran a la LAN. Sin switches o bridges Ethernet usa broadcasting; esto es, cada paquete en el cable se envía a cada nodo de cada segmento de la red. Pero solo el destino pretendido aceptará el paquete, mientras todos los otros nodos lo ignorarán.

Esta solución es sorprendentemente fácil, pero no se adapta bien en diversos entornos. Todo el que esté conectado al medio común comparte el ancho de banda. Los bridges y los switches reducen la situación dividiendo la red en múltiples segmentos y aprendiendo qué direcciones MAC están disponibles a través de los puertos (tabla CAM, Content Addressable Memory). Esto permite a estos dispositivos transmitir paquetes sólo a los segmentos donde se encuentra la máquina destino. Sin cada segmento, los nodos de la red pueden enviarse paquetes unos a otros sin interferencias con comunicaciones en otros segmentos.
Este principio no es aplicable a todas las redes. Cada switch necesita conocer el entorno que le rodea. Para manejar esto, los creadores de Internet presentaron un esquema de direcciones basados en las direcciones IP. Las direcciones IP tienen una longitud de 32 bits (4 bytes) y comprende una red y una sección de host. La máscara de red le dice qué parte de las direcciones se refiere a la red y qué parteidentifica al host.
Las redes individuales que forman Internet están conectadas por routers. Los routers sólo necesitan conocer direcciones de red para enviar paquetes de forma correcta. Mientras se asignan direcciones IP, la LAN continua utilizando sólo direcciones MAC. Pero sería un inconveniente para cada programa que necesite conocer ambas direcciones IP y las direcciones MAC. Aquí es donde ARP (Address Resolution Protocol) puede ayudar proporcionando la dirección MAC que coincida con una dirección IP. El administrador no necesita configurar esto – es decir, no hay necesidad de configurar las coincidencias entre direcciones IP/MAC. Como parte negativa, la automatización lleva a un gran problema de seguridad, que discutiremos con más detalle en este artículo.
Junto con ARP, también está RARP (Reverse ARP, [3]). De forma similar a DHCP, un servidor RARP asigna una dirección IP a una máquina basada en el conocimiento de la dirección MAC del equipo. Como RARP no pasa ningún otro parámetro (nombre del servidor, dirección del gateway, máscara de red), hoy en día es muy extraño usarlo.

Direcciones de la LAN: Conceptos Básicos

El cliente utiliza ARP para averiguar la dirección MAC del servidor en la LAN antes de enviar paquetes a este servidor. La petición a “Who has “ se transmite a todas las máquinas en la LAN. El nodo con la dirección pedida responderá directamente a la máquina que pregunta.cuentes; de hecho, se suele hacer clic y simplemente ignorar el mensaje. Un error en algunas versiones del navegador Internet Explorer hace que sea posible atacar las conexiones SSL sin que el navegador ni siquiera muestre la alerta.
El ataque a SSH sigue un patrón similar. Si el cliente ya conoce la clave del lado del servidor, mostrará un mensaje claro. Pero muchos usuarios y administradores ignoran el aviso, suponiendo que alguien ha cambiado la clave del servidor. Pocos protocolos o implementaciones son inmunes. (IPsec es una excepción. IPsec rehúsa trabajar si algo va mal con el proceso de autenticación).
A causa de este problema, casi cualquier clase de comunicación interna es vulnerable. Hay incluso herramientas modificar entradas declaradas por los usuarios como estáticas. Realizando esto se permite que un atacante monitorice el diálogo entre un cliente y un servidor y utilizando la técnica del “hombre de en medio”, manipule el diálogo. El hombre en medio manipula las entradas del servidor en caché ARP del cliente, haciendo creer al cliente que la dirección MAC del atacante es en realidad la dirección del servidor. El mismo truco se usa para el servidor.
Si el cliente quiere hablar con el servidor, comprobará su tabla ARP manipulada y enviará el paquete a la dirección MAC del atacante. Esto permite al atacante leer y modificar el paquete antes de reenviarlo al servidor. Entonces el servidor supone que el paquete fue enviado directamente por el cliente. La respuesta del servidor de nuevo va al atacante, que la reenvía al cliente. Si el servidor reside en otra subred, el atacante tan solo tiene que lanzar su ataque contra el router.
Desde luego, un atacante puede provocar una denegación de servicio simplemente descartando cualquier paquete recibido. Para manipular los datos, el atacante simplemente tiene que reenviar datos diferentes a los que reciba. Los atacantes pueden fácilmente recolectar contraseñas, ya que el número del puerto les permite averiguar el protocolo usado e identificar las credenciales del usuario basándose en este conocimiento.
Precaución incluso con SSL y SSH

Las conexiones encriptadas no son automáticamente inmunes, como demuestran diversas herramientas ARP. Estos programas están ahora disponibles para varios sistemas operativos (véase el cuadro titulado “Exploits para ARP”). Además de la funcionalidad de ARP poisoning, incluye implementaciones para clientes y servidores de SSL (Secure Socket Layer), TLS (Transport Layer Security), SSH (Secure Shell) o PPTP (Point to Point Tunneling Protocol). Accediendo a un servidor web SSL, el navegador alerta al usuario que algo va mal con el certificado para la conexión. Pero hay muchos usuarios que no comprenden la importancia de la alerta y simplemente la ignoran. El hecho de que muchos servidores usen un certificado generado por ellos mismos hace que dichas alertas sean relativamente
A continuación nombraremos algunos programas que permiten a los atacantes explotar las vulnerabilidades de ARP. Los administradores pueden utilizar estas herramientas para testear sus propias redes. Son bastante útiles para demostrar la severidad de los ataques ARP. El problema de seguridad real, por supuesto, no es el hecho de que estas herramientas existan, ya que ARP es relativamente inseguro.

ARP-SK: Los programadores describen sus herramientas como una Navaja Suiza para ARP; está disponible para versiones Unix y Windows. El programa puede manipular las tablas ARP en varios dispositivos. http://www.arp-sk.org
Arpoc y WCI: Este programa para Unix y Windows realiza un ataque tipo hombre de en medio en la LAN. Contesta a cada petición ARP que alcanza la máquina con una respuesta ARP manipulada y reenvía cualquier paquete de entrega no local al router apropiado. www. phenoelit.de/arpoc/

Arpoison: Una herramienta de línea de comandos que crea un paquete ARP manipulado. El usuario puede especificar la fuente y la dirección IP/MAC de la tarjeta. http://arpoison.sourceforge.net

Brian: Esta herramienta extremadamente simple (comprendido en un sólo fichero C) utiliza ARP poisoning para deshabilitar las interconexiones en la LAN. Esto permite a un atacante fisgonear todo el tráfico en la red. http://www. bournemouthbynight.co.uk/tools/

Cain & Abel: Este sofisticado software de Windows comenzó como una herramienta de recuperación de claves. Fisgonea la red y utiliza una variedad de técnicas para descifrar claves encriptadas. La versión 2.5 de la herramienta fue la primera en introducir ARP poisoning, que permite a los atacantes fisgonear el tráfico IP en la LAN. El programa ataca conexiones SSH y HTTPS. http://www. oxid.it/cain.html/

Dsniff: Los programas individuales en esta suite de herramientas llevan a cabo distintas tareas. Dsniff, Filesnarf, Mailsnarf, Msgsnarf, Urlsnarf y Webspy fisgonean la red y cogen datos interesantes (como claves, correos y ficheros). Arpspoof, Dnsspoof y Macof permiten a los administradores y atacantes acceder a datos que un switch normalmente protege. Sshmitm y Webmitm soportan el ataque hombre de en medio en SSH y HTTPS (aunque el autor se refiere a ellos como ataques Monkey in the Middle). http://naughty.monkey.org/~dugsong/dsniff/

Ettercap: Un potente programa con una interfaz basada en texto (ver Figura 4); la última versión también tiene un interfaz Gtk. Las acciones se realizan automáticamente, con la herramienta se muestran tarjetas potenciales en una ventana. Junto a Sniffing, los ataques ARP y la obtención de claves automáticas, Ettercap también puede manipular datos sin una conexión. El programa también ataca conexiones SSHv1 y SSL (utilizando las técnicas del ataque del hombre de en medio). http://ettercap.sourceforge.net

Hunt: Las conexiones fallidas, fisgoneo de datos y secuestro de sesiones. La herramienta utiliza manipulación ARP y otras técnicas. http:// packetstormsecurity.nl/sniffers/hunt/

Juggernaut: En 1997, Phrack Magazine publicó Juggernaut, el predecesor de la mayoría de los sniffers actuales con capacidad para manipular la caché ARP. http://www.phrack.org/show.php?p=50&a=6

Parasite: El servicio Parasite fisgonea la LAN y responde a peticiones ARP con respuestas ARP manipuladas. La herramienta permite gradualmente a la máquina establecerse por sí misma como un hombre de en medio para cualquier comunicación en la red. http://www.thc.org/releases

No hay comentarios.:

Publicar un comentario