Detectando DNS y ARP spoofing

Pues eso, hoy, unas formas de detectar el spoofing de DNS (falseamiento de un nombre de dominio) y de ARP (que puede servir para suplantar una IP).

DNS

La forma de detectar un DNS spoofing es bastante simple, pero sigue siendo bastante efectiva para entornos de red local, el script es este o descargado aquí [dns.sh]:

!/usr/bin/env bash

if [ "$2" == "" ]

then

echo "$0 "

exit 1

fi

echo -n "Velocidad: ";((time ping -c 1 "$2" >> /dev/null) 2>> /dev/stdout )|head -n 2|tail -n 1|cut -f2

echo -n "DNS: ";((time nslookup "$1" "$2" >> /dev/null) 2>> /dev/stdout )|head -n 2|tail -n 1|cut -f2

( ./script   )

La idea es que compara el tiempo que se tarda en hacer un ping a un servidor DNS y el tiempo que tarda el mismo servidor en resolver una dirección, obviamente un servidor que no esta en la red local (como estaría el supuesto intruso), tardaría mas que el intruso, en la red local.

Por ejemplo, suponiendo que los resultados normales (sin spoofing) fueran estos:

===============================================================================

Velocidad: 0m0.068s DNS: 0m0.075s

Velocidad: 0m0.061s DNS: 0m0.066s

Velocidad: 0m0.060s DNS: 0m0.067s

Velocidad: 0m0.061s DNS: 0m0.070s

Velocidad: 0m0.060s DNS: 0m0.066s

===============================================================================

Los valores con un DNS spoofing podrian ser:

===============================================================================

Velocidad: 0m0.060s DNS: 0m0.015s

Velocidad: 0m0.065s DNS: 0m0.014s

Velocidad: 0m0.061s DNS: 0m0.014s

Velocidad: 0m0.066s DNS: 0m0.014s

Velocidad: 0m0.061s DNS: 0m0.014s

===============================================================================

La diferencia es obvia, el tiempo para resolver sin spoofing es ligeramente mayor que el tiempo de ping, mientras que el tiempo para resolver con spoofing es menos de la mitad del tiempo de ping.

ARP

La forma de detectar un ARP spoofing tambien es bastante simple, si al comprobar la tabla ARP hay MAC's repetidas, significa que (alguna de las repetidas) está spoofeada. Quizá sea necesario llenar la tabla con los host de la red para poder comprobar las MAC de todo la red, se puede hacer simplemente con:

===============================================================================

nmap 192.168.0.* -sP

===============================================================================

(El 192.168.0.* habría que cambiarlo por el adecuado para la red) El script es (o aquí [arp.sh]):

!/usr/bin/env bash

mip=""

t=0

for a in $(arp -a|sed -e "s/ /_/g" ); do

ip=echo $a|cut "-d_" -f2|cut -d\( -f2|cut - d\) -f1

mac=echo $a|cut "-d_"  -f4

if [ ${mac,0,1}"" != "<" ]

then

# echo "IP: $ip MAC: $mac"

t=$(($t + 1))

i=0

lip=""

for tmp in $mip ; do

if [ echo $tmp|cut -d_ -f2 == "$mac" ]

then

echo "MAC duplicada $ip - "echo $tmp|cut -d_ -f1" [$mac]"

fi

done

mip="$mip $ip"_"$mac"

fi

done

Simplemente comprueba las MAC duplicadas, y avisa de ello, no requiere interpretación por parte del administrador como el script de DNS (no hay que ver que indican los datos, hay spoof o no).

Y eso es todo, hasta otra.

untagged

Buscador de series/peliculas » « SniperlCat, un guardian de red