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!

domingo, 11 de noviembre de 2007

Navegar anónimamente. Parte II

Bueno ya estamos otra vez aquí. Este documento es una continuación de la primera parte: "Navegar anónimanente". Lo podeis encontrar aquí.
Para los que ya sepan de que va esto, en este segundo capítulo dedicado al anonimato, hablaremos sobre como crear una secuencia de proxys anónimos para hacer más difícil nuestra identificación dentro de internet.

La primera opción para el anonimato que tenemos seria la siguiente: configuramos nuestro navegador y le indicamos que todas nuestras conexiones del tipo HTTP (también podrian ser otras como FTP, SSL... ) pasen por un servidro proxy (que hallamos previamente elegido nosotros). Para ello, si Firefox es nuestro navegador predeterminado, tendremos que ir a Opciones-->Preferencias-->Red-->Configuración y en el apartado "Configurar proxies para el acceso al internet" poner la ip del proxy y el puerto por el que nos va a escuchar. Para los que usen IE las opciones y menus son muy parecidos.

Esta es la configuración más fácil (muy parecida a la que hacíamos al final de la primera parte), y por lo tanto la que menos "enmascara" nuestra identidad real (nuestra ip).
Si nuestra idea es tener una lista de proxies (para con un simple clic pasar de un proxy a otro y no tener que entrar en las configuraciones del naveagador), Firefox tiene un add-on que nos facilita la tarea de tener una lista de proxies. La herramienta en cuestión se llama "SwitchProxy Tool". Una vez descargada e instalada, tendremos otra barra de herramientas dedicada especialmente para el uso del programa. Su uso es sencillo. Podemos agragegar cuantos proxies queramos a la lista de proxies, para después seleccionar uno y haciendo clic en el botón "apply" hacer que nuestro tráfico HTTP se redirija hacia el proxy. De esta forma tan sencilla haremos que nuestro fujo de datos pase primero por el proxy antes de llegar al destino. Para encontrar nuestro servidro proxy favorito, sabemos que en internet existen sitios donde podremos encontrar listas de proxys anónimos (p.e: http://proxy-list.org/en/); solo hay que googlear un poco.

Otra opción bastante interesante de "SwitchProxy Tool" es la posibilidad de cargar una lista de proxies (en vez de introducirlos uno a uno) y hacer que cada x segundos nuestras comunicaciones vayan cambiando el proxy utilizado de acuerdo con la lista que tenemos. Para poder utilizar esta opción tendremos que descargarnos primero la lista de proxies que vamos a utilizar. En la página http://proxy-list.org/en/ podemos encontrar dichas listas (También existes programas como Proxy Switcher que puede descargarnos una lista de proxies de internet, testearlos y ordenarlos). Ahora seleccionaremos la opción "Add" de la barra de herramientas de SwitchProxy Tool y la opción "Anonymous". En la siguiente ventana es donde podremos importar el archivo con la lista y indicarle cada cuantos segundos queremos que cambie entre proxy y proxy. Es importante comprobar que los proxies funcionan todos correctamente, ya que si no podríamos quedarnos sin conexión.

Como hemos visto, las herramientas antes presentadas se basan pasar el tráfico por un único proxy y aunque podemos cambiar el servidor proxy por el que navegamos cada x segundos, no enmascara del todo nuestra ip. Otra opción diferente serian las herramientas que crean una cadena larga de proxies entre el origen y el destino por donde hacen pasar nuestras consultas. Una de las herramientas que usa esa tecnología es TOR, que hoy por hoy es sin duda la herramienta más usada en este sentido.

TOR (The Onion Router) es una red de multi-enrutadores que basa su concepción en que la comunicación entre origen y destino salta por varios de ellos de forma encriptada (excepto entre el último tramo y destino, detalle muy importante) sin que ninguno de ellos conozca de forma completa origen y destino, sino sólo el enrutador predecesor y el sucesor. De esta forma evitaremos que los sitios web rastreen nuestra presencia. Para saber a que quién conectarse, se usará un servidor de directorio que nos indicará a las personas que me puedo conectar. En la siguiente imagen podemos ver el funcionamiento de Tor.

La red Tor se apoya en voluntarios que donan ancho de banda. Cuanta más gente ejecute servidores, más rápida será la red Tor.
Si queremos ayudar a la comunidad y hacer de nuestro servidor un servidor Tor, aquí tenemos como: https://www.torproject.org/docs/tor-doc-server.html.es.

Por otra parte si lo que queremos es solo utilizar Tor, basta con descargarnos el add-on que existe para Firefox llamado TorButton. Además de instalarnos el TorButton, debemos también de instalarnos otro programa: Privoxy y el programa para Windows Tor. Privoxy filtra todo tipo de datos que se utilizan en la navegación web: cookies, encabezados; y además hace las preticiones DNS que algunos exploradores fallan al hacerlas. En vez de descargarnos el programa ensí, podemos bajarnos un paquete llamado Vidalia, que incluye el Privoxy y el programa para windows Tor. Una vez instalado Vidalia, si ejecutamos Firefox. Le damos al TorButton y lo ponemos "Enable". Deberemos apreciar una reducción en la velocidad de navegación (recordar TorButton no funcionará sino instalamos Vidalia ya que necesita privoxy). Para confirmar que estamos dentro de una red Tor solo tenemos que visitar esta página, la cual nos dirá si estamos o no dentro de la red Tor.


También cabe la posibilidad de utilizar Tor junto a SwitchProxy y a Privoxy. Es decir, dentro de la lista de poxies que tenemos en Switch Proxy tendremos un elemento más que será Tor. En la página web del proyecto explican muy detalladamente como se hace; no es nada difícil. El enlace es el siguiente.

Con todo esto ya tenemos una potente herramienta para el anonimato, aunque cabe recordar que este no 100% seguro en ningun caso.

Por último solo comentar un par de cosas que me parecen interesantes. Existe un paquete llamado Torparck, que incluyen las siguientes herramientas: el navegador Portable Firefox y un cliente para la red anónima Tor. Ocupa tan solo unos 10Mb, lo que nos permitirá grabarlo en nuestra memória USB y llevarlo a todas partes con nosotros para poder navegar anónimamente en cualquier sitio donde estemos. Por otro lado, también existe una distribución Linux (en formato Live-CD) basada en OpenBSD que trata de facilitar la navegación anónima. Su nombre es Anonym.OS.

Espero que esta guía sea de ayuda
Nos vemos pronto :).

Un Saludo.

martes, 6 de noviembre de 2007

Portable Applications

Perdonad por la desactualización tan tremenda del blog, pero ultimamente tanto yo como KrAmOx estamos bastante liados y no tenemos tanto tiempo como nos gustaria para poder postear articulos interesantes... :( aunque os puedo adelantar que estoy trabajando en un paper que espero que os interese, seguramente lo postee a trozos en el blog o lo libere definitivamente en un PDF, o las dos opciones, ya veremos ;)

Para no dejaros con el regusto en la boca os voy a dejar un enlace que si no lo conocíais seguramente me agradeceréis que os lo enseñe. Se trata de este.
Descargando esta aplicación e instalándola en nuestra memoria USB, tendremos a nuestra disposición un extenso conjunto de aplicaciones libres que seguro nos harán la vida mas fácil. Se trata de aplicaciones portables, es decir, instaladas en el USB y que para funcionar solo necesitan ser conectadas mediante el USB a un PC con el sistema operativo adecuado (Windows en este caso).

Asi podras llevar tu Firefox, con tu tema, tus Marcadores y tus Addons instalados siempre detras, o tu Thunderbird, o el antivirus Clam AV, el OpenOffice, el Notepad++... etc.

En la misma web puedes consultar las aplicaciones disponibles y descargar instaladores a la medida de la capacidad de tu memoria. Aunque la Base Edition parece la mas interesante para personalizar completamente tu Portable Apps.

Sin mas que contar espero que podamos en breve seguir el ritmo de posts que llevábamos antes.

Salu2!