jueves, 22 de noviembre de 2007

dsniff: La suite definitiva

Hola gente!

Vengo a hablaros de un conjunto de herramientas que me han puesto los pelos de punta, no solo por su potencia, sino por su sencillez en el desempeño de técnicas de sniffing. Se trata de la suite dsniff, un maravilloso conjunto de herramientas diseñadas por Dug Song para auditar su propia red, pero que en manos de "otras" personas se convierte en el "Kit del pequeño cabroncete" XD

Conocí estas herramientas por el articulo del genial NeTTinG en la @rroba #122, y probada su eficacia decidí profundizar un poco mas en algunas de las herramientas proporcionadas.

La mayor parte de ellas necesitan de un MITM previo a su uso, y lo vamos a realizar con las propias herramientas que la suite nos ofrece. Para los mas despistados recordar que un MITM (man in the middle) es una técnica de sniffing específica para redes locales conmutadas, consistentes en realizar un envenenamiento de las tablas ARP del PC Victima y el router o cualquier otro host de la red. KrAmOx ya escribió sobre esto, así que los mas rezagados podrían empezar por leer este articulo ;)

La suite se compone de las siguientes herramientas:
  • dsniff -> Sniffer de contraseñas
  • filesnarf -> Captura y guarda ficheros pasados via NFS
  • mailsnarf -> Captura el trafico POP3 y SMTP, guarda el resultado en formato mailbox
  • msgsnarf -> Registra mensajes de sesiones de mensajería instantánea tipo msn.
  • webspy -> Visualiza en tiempo real el trafico web de la victima inyectando el trafico en nuestro navegador.
  • arpspoof -> Envenena la cache ARP
  • dnspoof -> Falsifica respuestas DNS
  • macof -> Inunda la red con direcciones MAC falsas provocando DoS
  • sshow -> Analiza el trafico SSH en versión 1 y 2
  • tcpkill -> Mata conexiones establecidas
  • tcpnice -> Ralentiza conexiones.
Existen algunas mas, pero si aprendierais a utilizar todas estas al dedillo ya iríais bien servidos ;)
Para instalar esta herramienta esta tan sencillo como realizar un simple:
apt-get install dsniff
Con esto ya tendremos la suite instalada en nuestra Ubuntu/Debian.

MITM
Este primer ataque que vamos a ver consiste en realizar un clásico MITM, que nos servirá luego de lanzadera para otros ataques.
Para ello vamos a utilizar arpspoof. Imaginemos que tenemos el siguiente escenario:

Vict(192.168.1.33) <--->Rout(192.168.1.1)<--->Atac(192.168.1.35)

Para conseguir el MITM tenemos que hacer que la conexión entre la Victima y el router pase antes por nosotros, y igualmente a la inversa la conexión entre el router y la victima pase también por nosotros, quedando el escenario así:

Victima==============Atacante===============Router

Para ello abrimos un terminal de consola en root y hacemos:

arpspoof -i eth0 -t 192.168.1.33 192.168.1.1

luego, en otro terminal en root, cubrimos el segundo canal de comunicación:

arpspoof -i eth0 -t 192.168.1.1 192.168.1.33

y para que no se note que estamos en medio activamos el forwarding para actuar como router y enviar los paquetes a su verdadero dueño.

echo 1 > /proc/sys/net/ipv4/ip_forward

si no hacemos esto, el tráfico quedara cortado para la victima y perderá la conexión, pudiendo así ser descubiertos.

Podemos comprobar en la maquina victima que el ataque esta en marcha haciendo un arp -a, sabremos que esta activo porque la dirección MAC del router coincidirá con la nuestra, esto es que habremos envenenado la cache ARP de la victima y los paquetes a la IP del router se enviaran a nuestra dirección MAC. También podremos detectar si somos victimas de este tipo de ataque si nuestra tabla ARP contiene MAC's duplicadas.

Importante!! no cerréis ninguna de las ventanas de consola en las que se esta ejecutando arpspoof, ya que de hacerlo se pararía el ataque!

Con esto ya tenemos el MITM en marcha.

Robo de contraseñas FTP
Ya sé que no es ningún mito conseguir la contraseña de un FTP, pero para ilustrar como funciona dsniff nos bastará ;)
Una vez realizado el MITM, en la maquina atacante ponemos dsniff a la escucha mediante:
dsniff -i eth0
y a continuación vamos a la maquina victima y abrimos una sesión FTP con cualquier proveedor...
Vaya! parece que dsniff tiene algo para nosotros!


Espiar conversaciones de Messenger
También es posible espiar conversaciones mediante la herramienta msgsnarf.
Habiendo hecho previamente el MITM podemos hacer:
msgsnarf -i eth0
y toda conversación msn que inicie la victima pasará por tu pantalla.

Capturar correos

Activando mailsnarf:
mailsnarf -i eth0
podremos capturar todo el correo enviado mediante Outlook, Thunderbird... etc por la victima. Si ademas activamos dsniff probablemente capturemos la contraseña de acceso a la cuenta de correo. Con mailsnarf obtendremos el cuerpo del mensaje enviado.

Espiar trafico web en tiempo real
Para esto es imprescindible utilizar el navegador Netscape... para esto no nos sirve el Firefox U_U el Netscape Navigator lo podemos bajar de la pagina oficial de Netscape, la ultima versión estable para Linux es la 9.0.0.3.
El ataque es tan fácil como realizar un MITM y activar webspy del siguiente modo:
webspy -i eth0 192.168.1.33
y en la barra de direcciones de Netscape poner la dirección http://192.168.1.33 ¡webspy irá inyectando el trafico web automáticamente y en tiempo real!!

Todo esto, por supuesto, no es necesario que suceda en una red cableada... perfectamente puede ser un escenario inalámbrico, en una red ajena... así que al loro en lo que sucede en vuestras redes...

Bueno hasta aquí hemos hecho un pequeño repaso a unos cuantos ataques, pero esto es solo la punta del iceberg! Mas adelante iremos exprimiendo un poco mas esta fantástica suite, aunque no dudéis en ir probando por vuestra propia cuenta!

Me hubiera gustado poner mas capturas de pantalla, pero hoy no ha sido posible, tal vez, si me acuerdo haré las capturas mas tarde y actualizaré el post, pero no os puedo prometer nada de momento...

Salu2!

11 comentarios:

Anónimo dijo...

Has pensado en hacer una FAQ de esto? Y ponerlo en wadalbertia jajaja

Lo probaré y te digo algo.
Muy bueno.

Seifreed

SLaYeR dijo...

De momento tengo algo entre manos, tal vez próximamente entre más a fondo en este tema ;)

Anónimo dijo...

Hola. Hubo en "Los Cuadernos de HackxCrack" un artículo sobre eso. Ha sido un placer leer este artículo. Acerca de las conexiones ssl, ¿está algo más automatizado que antes?

Me refiero a si el certificado falso se lo tiene uno que currar,o es tan facilito como con ettereal.
Por cierto, ¿cómo ves a uno en comparación con otro? A mí la versión de ettercap incluida en Ubuntu 7.04 me daba problemas.

Me gusta este blog.
Un saludo.

Anónimo dijo...

mira yo tengo varios problemas
pero de antemano gracias por esta información
1.- intento conectarme desde una coneccion inalambrica cuando sigo las instrucciones me pasa esto

~$ arpspoof -i wlan0 -t 192.168.1.127 192.168.1.1
arpspoof: libnet_init(): UID or EUID of 0 required

:~$ arpspoof -i wlan0 -t 192.168.1.127 192.168.1.1
arpspoof: libnet_init(): UID or EUID of 0 required

echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permiso denegado
2.- revisando otros foros me dice que modifique ip_forward a 1 pero esta en 1 y no cuando lo intento de nuevo me marca 0
3.- no se como continuar

gracias por atender mis dudas

SLaYeR dijo...

Hola!

Tus problemas son los permisos de ejecución ;) tienes que ejecutar estos comandos como root.

Desde un sistema Debian o Debian-Like puedes hacerlo mediante sudo:

slayer@SpongeBob:~$ sudo arpspoof -i wlan0 -t 192.168.1.127 192.168.1.1

La contraseña que te pide es la de tu usuario.

Otra forma es entrar directamente como root con su:

slayer@SpongeBob:~$ su -

La contraseña que te pide es la del usuario root.

A partir de aquí todos los comandos que ejecutes lo harán con el usuario root, eso si, recuerda salir de la sesión de root cuando acabes.

Saludos!

Anónimo dijo...

mmm...
La suite esta muy bien y tiene bastante utilidad... gracias por el aporte...

Oye una cosa me podrias decir kien es la tia k sale en la captura de pantalla??? y lo del lateral son gdesklets???

Me puedes pasar el link donde salga el fondo, jeje xD

Bueno aw

SLaYeR dijo...

Vaya, alguien que se preocupa de algo mas serio: la chica! XD

La chica de la foto es Scarlett Johanson. puedes encontrar ese Wallpaper por ejemplo aqui:
http://wallpaper.skins.be/scarlett-johansson/20593/1280x800/

Lo del lateral son gDesklets, si.

Salu2!

Anónimo dijo...

los errores del usuario anterior se solucionan entrando como root en cada ventana que habras de la terminal, con la instruccion-> su -
enseguida les pedira un password en el cual ponen el password con el que entraron a linux.


yo llegue hasta el punto en donde dice:
msgsnarf: listening on eth0.

Mi pregunta es, donde se almacenan las conversaciones del msn? donde puedo verlas?

CyberServer dijo...

Hola.
Oie esta fabulosa tu explicacion, solo que no entendi lo de:

"
y para que no se note que estamos en medio activamos el forwarding para actuar como router y enviar los paquetes a su verdadero dueño.
"

Digo.... si entiendo para que es pero como puedo hacerlo si estoy ocupando Windows? sabes si existe algun comando o alguna herramienta .exe para enrutar los paquetes?

Ley por aii que para activar el modo enrutador tengo que modificar el registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter con el valor 1.

Y ya lo hize!! pero no pasa nada despues de haver ejecutado

Victima:
192.168.1.104
Router:
192.168.1.254

------
arpspoof -t 192.168.1.104 192.168.1.254
arpspoof -t 192.168.1.254 192.168.1.104

la victima se queda sin internet ni nigun tipo de coneccion.!!!

Sabe alguien como puedo reenviar los paquetes al router????

De antemano gracias .. CyberServer

Anónimo dijo...

Muy buena entrada, me ayudaste mucho... Te felicito....!!
aver si haces mas entradas de este tipo..
Una duda, que pasa, sino escucha nada del chat de la visctima, y en lugar de esa, se escucha la mia...
Saludos..!!

Unknown dijo...

hola muy genial aporte men los espias de contraseñas guardan la informacion odtenida en algun documento o algo asi ???