Aprende a crear un script para evitar el envenenamiento ARP

Tal vez eres de esas personas que va con su laptop a un café, te conectas y comienzas a usar Internet sin más preocupaciones. Pero, ¿nunca se te ocurrió pensar que alguien podría estar haciendo ataques como envenenamiento de tablas ARP o de DNS? Estos suelen ser de lo más habituales, pero en esta entrada te mostraremos un pequeño script para evitar el envenenamiento ARP en casos de necesitar usar redes abiertas sin protección con contraseña.

Los ataques anteriormente mencionados son frecuentes dentro de una red para lograr Man In The Browser por ejemplo, sobre todo en redes abiertas donde hay poco o ningún control en lo que refiere a seguridad. Estos son utilizados para manipular las conexiones, redirigiendo las consultas a sitios web con malware o inclusive a sitios de falsos (scam) para robar información.

A continuación veremos el código del script en bash, el cual se basa en utilizar herramientas propias del sistema operativo Linux como son el comando route, arp, cut y tr:

CodeScript
En el recuadro de la parte superior puede verse cómo se establece la configuración del script para comprobar información de red, tal como la dirección IP del router y su dirección MAC. En primer lugar hace uso del comando route, el cual se encarga de mostrar la tabla de enrutamiento que reside en el kernel.

El siguiente comando que ejecuta es tr, un filtro que permite cambiar una determinada información de un archivo por otra. Por último, en este primer bloque utiliza el comando cut para extraer fragmentos de líneas de texto.

En la segunda parte de este script, se hace uso del comando ARP para mostrar la tabla. Desde esa información determina la dirección MAC del router, para posteriormente añadirla manualmente a la configuración de red.

Luego, solo resta otorgarle los permisos necesarios para su ejecución, para lo cual debe usarse el siguiente comando:

Chmod 774 [/ruta/nombre_script.sh]

Luego de otorgarle los permisos necesarios, solo resta ejecutarlo de la manera que se ejecutan los scripts en bash en sistemas UNIX. La forma de hacerlo es:

     ./nombre_script.sh

Una vez ejecutado dicho programa, mostrará en pantalla (en la consola de texto) un mensaje como el que se muestra a continuación:

ejecucion
Claramente se aprecia la dirección IP del router y su dirección MAC, seguido del mensaje “Ahora ya estás protegido contra envenenamientos ARP”. Esto se debe a que preestablece la dirección MAC de dicho router en la configuración de red, con lo cual ya estamos en condiciones de evadir este tipo de ataques.

Si se vuelve a ejecutar por segunda vez este script, aparecerá otro mensaje, como el que se aprecia en la siguiente captura de pantalla:

re-ejecucion
El mensaje es diferente ya que fue modificada la tabla ARP en el equipo, por lo que ya no es necesario que compruebe esta información.

Algunos consejos para tener en cuenta son:

  • En redes públicas se recomienda no hacer uso de servicios que requieran información sensible
  • No hacer uso de aplicaciones de homebanking
  • Contar con una solución antivirus instalada y actualizada
  • No instalar complementos si no son de fuente oficial
  • Desconectar de este tipo de redes dispositivos tales como teléfonos celulares ya que envían y reciben mucha información (es recomendable usar plan de datos)

Debemos remarcar que esto no es una solución definitiva, pero sí puede ayudar en un caso de emergencia que se necesite usar una red libre. Sin embargo, esta herramienta no podrá (ni intentará) reemplazar a una solución de seguridad como un antivirus, ya que estos monitorean constantemente las tablas ARP junto con los DNS, con la finalidad de prevenir estos ataques.

También cabe remarcar que este ataque puede ser evadido por un atacante, con solo clonar la dirección MAC del router. Por este motivo no es una solución definitiva, sino más bien una herramienta para cuando no hay alternativa de conexión a una red con seguridad.

Aquí volvemos a ver cómo con las herramientas que tenemos disponibles, un poco de programación y creatividad, podemos armar otras herramientas para protegernos.

Ya hemos visto en otras entradas qué tan necesario es utilizar una solución antivirus en entornos Linux. A pesar de que no existe la misma cantidad de códigos maliciosos para Linux que para Windows, esto no significa que no sean vulnerables a estos ataques.

Por este motivo te recomendamos instalar una solución de seguridad inclusive en entornos Linux, lo cual te ayudará a prevenir en tu sistema futuros ataques informáticos y manipulación de conexiones.

Créditos imagen: ©Kevin O’Mara/Flickr

Autor , ESET

Síguenos