Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes Dissection of a MITM attack via ARP Spoofing and Existing Protection Techniques ¿Cómo referenciar este artículo?: F. J. Díaz Jiménez y J.G. Palacio Velásquez. Disección de un ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes, Barranquilla, Ed. Coruniamericana, Vol. I, 2012. 9-24 F.J. Díaz Jiménez* femny@gmail.com J.G. Palacio Velásquez ** jpalacio@gmail.com Resumen Desde hace algunos años las empresas se han dado cuenta de la importancia de proteger su información; los peligros que implica la transmisión de datos a través de la red han hecho que se implementen ciertas medidas de protección, con miras a minimizar el riesgo de robo de los mismos. Uno de los errores más comunes al tratar de protegernos es que nos concentramos en proteger la información, evitando que desde el exterior se pueda acceder a nuestra red, pero qué sucede cuando el ataque no viene desde afuera, sino desde adentro de nuestra propia red. Este artículo presenta una serie de técnicas que pueden ser utilizadas para vulnerar la seguridad en una red desde adentro, a través de la técnica de ARP Spoofing, realizando ataques de tipo Man In The Middle, con miras a capturar tráfico que no vaya destinado a nuestro equipo, al final presentamos una serie de técnicas que pueden ser aplicadas para protegernos de dichos ataques, y de esta manera minimizar el riesgo de robo de información dentro de una red LAN. Palabras Clave TCP/IP, ARP, Ethernet, MAC, Sniffer, Ataques, ARP Spoofing, ARP Poison, MITM, Seguridad, arpspoof, arpsk, ethercap, cain & abel. Abstract For several years companies have realized the importance of protecting their information, the hazards involved in the transmission of data through the network, have made certain security measures in order to minimize the risk of theft. One of the most common mistakes in trying to protect us, is that we focus on protecting the information, preventing it from outside can access our network, but what happens when the attack comes not from without but from within our own network. This paper presents a series of techniques that can be used to compromise the security of a network from within, through ARP spoofing technique, performing such attacks by Man In The Middle, in order to capture traffic which is not destined for our equipment. Finally, we present a series of techniques that can be applied to protect us from such attacks, and thereby minimize the risk of theft of information within a LAN. Index Terms TCP/IP, ARP, Ethernet, MAC, Sniffer, Atacks, ARP Spoofing, ARP Poison, MITM, Security, arpspoof, arpsk, ethercap, cain & abel. * M. Sc en Ingeniería de Sistemas y Computación, Desarrollo Profesional de Software, Director I+D+I Salud Software Center House, Docente, catedrático Fundación Universitaria San Martín. ** M. Sc en Ingeniería de Sistemas y Computación, Ingeniero de Comunicaciones, Redes y Seguridad de la Universidad Simón Bolívar. Fundación Universitaria San Martín. Artículo recibido: Agosto 15/2012. Aceptado en Septiembre 14/2012. | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 10 F.J. Díaz Jiménez / J.G. Palacio Velásquez I. INTRODUCCIÓN Las redes de computadoras se implementan a través de protocolos de comunicación. Un protocolo, según Tanenbaum [1], “Es un conjunto de reglas que definen el formato y el significado de los paquetes, o mensajes, que intercambiaron las entidades iguales en una capa”, por lo tanto podemos decir que un protocolo es aquel que determina cómo se llevará a cabo la comunicación entre dos nodos de una red, pero teniendo en cuenta que cada protocolo trabaja en una capa específica de la misma. Actualmente el conjunto de protocolos conocido como TCP/IP agrupa una gran cantidad de protocolos que se utilizan en las redes, dicho sistema se encuentra organizado en 4 capas; la capa de acceso a la red, la capa de Internet, la capa de Transporte y la capa de Aplicación, a diferencia del modelo OSI en el que podemos encontrar 7 capas. El uso de los equipos de interconexión adecuados dentro de la red puede mejorar en gran medida el rendimiento y seguridad de la misma, actualmente es muy raro encontrar redes de computadoras que utilicen Hubs para la interconexión de sus equipos de cómputo. Estos fueron reemplazados por los switches, que permiten solucionar algunos problemas de seguridad, asociados al sniffing de tráfico y mejoran el rendimiento de la red, disminuyendo las colisiones. Aunque no se debe pensar que con el uso de switches el problema de la seguridad asociado al sniffing está solucionado, en este artículo mostraremos algunas técnicas muy sencillas de implementar y cómo disminuir el riesgo de este tipo de ataques en nuestras redes. II. DIFERENCIAS ENTRE HUBS Y SWITCHES En la capa de acceso a la red, que es la que nos interesa en este artículo, es donde se manipulan las direcciones físicas de los equipos, conocidas como direcciones MAC. Los switches, elementos que interconectan los equipos en redes LAN y que trabajan en dicha capa, utilizan esta dirección para armar una tabla que les permita determinar qué dirección MAC se encuentra conectada a qué puerto, de tal manera que si un equipo desea comunicarse con otro dentro del mismo segmento de red, esto se haría a través de la dirección física de cada equipo, enviando la información sólo al equipo al que le corresponda la MAC de destino, a diferencia de los hubs que no reconocen direcciones de ningún tipo, y simplemente hace que los equipos compartan un bus de comunicaciones, de tal manera que todo el tráfico en la red, le sea enviado a todos los equipos dentro de la LAN. Esta característica de los hubs permite que a través de un sniffer se pueda capturar todo el tráfico de la red, para esto se aprovecha de una característica de las tarjetas de red, conocida como modo promiscuo. Normalmente cuando un equipo recibe una trama en la que la dirección MAC de destino no es la suya, la tarjeta simplemente la descarta, pero en modo promiscuo, se elimina esta limitación y se le indica a la tarjeta de red que acepte todas las tramas, incluso aquellas que no vayan destinadas ella, lo único que queda después es filtrar y analizar dicho tráfico, buscando la información que sea de utilidad. Debido al hecho de que los switches sólo envían tráfico al equipo que le corresponde, realizar la técnica de sniffing es un poco más complicada, ya que para poder capturar tráfico que no le corresponda al equipo, primero hay que hacer que el switch envíe dicho tráfico hacia el equipo del | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes 11 atacante, esto se puede lograr a través de herramientas como arpspoof, ethercap, etc. que permiten envenenar la tabla ARP de los equipos dentro de una red LAN, para lo cual debemos primero lograr conectarnos a la red. Aunque se piense que no es tan sencillo conectarse a una red LAN, tengamos en cuenta que en muchas organizaciones los hubs (ya en desuso y no recomendados) y switchs no se encuentran protegidos, y en muchos switches los puertos de conexión del nivel de acceso de usuarios no se encuentran restringidos, y si además tenemos en cuenta el auge de las redes inalámbricas, conectarse a una LAN se facilita mucho más. III. EL PROTOCOLO ARP El protocolo ARP (Address Resolution Protocol) es un protocolo que trabaja en la capa de acceso a la red del modelo TCP /IP (equivalente a la capa de enlace de datos del modelo OSI). Según la RFC 826[2], este protocolo presenta un método para la conversión de las direcciones IP en las redes de área local a las direcciones Ethernet (direcciones MAC). Los equipos de red que implementan este protocolo arman una tabla, llamada tabla ARP, la cual se almacena en la memoria del equipo y permite establecer la relación entre la dirección IP y la dirección Ethernet de los equipos; cuando se necesita averiguar una dirección MAC asociada a una IP, simplemente se localiza la dirección IP en la tabla y se busca dentro del mismo registro de la tabla la dirección MAC asociada, la Fig 1 muestra un ejemplo de una tabla ARP: -----------------------------------|IP address Ethernet address | -----------------------------------|223.1.2.1 08-00-39-00-2F-C3| |223.1.2.3 08-00-5A-21-A7-22| |223.1.2.4 08-00-10-99-AC-54| -----------------------------------Fig 1. Ejemplo de Tabla ARP [3]. En las computadoras que implementen la suite de protocolos TCP/IP se puede visualizar la tabla ARP generada a través del comando arp –a, la cual arroja como resultado unas tablas ARP como las mostradas en la Fig. 2. Cuando un equipo desea enviar una información a otro a través de la red LAN, lo hace a través de la dirección IP; lo primero que hace el sistema es verificar si la dirección IP de destino hace parte de su mismo segmento de red. Si es así, el equipo consulta en su tabla ARP, que dirección MAC le corresponde a la IP de destino, si la dirección solicitada no se encuentra en ella, el protocolo ARP envía un paquete de broadcast a la red LAN con la dirección IP solicitada, los diferentes equipos dentro de la LAN comparan dicha IP con la suya, y sólo el equipo al que le corresponda, responderá enviándole la dirección MAC de su interfaz de red. Cada equipo irá actualizando su respectiva tabla ARP. | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 12 F.J. Díaz Jiménez / J.G. Palacio Velásquez Fig 2. Tabla ARP generada en equipo con (a) Microsoft Windows 7. (b) GNU/Linux Debian Lenny 5.0. Cuando la dirección IP se corresponde con una red diferente a la del host de origen, el equipo debe enviar la solicitud a su puerta de enlace, por lo que requerirá la dirección MAC de dicho Gateway, ejecutando el proceso antes mencionado. Siendo un poco maliciosos, nos preguntamos qué pasaría si un equipo le indica a la red, o a algún equipo dentro de la misma, que él es su puerta de enlace, enviando la IP de la puerta de enlace real, pero indicando su propia MAC, pues que los equipos le enviarán a éste toda la información que deba ir hacia otra red, como por ejemplo, las solicitudes hacia Internet. La RFC 903[4] presenta el protocolo RARP (Reverse Address Resolution Protocol), que realiza el proceso inverso, convirtiendo las direcciones MAC en direcciones IP. IV. ARP SPOOFING La técnica de ARP Spoofing, y específicamente la técnica ARP poisoning, permite hacer un envenenamiento de la tabla ARP de uno o varios equipos dentro de la red LAN, de tal manera que podamos, por ejemplo, hacer que uno o varios equipos nos envíen a nosotros tráfico destinado hacia otro computador. Existen diferentes herramientas que permiten realizar diferentes ataques de ARP Spoofing en una red LAN, la distribución GNU/Linux BackTrack, que posee una gran cantidad de utilidades para realizar auditoria de redes, test de penetración, etc., posee algunas de estas herramientas. A. arpspoof Esta herramienta hace parte de un conjunto de herramientas, conocidas como dsniff [5][6], que permiten realizar auditorías a redes de todo tipo, incluye varios tipos de ataques para realizar in| Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes 13 tercepción de tráfico. Por ejemplo, a través de arpspoof podemos envenenar fácilmente la tabla ARP de un equipo en la red, enviando constantemente respuestas ARP no solicitadas a los equipos atacados, con la finalidad de mantener envenenada la cache: # arpspoof –t ipvictima ipasuplantar Por ejemplo, si quisiéramos envenenar la cache ARP de un equipo con la IP 172.168.30.54 y suplantar un equipo con la IP 172.168.30.1, de tal forma que todos los paquetes que sean destinados a dicho equipo se envíen al equipo del atacante, siendo la IP del atacante 172.168.30.53, tendríamos que ejecutar la siguiente instrucción: # arpspoof –t 172.168.30.54 172.168.30.1 El sistema comenzará a enviar mensajes ARP falsificados, indicando que la MAC del equipo 172.168.30.1 es la del equipo del atacante, como se observa en la Fig 3. Fig 3. Ejecución del programa arpspoof en BackTrack 4.0 R2. De esta forma, la tabla ARP del equipo 172.168.30.54 es envenenada, y por lo tanto si se ejecuta el comando arp –a en dicho equipo, se obtendrá una respuesta como la mostrada en la Fig 4. Fig 4. Equipo Windows XP con la tabla ARP envenenada. En (a) puede observarse la tabla ARP normal, en (b) puede observarse que ambas IP’s poseen la misma dirección MAC del atacante (172.168.30.53). Luego se repite el mismo procedimiento para el otro lado de la comunicación. Para que la comunicación entre los dos equipos se realice de forma transparente a los usuarios debemos habilitar el encaminamiento de paquetes en el núcleo del sistema, a través del comando: # echo 1 > /proc/sys/net/ipv4/ip_forward Ya nos encontramos en la mitad de la comunicación, y a través de un sniffer como wireshark po| Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 14 F.J. Díaz Jiménez / J.G. Palacio Velásquez demos capturar todo el tráfico de dicha comunicación sin necesidad de colocar la tarjeta en modo promiscuo, ya que la transmisión está siendo enviada hacia el equipo del atacante, esta técnica se conoce como Man in The Middle (MITM). En la Fig 5 se observa cómo a través de wireshark podemos visualizar el trafico arp generado, y notamos que el sistema detecta duplicidad en el uso de 172.168.30.1 Fig 5. Captura de tráfico a través de wireshark: se ha filtrado para mostrar solo el tráfico ARP. B. arp-sk La herramienta arp-sk [7][8], no incluida en BackTrack, es conocida como la navaja suiza del protocolo ARP (nombre dado por sus propios autores); permite realizar una gran cantidad de ataques sobre el protocolo ARP. Aquí mostraremos cómo se realizaría un ataque de denegaciones de servicio utilizando arp-sk. Primero planteemos un escenario de ejemplo: Teniendo una red con direccionamiento 172.168.30.0/24, en la que el router posee la IP 172.168.30.1 y la MAC 68:7F:74:75:6D:DB # arp-sk –T u1 –r –i eth0 –S 172.168.30.1:AA:BB:CC:DD:EE:FF Esta instrucción envía un tráfico de broadcast a toda la red teniendo en cuenta las opciones utilizadas en el comando, las cuales son: -T u1: envía los paquetes cada milisegundo. -r: envía mensajes ARP Reply (respuestas ARP) a la red con la información indicada en el parámetro –S. -S: dirección IP con la dirección MAC falsa enviada en los mensajes ARP Reply. La Fig 6. muestra los mensajes ARP Reply enviados a la dirección MAC de broadcast FF:FF:FF:FF:FF:FF, también se puede observar la dirección MAC del atacante 08:00:27:98:E7:D9. Podemos hacer que se asocie la dirección MAC del router al equipo atacante, agregando el parámetro –s con la dirección MAC del router, el comando quedaría como sigue: # arp-sk –T u1 –r –i eth0 –S 172.168.30.1:AA:BB:CC:DD:EE:FF –s 68:7F:74:75:6D:DB | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes 15 Con esto se logra que se asocie la MAC del router a la tarjeta de red del atacante. Fig 6. Mensajes ARP Reply enviados por arp-sk. Mientras el sistema se encuentre enviando los mensajes ARP, los equipos dentro de la red LAN no tendrán acceso al router y por lo tanto no tendrán acceso a Internet. La Fig 7. muestra cómo al tratar de hacer un ping hacia el router (IP: 172.168.30.1) no se obtiene ninguna respuesta. Este ataque es realizado sobre toda la red, si se desea atacar a un solo equipo dentro de la red el comando puede ser ejecutado de la siguiente forma: # arp-sk –T u1 –r –i eth0 –S 172.168.30.1:AA:BB:CC:DD:EE:FF –d 08:00:27:D9:28:4E El parámetro –d permite indicar la dirección MAC del equipo al que se desea atacar. a) b) Fig 7. Equipos de la LAN con la MAC del router alterada, (a) tabla ARP envenenada, (b) resultado del comando ping hacia el router. C. Ettercap Nació como un sniffer para redes LAN, pero se fue convirtiendo poco a poco en una poderosa herramienta para la realización de ataques Man In The Middle [9]. Es capaz de realizar una gran cantidad de ataques orientados a colocarse en la mitad de una transmisión, incluidos ataques de | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 16 F.J. Díaz Jiménez / J.G. Palacio Velásquez ARP Spoofing, envenenamiento de DHCP, robo de puertos, etc. Existen versiones de ettercap para diversos sistemas operativos, incluidos, como es obvio, Windows y GNU/Linux; BackTrack lo incluye entre sus herramientas de sniffing y spoofing, el sistema puede ser ejecutado por consola o por interfaz gráfica, la Fig 8. muestra la interfaz gráfica de ettercap. Este software es capaz de intervenir comunicaciones encriptadas con SSL, como HTTPS o SSH-1, lo que le permite capturar contraseñas de sitios web seguros, como las cuentas de correo electrónico, a través de esta herramienta, utilizando un ataque MITM podemos capturar los nombres de usuario y contraseñas de cualquier conexión https, sin que los usuarios de la red se den cuenta. Fig 8. Interfaz gráfica de ettercap ejecutada desde BackTrack 4.0 R2. D. Cain & Abel Esta herramienta [10] permite la recuperación de contraseñas; aunque esta no es su función principal, fue desarrollado para plataforma Windows, y puede, utilizando la técnica de ARP Spoofing, capturar tráfico de la red, recuperar o incluso modificar contraseñas, puede trabajar sobre múltiples protocolos, como HTTPS, SSH-1, DNS, VoIP, etc. La Fig 9 muestra la interfaz gráfica de Cain & Abel funcionando en una máquina con sistema operativo Windows XP. Fig 9. Interfaz gráfica de la herramienta Cain & Abel. | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes 17 Como puede verse, existen una gran cantidad de herramientas que pueden ser utilizadas para realizar ataques de ARP Spoofing, muchas de ellas disponibles para diferentes sistemas operativos, y muchas incluidas en la distribución de GNU/Linux BackTrack. Todas estas herramientas pueden ser utilizadas para realizar diferentes ataques que requieran del envenenamiento ARP, como los mostrados en este artículo; más adelante nos concentraremos en realizar un ataque Man In The Middle, utilizando ettercap para mostrar cómo se podría capturar las claves de conexiones web seguras, como las de correos electrónicos e incluso sitios web bancarios, y luego presentaremos una serie de técnicas que permitan protegernos. V. Man in the Middle Hemos visto cómo la técnica de ARP Spoofing permite envenenar la tabla ARP de los equipos atacados, de tal manera que podamos suplantar equipos dentro de una red LAN y capturar tráfico destinado a dicho equipo. Imaginemos ahora que el equipo que queremos suplantar en la red es un router utilizado para enrutar paquetes hacia otra red, muy comúnmente Internet; en este caso le podríamos decir a los equipos atacados que nuestro equipo es el router, de tal manera que todo el tráfico hacia Internet; pase primero por nosotros. Hay que aclarar que para pasar desapercibidos debemos habilitar el forwarding en nuestro equipo, para que luego de capturar el tráfico hacia el router nuestro equipo lo reenvíe hacia el router real. Esto permite colocarnos en la mitad de la transmisión; a este ataque se le conoce como MITM (Man In The Middle - Hombre en el Medio). La Fig 10. (a) muestra cómo sería el tráfico entre el equipo origen y destino normalmente y (b) como sería el tráfico con una estación ubicándose entre el equipo de origen y el router. VI. Hacking HTTPS con Ettercap y SSLStrip A través de este ejemplo explicaremos como utilizando la técnica de ARP Spoofing en un ataque MITM, usando ettercap, podemos capturar tráfico https y obtener de esta forma los nombres de usuario y las contraseñas de cualquier conexión web segura. Al realizar este ataque, estamos asumiendo que ya se cubrieron las fases previas de un ataque informático y que ya se logró conectar el equipo del atacante a la red LAN. Lo siguiente es iniciar el sistema operativo BackTrack y habilitar el forwarding en el equipo a través de la instrucción: # echo 1 > /proc/sys/net/ipv4/ip_forward Luego de esto podemos ejecutar ettercap ya sea desde la línea de comandos o desde la interfaz grafica. Por línea de comandos podría ser de la siguiente forma: # ettercap –Tq –i eth0 –M arp:remote /objetivo1/ /objetivo2/ Los parámetros utilizados en el ejemplo tienen la siguiente finalidad: -T: trabajar en modo texto -q: modo silencioso, no se muestra el contenido de los paquetes, sólo la información de las contraseñas, sólo puede ser utilizado si se trabaja en modo texto. -i: la interfaz de red utilizada para realizar el ataque -M arp:remote: ataque de Man In The Middle con envenenamiento arp. | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 18 F.J. Díaz Jiménez / J.G. Palacio Velásquez Fig 10. (a) Tráfico convencional en una red entre un cliente y un servidor web (b) Tráfico alterado al envenenar la tabla ARP de la victima para ejecutar un ataque MITM. Por ejemplo, si quisiéramos atacar a un equipo con la IP 172.168.30.54, y la IP del router fuera 172.168.30.1, podríamos escribir el comando de la siguiente forma: # ettercap –Tq –i eth0 –M arp:remote /172.168.30.54/ /172.168.30.1/ El problema que se encuentra en este ataque es que el navegador de la víctima mostrará un mensaje de advertencia con respecto a que el certificado SSL del sitio web no es válido, lo que puede generar desconfianza en la víctima, pero esto es fácilmente resuelto ejecutando el programa, sslstrip | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes 19 [11] que reemplaza las solicitudes https por http, ubicándose entre el cliente y el servidor, de la siguiente forma: Redireccionamos el tráfico web del puerto 80 al puerto donde se desee poner a trabajar el sslstrip, por ejemplo el 10000, que es el que utiliza el sslstrip por defecto. # iptables –t nat –A PREROUTING –p tcp --destination-port 80 –j REDIRECT --to-ports 10000 Habilitamos el ettercap y luego ejecutamos el sslstrip. # sslstrip –a –k –f A través de esta instrucción le estamos indicando al sistema que: -a: Registrar todo el tráfico SSL y HTTP hacia y desde el servidor. -k: Detener todas las sesiones en progreso, para que el proceso de login vuelva a ser necesario. -f: Sustituir el favicon de bloqueo en las solicitudes seguras. Luego solo resta esperar a que el equipo de la víctima ingrese a su correo electrónico o a alguna página de login segura, y en la pantalla del atacante aparecerá algo como lo que se muestra en la Fig 11. Si en lugar de seleccionar un equipo para atacar, se colocan los dos slash pegados (//), se logará atacar a toda la red entera. Fig 11. Se observa el nombre de usuario (victimahack), contraseña (ClaveHackeada) y servidor de correo (Yahoo) al cual se conectó la víctima. VII. Detección de Ataques y Protección Antes que nada, es importante aclarar que no se necesita gran experiencia para ejecutar ataques de ARP Spoofing. Los Script Kiddies pueden ejecutar ataques ARP utilizando la gran cantidad de herramientas disponibles para ello. [4][12] Los ataques son posibles porque el protocolo ARP no implementa una forma de corroborar la autenticidad de las peticiones en la red. En realidad el protocolo ARP no fue diseñado para enfrentarse a nodos maliciosos, por lo que los datos son vulnerables a redireccionamiento, secuestro o alteraciones. Existen diversas herramientas para detectar y protegerse de los ataques al protocolo ARP, a continuación se exponen algunas de ellas. A. ARPwatch Arpwatch [14] es una herramienta publicada por el LBL research group, utilizada para detectar tráfico ARP sospechoso. Arpwatch monitorea la tabla de mapeos IP/MAC y envía correos al administrador en caso de cambios en ella. El inconveniente de arpwatch es que transfiere al administrador del sistema la decisión de determinar qué eventos ARP son realmente ataques de envenenamiento o simplemente eventos no maliciosos, además de no tomar medidas automáticas para prevenir o | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 20 F.J. Díaz Jiménez / J.G. Palacio Velásquez detener el supuesto ataque, la Fig. 12 muestra una herramienta llamada DecaffeinatID, que implementa Arpwatch bajo plataforma Windows, en la figura se puede observar cómo la aplicación advierte sobre la modificación de una dirección MAC en la tabla ARP. Fig 12. Detección de ARP Spoofing con DecaffeinatID que implementa Arpwatch. B. IDS, Snort Snort es un Sistema de prevención y detección de intrusos en la red (IDS/IPS) de código abierto, desarrollado por Sourcefire. Snort es uno de los más poderosos y ligeros IDS, posee análisis de tráfico a tiempo real, registro de paquetes, y puede detectar gran variedad de ataques y enviar alertas a tiempo real.[15] El principal problema con los IDS es que tienden a generar una gran cantidad de falsos positivos, lo que requiere personal especializado para atender dichos eventos. Fig 13. Algoritmo de detección de ARP spoofing de Snort C. Dynamic ARP Inspection Los switches CISCO cuentan con la herramienta DAI (Dynamic ARP Inspection), ésta característica de seguridad valida todos los paquetes ARP en una red. DAI intercepta, registra y descarta todos los paquetes ARP con combinaciones de IP/MAC no válidas [16], de esta manera se protege contra ataques MITM. La base de datos de IP/MAC es construida mediante la técnica de DHCP snooping, siempre y cuando ésta se encuentre habilitada en las VLANs y en los Switches. El DHCP snooping es una característica destinada a evitar que nodos malintencionados se hagan | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes 21 pasar por el servidor DHCP de una red. Esta técnica, así como el DAI, se basa en los conceptos de puertos de confianza y puertos no confiables.[17] La solución DAI solo puede implementarse en dispositivos de red CISCO habilitados para ello. Marcos X, et. al. proponen un sistema [18] basado en la inspección dinámica de ARP (DAI) de Cisco System, pero sin requerir switch costosos. El DHCP snooping es implementado en un servidor que captura todas las peticiones ARP en la red y emite una respuesta ARP correcta con base en su propia tabla de mapeos IP/MAC. D. Port Security Port Security es una caracterítica de los Switches Cisco que restringe el acceso a los puertos del switch mediante la identificación de las direcciones MAC de las estaciones de trabajo que están pemitidas para acceder a dicho puerto.[19]. Cuando un dispositivo cuya MAC no se encuentra registrada en el puerto intenta acceder al mismo se produce una violación de seguridad. Dependiendo de la configuración del Switch, la violación de seguridad puede restringir los datos y enviar una notificación SNMP o puede deshabilitar el puerto. La figura 14 muestra la configuración de una interface específica del switch. Fig 14. Salida del comando show port security en una iterface específica del Switch Cisco Catalyst 4500. E. ARP-Guard ARP-Guard[20] es otra de las herramientas diseñadas para proteger la red contra ataques internos y dispositivos no autorizados; según el fabricante, el aplicativo cierra los agujeros de seguridad que los sistemas convencionales como firewalls, antivirus y sistemas de detección de intrusos no cubren. ARP-Guard es un sistema enfocado en la protección en capa 2, es capaz de detectar y proteger automáticamente ataques tipo ARP poisoning, MAC flooding e IP spoofing, a diferencia del Arpwatch, que solo realiza la detección del ataque. El funcionamiento del sistema ARP-Guard requiere de una arquitectura de sensores que detectan los ataques ARP y reportan al sistema de administración para evaluación y procesamiento de la amenaza. Los sensores se conectan a los puertos SPAN (Switched Port Analyzer) del switch, estos puertos permiten el monitoreo de todo el | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 22 F.J. Díaz Jiménez / J.G. Palacio Velásquez tráfico que fluye por el switch.[21]. Fig 15. Arquitectura del sistema de protección ARP-Guard. Tomado de [22] VIII. Conclusión Concentrarnos en protegernos sólo de los ataques externos es un error común de los administradores de red en muchas organizaciones, la implementación de políticas de seguridad deben tener en cuenta que los ataques que busquen comprometer a nuestros sistemas no solamente pueden venir desde fuera de nuestra red, sino también desde adentro. El ARP Spoofing presenta todo un abanico de posibilidades para comprometer el funcionamiento de una red LAN, pudiendo realizar ataques de suplantación, denegación de servicios, Man In The Middle, etc., estos ataques pueden ser realizados fácilmente, utilizando algunas herramientas como arpspoof, ettercap, arp-sk, cain & abel y muchas otras. Es necesario proteger nuestra red, desde los equipos de cómputo, hasta los equipos de interconexión, no sólo la parte física sino la lógica. Las técnicas y tecnologías que se pueden implementar para minimizar el riesgo de ataques que utilicen la técnica ARP Spoofing son muchas; como vemos existen algunos dispositivos de interconexión que permiten implementar mecanismos como DAI y Port Security en switchess CISCO, hasta la instalación de sistemas IDS e IPS, como snort, en puntos específicos de la red, donde se permita monitorizar el tráfico que viaja por todo el sistema, hasta la implementación de aplicaciones para los equipos clientes que permitan identificar este tipo de ataques y avisen a los usuarios para que estos tomen las medidas de prevención necesarias. A todo esto debemos sumar además la capacitación de los usuarios de los equipos de cómputo en la red de la organización, haciéndolos concientes de los peligros existentes y el porqué de las políticas de seguridad implementadas, haciéndolos partícipes de todos los procesos asociados a la seguridad de la infraestructura informática de la organización, dándoles a entender que son ellos la pieza clave para que todas las implementaciones de seguridad funcionen como debe ser. “Las organizaciones gastan millones de dólares en firewalls y dispositivos de seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el eslabón más débil de la cadena de seguridad: la gente que usa y administra los computadores” – Kevin Mitnick. | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID Disección de un Ataque MITM mediante ARP Spoofing y Técnicas de Protección Existentes 23 REFERENCIAS [1] Tanenbaum, A.S. “Redes de Computadoras”, 4ta ed., P. Guirrieri, Ed. New Jersey: Pearson Education, Inc., 2003, pp. 36. [2] Plummer, D.C. “RFC 826: An Ethernet Address Resolution Protocol --or -- Converting Network Protocol Addresses to 48 bit Ethernet Address for Transmission on Ethernet Hardware”,1982. [3] Socolofsky, T.J.; Kale, C.J. RFC 1180: A TCP/IP Tutorial, 1991, pp. 8. [4] Ortega, A.P.; Marcos, X.E. “Análisis, Diseño e Implementación de un Sistema para Evitar Ataques al Protocolo ARP en Redes de Área Local (Tesis de Grado),” Facultad de Ingeniería Eléctrica y Computación. Escuela Superior Politécnica del Litoral, 2008. [5] Song, D. dsniff. Último acceso: 30 de mayo de 2011. http://www.monkey.org/~dugsong/dsniff/ [6] Chomsiri, T. “HTTPS Hacking Protection” ainaw, vol. 1, pp.590-594, 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW’07), 2007. [7] Raynal, F. Detoisien, E. Blancher, C. arp-sk, A Swiss Knife Tool for ARP. Último acceso: 30 de mayo de 2011. http://sid.rstack.org/arp-sk/[8] Elmeleegy, K.; Cox, A.L.; , “EtherProxy: Scaling Ethernet By Suppressing Broadcast Traffic,” INFOCOM 2009, IEEE , pp.1584-1592, 19-25 April 2009. [9] Ornaghi, A. Valleri, M. Ettercap NG. Último acceso: 2 de junio de 2011. http://ettercap.sourceforge.net/index.php [10] Montoro, M. oxid.it. Último acceso: 2 de junio 2011. http://www.oxid.it/cain.html [11] Marlinspike, M. SSLSTRIP. Último acceso: 2 de junio 2011. http://www.thoughtcrime.org/ software/sslstrip/ [12] An Analysis of the Schemes for Detecting and Preventing ARP Cache Poisoning Attacks. [13] S. Buer. Arpoison. Último acceso: 6 de Junio de 2011. http://arpoison.sourceforge.net [14] Lawrence Berkeley National Laboratory Network Research Group. Arpwatch. Ultimo acceso 7 de junio de 2011. http://ee.lbl.gov/ [15] Hou Xiangning, et al. The detection and prevention for ARP spoofing based on Snort, International Conference on Computer Aplication and System Modeling, IEEE, 2010 [16] Cisco. Dynamic ARP Inspection. Último acceso: 7 de Junio de 2011 http://www.cisco.com/ en/US/docs/switches/lan/catalyst6500/ios/12.2SXF/native/configuration/guide/dynarp.html. [17] DHCP Snooping. The Cisco Learning Network. Último acceso: 7 de Junio de 2011. https:// learningnetwork.cisco.com/docs/DOC-2314. [18] Marcos X, et. al. “Diseño preliminar de un sistema para evitar ataques al protocolo ARP en redes de área local”. Escuela Superior Politécnica del Litoral. [19] Cisco Systems Inc. Catalyst 4500 Series Switch Cisco IOS Software Configuration Guide. 2004. | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID 24 F.J. Díaz Jiménez / J.G. Palacio Velásquez [20] ARP-Guard. Último acceso: 17 de junio de 2011 https://www.arp-guard.com/info/product/ arp-guard/ [21] Reiners W. “ARP-Guard, ARP Spoofing Attacks Protection”, 3M Future, 2005. http: // www.3mfuture.com/articles_arp/arp_guard_arp-spoofing_onepage_en.pdf [22] ARP-Guard. Architecture. Último acceso: 16 de junio de 2011 https://www.arp-guard.com/ info/product/architecture/ | Innov.Ing.Desarro. | Vol. 1 No. 1| Págs. 9-24 | Coruniamericana Barranquilla-Medellín, Colombia | Enero-Dic. 2012 | ISSN: 2344-7559 | http://coruniamericana.edu.co/publicaciones/ojs/index.php/IID