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
No hay comentarios.:
Publicar un comentario