You are on page 1of 5

El principio del ARP Spoofing es enviar mensajes ARP falsos (falsificados, o spoofed) a la

Ethernet. Normalmente la finalidad es asociar la direccin MAC del atacante con la


direccin IP de otro nodo (el nodo atacado), como por ejemplo la puerta de enlace
predeterminada (gateway). Cualquier trfico dirigido a la direccin IP de ese nodo, ser
errneamente enviado al atacante, en lugar de a su destino real. El atacante, puede entonces
elegir, entre reenviar el trfico a la puerta de enlace predeterminada real (ataque pasivo o
escucha), o modificar los datos antes de reenviarlos (ataque activo). El atacante puede
incluso lanzar un ataque de tipo DoS (Denegacin de Servicio) contra una vctima,
asociando una direccin MAC inexistente con la direccin IP de la puerta de enlace
predeterminada de la vctima.
El ataque de ARP Spoofing puede ser ejecutado desde una mquina controlada (el atacante
ha conseguido previamente hacerse con el control de la misma: intrusin), o bien la
mquina del atacante est conectada directamente a la LAN Ethernet.

APLICACIN

ARP es un protocolo de la capa 2 (enlace). Tanto los paquetes ARP request como los
ARP reply pueden ser trfico de difusin (broadcast). Como tales, no estn diseados
para proporcionar ninguna validacin de identificacin en la transaccin.
Aunque el ARP Spoofing se puede ejecutar en el transcurso de transacciones ARP, creando
una condicin de carrera, el uso ms comn es la distribucin de respuestas ARP no
solicitadas, que son almacenadas por los clientes en sus caches ARP, generando de esta
manera el escenario ARP Cache Poison, o caches ARP envenenadas.
DEFENSAS

Un mtodo para prevenir el ARP Spoofing, es el uso de tablas ARP estticas, es decir
aadir entradas estticas ARP, de forma que no existe cach dinmica, cada entrada de la
tabla mapea una direccin MAC con su correspondiente direccin IP. Sin embargo, esta no
es una solucin prctica, sobre todo en redes grandes, debido al enorme esfuerzo necesario
para mantener las tablas ARP actualizadas: cada vez que se cambie la direccin IP de un
equipo, es necesario actualizar todas las tablas de todos los equipos de la red.
Por lo tanto, en redes grandes es preferible usar otro mtodo: el DHCP snooping. Mediante
DHCP, el dispositivo de red mantiene un registro de las direcciones MAC que estn
conectadas a cada puerto, de modo que rpidamente detecta si se recibe una suplantacin
ARP. Este mtodo es implementado en el equipamiento de red de fabricantes como Cisco,
Extreme Networks y Allied Telesis.

Otra forma de defenderse contra el ARP Spoofing, es detectarlo. Arpwatch es un programa


Unix que escucha respuestas ARP en la red, y enva una notificacin va correo electrnico
al administrador de la red, cuando una entrada ARP cambia.
Comprobar la existencia de direcciones MAC clonadas (correspondientes a distintas
direcciones IP) puede ser tambin un indicio de la presencia de ARP Spoofing, aunque hay
que tener en cuenta, que hay usos legtimos de la clonacin de direcciones MAC.
RARP (Reverse ARP, o ARP inverso) es el protocolo usado para consultar, a partir de
una direccin MAC, su direccin IP correspondiente. Si ante una consulta, RARP devuelve
ms de una direccin IP, significa que esa direccin MAC ha sido clonada.
El ARP Spoofing puede ser usado tambin con fines legtimos. Por ejemplo, algunas
herramientas de registro de red, pueden redireccionar equipos no registrados a una pgina
de registro antes de permitirles el acceso completo a la red.
Otra implementacin legtima de ARP Spoofing, se usa en hoteles para permitir el acceso a
Internet, a los porttiles de los clientes desde sus habitaciones, usando un dispositivo
conocido como HEP (Head-End Processor o Procesador de Cabecera), sin tener en cuenta
su direccin IP.
El ARP Spoofing puede ser usado tambin para implementar redundancia de servicios de
red. Un servidor de backup puede usar ARP Spoofing para sustituir a otro servidor que
falla, y de esta manera ofrecer redundancia de forma transparente.

Por spoofing se conoce a la creacin de tramas TCP/IP utilizando una direccin


IP falseada; la idea de este ataque - al menos la idea - es muy sencilla: desde
su equipo, un pirata simula la identidad de otra mquina de la red para
conseguir acceso a recursos de un tercer sistema que ha establecido algn tipo
de confianza basada en el nombre o la direccin IP del host suplantado. Y como
los anillos de confianza basados en estas caractersticas tan fcilmente
falsificables son an demasiado abundantes (no tenemos ms que pensar en
los comandos r-, los accesos NFS, o la proteccin de servicios de red mediante
TCP Wrapper), el spoofing sigue siendo en la actualidad un ataque no trivial,
pero factible contra cualquier tipo de organizacin.
Como hemos visto, en el spoofing entran en juego tres mquinas: un atacante,
un atacado, y un sistema suplantado que tiene cierta relacin con el atacado;
para que el pirata pueda conseguir su objetivo necesita por un lado establecer
una comunicacin falseada con su objetivo, y por otro evitar que el equipo
suplantado interfiera en el ataque
Probablemente esto ltimo no le sea muy difcil de conseguir: a pesar de que
existen mltiples formas de dejar fuera de juego al sistema suplantado - al
menos a los ojos del atacado - que no son triviales (modificar rutas de red,

ubicar un filtrado de paquetes entre ambos sistemas...), lo ms fcil en la


mayora de ocasiones es simplemente lanzar una negacin de servicio contra
el sistema en cuestin.
Aunque en el punto siguiente hablaremos con ms detalle de estos ataques, no
suele ser difcil de tumbar, o al menos bloquear parcialmente, un sistema
medio; si a pesar de todo el atacante no lo consigue, simplemente puede
esperar a que desconecten de la red a la mquina a la que desea suplantar
(por ejemplo, por cuestiones de puro mantenimiento).
El otro punto importante del ataque, la comunicacin falseada entre dos
equipos, no es tan inmediato como el anterior y es donde reside la principal
dificultad del spoofing.
En un escenario tpico del ataque, un pirata enva una trama SYN a su objetivo
indicando como direccin origen la de esa tercera mquina que est fuera de
servicio y que mantiene algn tipo de relacin de confianza con la atacada. El
host objetivo responde con un SYN+ACK a la tercera mquina, que
simplemente lo ignorar por estar fuera de servicio (si no lo hiciera, la conexin
se reseteara y el ataque no sera posible), y el atacante enviar ahora una
trama ACK a su objetivo, tambin con la direccin origen de la tercera
mquina.
Para que la conexin llegue a establecerse, esta ltima trama deber enviarse
con el nmero de secuencia adecuado; el pirata ha de predecir correctamente
este nmero: si no lo hace, la trama ser descartada), y si lo consigue la
conexin se establecer y podr comenzar a enviar datos a su objetivo,
generalmente para tratar de insertar una puerta trasera que permita una
conexin normal entre las dos mquinas.
Podemos comprobar que el spoofing no es inmediato; de entrada, el atacante
ha de hacerse una idea de cmo son generados e incrementados los nmeros
de secuencia TCP, y una vez que lo sepa ha de conseguir engaar a su objetivo
utilizando estos nmeros para establecer la comunicacin; cuanto ms robusta
sea esta generacin por parte del objetivo, ms difcil lo tendr el pirata para
realizar el ataque con xito.
Adems, es necesario recordar que el spoofing es un ataque ciego: el atacante
no ve en ningn momento las respuestas que emite su objetivo, ya que estas
van dirigidas a la mquina que previamente ha sido deshabilitada, por lo que
debe presuponer qu est sucediendo en cada momento y responder de forma
adecuada en base a esas suposiciones.
Sera imposible tratar con el detenimiento que merecen todos los detalles
relativos al spoofing por lo que para obtener informacin adicional es necesario
dirigirse a excelentes artculos que estudian todos los pormenores del ataque,
como o ; de la misma forma, para conocer con detalle el funcionamiento del
protocolo TCP/IP y sus problemas podemos consultar , , y .
Para evitar ataques de spoofing exitosos contra nuestros sistemas podemos
tomar diferentes medidas preventivas; en primer lugar, parece evidente que

una gran ayuda es reforzar la secuencia de prediccin de nmeros de


secuencia TCP: un esquema de generacin robusto puede ser el basado en ,
que la mayora de Unix son capaces de implantar (aunque muchos de ellos no
lo hagan por defecto). Otra medida sencilla es eliminar las relaciones de
confianza basadas en la direccin IP o el nombre de las mquinas,
sustituyndolas por relaciones basadas en claves criptogrficas; el cifrado y el
filtrado de las conexiones que pueden aceptar nuestras mquinas tambin son
unas medidas de seguridad importantes de cara a evitar el spoofing.
Hasta ahora hemos hablado del ataque genrico contra un host denominado
spoofing o, para ser ms exactos, IP Spoofing; existen otros ataques de
falseamiento relacionados en mayor o menor medida con este, entre los que
destacan el DNS Spoofing, el ARP Spoofing y el Web Spoofing .
Para finalizar este punto, vamos a comentarlos brevemente e indicar algunas
lecturas donde se puede ampliar informacin sobre los mismos:
DNS Spoofing
Este ataque hace referencia al falseamiento de una direccin IP ante una
consulta de resolucin de nombre (esto es, resolver con una direccin falsa un
cierto nombre DNS), o viceversa (resolver con un nombre falso una cierta
direccin IP). Esto se puede conseguir de diferentes formas, desde modificando
las entradas del servidor encargado de resolver una cierta peticin para falsear
las relaciones direccin-nombre, hasta comprometiendo un servidor que infecte
la cach de otro (lo que se conoce como DNS Poisoning); incluso sin acceso a
un servidor DNS real, un atacante puede enviar datos falseados como
respuesta a una peticin de su vctima sin ms que averiguar los nmeros de
secuencia correctos.
ARP Spoofing
El ataque denominado ARP Spoofing hace referencia a la construccin de
tramas de solicitud y respuesta ARP falseadas, de forma que en una red local
se puede forzar a una determinada mquina a que enve los paquetes a un
host atacante en lugar de hacerlo a su destino legtimo.
La idea es sencilla, y los efectos del ataque pueden ser muy negativos: desde
negaciones de servicio hasta interceptacin de datos, incluyendo algunos Man
in the Middle contra ciertos protocolos cifrados. En podemos obtener ms
informacin acerca de este ataque, as como cdigo fuente para enviar tramas
falseadas y comprobar los efectos del ARP Spoofing en nuestra red.
Web Spoofing
Este ataque permite a un pirata visualizar y modificar cualquier pgina web
que su vctima solicite a travs de un navegador, incluyendo las conexiones
seguras va SSL.
Para ello, mediante cdigo malicioso un atacante crea una ventana del
navegador correspondiente, de apariencia inofensiva, en la mquina de su
vctima; a partir de ah, enruta todas las pginas dirigidas al equipo atacado incluyendo las cargadas en nuevas ventanas del navegador - a travs de su
propia mquina, donde son modificadas para que cualquier evento generado
por el cliente sea registrado (esto implica registrar cualquier dato introducido
en un formulario, cualquier click en un enlace, etc.).
Para obtener ms informacin acerca del Web Spoofing podemos consultar
Edward W. Felten, Dirk Balfanz, Drew Dean, and Dan S. Wallach.
Web Spoofing: an Internet Con Game.

Technical Report 540-96, Princeton University Department of Computer


Science, 1996.
Revisado en febrero de 1997.

You might also like