Una vez detectado el intruso en nuestra red ¿ahora que hacemos?. Lo lógico es cambiar la contraseña y tomar mas medidas de seguridad en cuanto a nuestra red wifi. Pero para darle un aviso a nuestro instruso podemos hacer lo siguiente:
Usar ettercap para hacer primero un dns_spoof, y así teniendo un servidor web en nuestra maquina, mostrarle algún mensaje a nuestro visitante.
1º.- Lanzar el servidor web con algun aviso en la pagina index.
2º.- Configurar el archivo etter.dns que se encuentra en:
/usr/share/ettercap/etter.dns o bien en
/usr/local/share/ettercap/etter.dns sino #find / -name etter.dns
Para esto comentamos las lineas (#) y dejamos una sola entrada, por ejemplo
* A DIR_IP
en DIR_IP ponemos nuestra dirección ip donde corremos el servidor dentro de la red local. Para ver nuestra ip podemos usar el comando ifconfig,
3º.- Lanzamos ettercap con el plugin de dns_spof de la siguiente forma:
# ettercap -T -q -i wlan0 -P dns_spoof -M arp:remote /IP_Intruso/ /IP_Router/
De esta forma hacemos el dns_spoof y nos mostrará que páginas estará visitando, pero en realidad será dirigido a nuestro servidor web.
-i wlan0 suponiendo que lo hagamos desde un adaptador wifi
miércoles, 31 de diciembre de 2014
jueves, 18 de diciembre de 2014
Detectar intrusos en red wifi
A partir de algunos scripts que he visto, he compuesto el siguiente para perl y para python.
Hay que tener en cuenta que en la linea numero 5 en perl, hay que mirar si la salida del comando ifconfig tiene las cadenas "Direc. inet:", si son otras habría que modificar la linea para sacar nuestra ip. Y también configurar las mac de nuestros dispositivos o bien anular esas lineas si se sabe algo de perl :). Hay que mirar que configuración tenemos de red, en mi caso 192.168.0.0 y sustituir 192.168.0.1 por la nuestra. Y para afinar mas, poner el path completo del archivo hosts-ip.txt
Para el de python (que es mas simple) mirar "Direc. inet" y nada más.
Y el de python
Hay que tener en cuenta que en la linea numero 5 en perl, hay que mirar si la salida del comando ifconfig tiene las cadenas "Direc. inet:", si son otras habría que modificar la linea para sacar nuestra ip. Y también configurar las mac de nuestros dispositivos o bien anular esas lineas si se sabe algo de perl :). Hay que mirar que configuración tenemos de red, en mi caso 192.168.0.0 y sustituir 192.168.0.1 por la nuestra. Y para afinar mas, poner el path completo del archivo hosts-ip.txt
Para el de python (que es mas simple) mirar "Direc. inet" y nada más.
#!/usr/bin/perl
$archivos="hosts-ip.txt";
$scaneo= `nmap -sP 192.168.0.1/24 > $archivos`;
$ip= `/sbin/ifconfig wlan0 |grep 'Direc. inet:'|awk '{print \$2}'|cut -c 6-`;
chomp($ip);
open INFILE,$archivos;
my $linea;
my $conmutador=0;
while ( $linea = ) {
chomp($linea);
$linea =~ m/^Nmap scan report for\s(.+?)$/;
if($1 =~ m=(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})=){
$comp = "$1.$2.$3.$4";
if($comp ne "192.168.0.1"){
if($comp eq $ip){$texto.="Mi D IP = $ip\n"}
else{
$mac=`arp $comp`;
$mac =~ m/(..:..:..:..:..:..)/;
if($1 eq "xx:xx:xx:xx:xx:xx"){$valor="Mi Móvil"}
elsif($1 eq "xx:xx:xx:xx:xx:xx"){$valor="Mi Tablet"}
else{$valor=$1;}
$texto.="Intruso = $comp $valor\n";
$conmutador = 1;
}
}
}
}
close INFILE;
print $texto
$salido =`notify-send -t 0 -i wicd-gtk "Escaneo de la Red" "$texto"`;
Y el de python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import commands
import re
import subprocess
ip = commands.getoutput("/sbin/ifconfig wlan0 |grep 'Direc. inet:'|awk '{print $2}'|cut -c 6-")
scaneo=commands.getoutput("nmap -sP 192.168.0.1/24 > hosts-ippy.txt")
infile = open('hosts-ippy.txt', 'r')
texto = ''
for linea in infile:
linea.rstrip()
m = re.match(r"(.+)\s(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", linea)
if m:
if m.group(2) != '192.168.0.1':
if ip == m.group(2):
texto+='Mi D IP = '+ip+'\n'
else:
texto+='Intruso = '+m.group(2)+'\n'
infile.close()
print texto
exitCode = subprocess.call(["notify-send",'-t','0','Escaneo de la Red',texto])
Monitorizar lectura, modificación, etc de archivos
Buscaba una aplicación similar al filemon en windows para ver que archivos son "tocados" por una aplicación o el sistema, y por suerte, lo he encontrado.
El proyecto se encuentra en esta página pyinotify
Se descomprime el archivo, se entra en el directorio y se ejecuta:
$ sudo python setup.py install
Mirar la documentación para ver el uso, aunque yo he probado con este script y me va muy bien:
Se ejecuta en terminal y queda como demonio informando de la actividad en los archivos. Al definir mask = pyinotify.ALL_EVENTS se verán todos lo eventos sucedidos en los archivos dentro del directorio /home/user.
Para mas información mirar el tutorial
El proyecto se encuentra en esta página pyinotify
Se descomprime el archivo, se entra en el directorio y se ejecuta:
$ sudo python setup.py install
Mirar la documentación para ver el uso, aunque yo he probado con este script y me va muy bien:
# -*- coding: utf-8 -*-
# Archivo example1.py
import pyinotify
class EventHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
print "Creacion del archivo :", event.pathname
wm = pyinotify.WatchManager()
mask = pyinotify.ALL_EVENTS
handler = EventHandler()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch('/home/user', mask, rec=True)
notifier.loop()
Se ejecuta en terminal y queda como demonio informando de la actividad en los archivos. Al definir mask = pyinotify.ALL_EVENTS se verán todos lo eventos sucedidos en los archivos dentro del directorio /home/user.
Para mas información mirar el tutorial
Suscribirse a:
Comentarios (Atom)