Ir al contenido principal

Script para protegerse de ataques MITM en Ubuntu

Con el tutorial de Ettercap quedó claro que en las redes LAN es muy fácil ser víctima de un ataque MITM o Envenenamiento ARP. Una forma sencilla de proteger tu PC es especificando de manera estática la MAC del router por defecto en tu tabla ARP como vimos también en el tutorial.

Para automatizar esta tarea, en un ordenador de sobremesa que siempre se conecta a la misma red bastará con ejecutar siempre al inicio el comando arp -s [IpRouter] [MacRouter], ya sea en windows mediante un fichero .bat en la carpeta Inicio o en Ubuntu (GNU/Linux) mediante un .sh en la carpeta /etc/init.d/.

Pero para un ordenador portátil que se conecta a diferentes redes (casa, trabajo, sitios públicos..) no nos sirve la opción anterior, ya que para cada red la relación [IP] [MAC] es diferente, por este motivo he creado un script muy simple para automatizar esta tarea que al ejecutarlo detecta si la ARP del router está fija o no, y en caso negativo detecta la IP y MAC del router y la añade de forma permanente:


#!/bin/sh
#http://dasubipar.blogspot.com
#Limpiamos la pantalla
clear
# Bucle que se repite hasta que obtenemos la configuracion de red
echo "Esperando a obtener configuracion de red......"
IpGateway=""
while [ i=0 ]; do
 IpGateway=`route -n|grep UG|tr -s " "|cut -d " " -f2`
 if [ $IpGateway != "" ]; then
   break
 fi
 sleep 3
done

#Una vez tenemos conectividad, comprueba la IP y MAC del gateway y añade una entrada estatica a la lista ARP (en el caso de que se dinamica)

comprueba=`arp -n|grep -w $IpGateway|grep CM`
if [ -z "$comprueba" ]
then
 echo "La entrada ARP del ROUTER en tu lista ARP NO ES ESTATICA"
 MacGateway=`arp -n|grep -w $IpGateway|tr -s " "|cut -d " " -f3`
 echo "La ip de tu router es: $IpGateway y su MAC es: $MacGateway"
 `arp -s $IpGateway $MacGateway`
 echo "Ahora ya estas protegido contra envenenamientos ARP"
else
 echo "La entrada ARP del ROUTER en tu lista ARP ES ESTATICA"
fi

Ejecutando este script manualmente siempre que nos conectemos a una red estaremos protegidos, pero es más practico que se ejecute siempre al inicio del sistema, para eso creamos el fichero   /etc/init.d/fichero.sh como usuario root, le añadimos permisos de ejecución (chmod 774 fichero.sh)  y hacemos un enlace simbólico de este fichero a los siguientes directorios:

ln -s /etc/init.d/fichero.sh /etc/rc0.d/S98no-arpspoofing
ln -s /etc/init.d/fichero.sh /etc/rc1.d/S98no-arpspoofing
ln -s /etc/init.d/fichero.sh /etc/rc2.d/S98no-arpspoofing
ln -s /etc/init.d/fichero.sh /etc/rc6.d/S98no-arpspoofing

Artículos relacionados:

Comentarios

  1. Tengo que echarle un vistazo al script para entenderlo pero pinta bien.

    Un saludo.

    ResponderEliminar
  2. excelente, aunque te sugiero ampliarlo (how/to). falta el bat prometido de windows. Gracias

    ResponderEliminar
    Respuestas
    1. Hola Maravento, para Windows hace poco encontré una aplicación gratuita que no solo nos protege, sino que nos avisa si alguien intenta un ataque contra nuestra máquina! Y además guarda un registro o log de incidencias, está muy bien.
      La puedes descargar desde aquí http://www.informatica64.com/descargas/Marmita%201.3.zip

      Un saludo!

      Eliminar

Publicar un comentario

Entradas populares de este blog

Solucionar "Ha sido imposible conectar al servidor FTP xxxx.xxxx.com:21" en WordPress

Si obtienes un error indicándote "Ha sido imposible conectar al servidor FTP xxxx.xxxx.com:21" o “Ha sido imposible localizar el directorio de [...]“ cuando intentas actualizar o instalar algún plugin, theme o el mismo WordPress -mediante actualización automática- se debe a un problema interno de WordPress, por el cual no es capaz de encontrar el directorio del blog.
A continuación vemos el motivo y la solución al inconveniente:


Causa

Sucede generalmente cuando el directorio de instalación de WordPress se encuentra al menos 2 niveles inferiores al root por FTP. Se obtiene un mensaje de error similar a algunos de los siguientes:

Red inalámbrica segura con RADIUS

Una de las opciones más seguras que permite controlar la autenticación de usuarios se puede realizar mediante la configuración de un servidor Radius. Radius o Remote Authentication Dial-In User Server, es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza los puertos 1812 y 1813 UDP para establecer sus conexiones.

En esta entrada os mostraré como realizar la instalación y configuración de un servidor Radius bajo GNU/Linux llamado freeradius, para autenticar conexiones que provienen de un punto de acceso TP-LINK TL-WA501G.

Instalar PAINT en Ubuntu

KolourPaint es un editor de imágenes libre fácil de entender y usar disponible en entornos GNOME, KDE, Xfce, etc...


Es un excelente sustituto para Paint, para instalarlo ejecutamos en un terminal: