Vous êtes sur la page 1sur 17

WIRESHARK: ANLISIS DE TRFICO Y DETECCIN DE CLAVES.

Autor: Csar Gmez

14/01/2011

Introduccin

En la actualidad la gran mayora de los procesos, tareas o tramites que hacemos en nuestro diario vivir, las realizamos frente a un computador, es decir, desde los ms trivial como conversar con nuestro amigos o compaeros por chat o algn cliente de mensajera hasta algo ms complejo como hacer transacciones de nuestra cuenta corriente en el banco o el pago de impuestos. Debido a la gran cantidad de datos que ingresamos y que circulan por la red, datos como correos, direcciones, nmeros de telfono, contraseas, qu tan seguro estn esos datos de terceros? Por ah se ha escuchado incluso de ventas y trafico de base de datos con toda informacin acerca de personas. Qu tan protegido estamos la navegar por internet? Ya no basta como era de costumbre hace algn tiempo atrs solo con tener un antivirus o tener constantemente el sistema actualizado (ms en el caso de sistemas Windows) sino adems de tener un equipo seguro debemos saber cmo est el entorno, es decir, la red en la que estamos, es segura? Quin nos asegura que no hay alguien observando el trafico, viendo que es lo que hacemos, que paginas visitamos, inclusive cules son nuestras claves de correo, facebook, cuentas bancarias, sin duda da para temer. En el presente informe, analizaremos una herramienta muy conocida para el anlisis de trfico llamada Wireshark (anteriormente conocida como Ethereal) adems de otras tcnicas usadas para averiguar si hay espas en la red viendo nuestros datos, una gua vital para estar un poco ms seguro en la red, aunque por definicin ningn sistema es ciento por ciento seguro.

Introduccin a la redes para su posterior anlisis e interpretacin

Para poder trabajar con Wireshark debemos conocer o estar relacionado previamente con algunos conceptos bsicos de redes con detallamos a continuacin. Direccin ip: bsicamente es un identificador numrico nico Se usa para identificar cada computador o sistema conectado a Internet o una red local, esta direccin ip esta compuesta de cuatro nmeros separados por puntos, por ejemplo 127.0.1.1 (IPv4).

Direccin MAC: que significa control de acceso al medio es un es un identificador de 48 bits asignado generalmente de fbrica de 12 caracteres (6 bloques hexadecimales), que es nico para cada dispositivo de hardware en la red. La impresa en nuestra tarjeta de red en algunas ocasiones. direccin la podemos ver

Protocolo: es un conjunto de reglas que son usadas para comunicarse a travs de la red, es decir, es una estandarizacin que permite la conexin y comunicacin y tambin la transferencia de datos entre mquinas, cada protocolo se encarga de una forma especfica de intercambio. Para este caso solo nos centraremos en los protocolos de capa 3 en adelante, es decir, protocolos de red y especialmente protocolos de aplicacin: FTP, HTTP, MSNMS entre otros. Puerto: es el valor que se usa para distinguir entre las mltiples aplicaciones que se pueden conectar al mismo anfitrin (HOST), o puesto. Paquetes de datos: En Internet, los datos se transfieren por paquetes que son un conjunto de datos que conforman una informacin. Es la unidad fundamental de transporte de informacin en todas las redes actualmente.

ARP: significa Protocolo de resolucin de direcciones. Es un protocolo de nivel de red que tiene como responsabilidad encontrar la direccin de hardware MAC que corresponde a una determinada direccin IP. Este protocolo se encarga de traducir las direcciones IP a direcciones MAC, se utiliza una denominada tabla ARP que tiene las referencias equivalentes entre s de cada direccin.

Pero qu es Wireshark? En una definicin simple Wireshark es un sniffer (Husmeador) que en el contexto de redes quiere decir que monitoriza el trfico y captura los paquetes de datos que circulan por una determinada red se usa regularmente para realizar anlisis y solucin de problemas en redes, este programa es muy conocido, anteriormente llamado Ethereal que adems es de software libre con licencia GPL y se ejecuta en mas 20 plataformas. Pero tambin esta herramienta tiene algunos fines no tan puros y transparentes como solo el hecho de dar solucin a los problemas de una determinada red, tambin con esta aplicacin podemos obtener otros datos ms relevantes, datos importantes que estn circulando en la red como contraseas de correo, claves bancarias e incluso hasta conversaciones de clientes de mensajera de otras maquinas que estn en la red a cual tengamos acceso. Si queremos usar esta aplicacin Wireshark en nuestra mquina debemos contar con los permisos necesarios para la instalacin y ejecucin de este software, es decir, privilegios de Administrador en el caso de Windows o de Root en sistemas Unix. La ltima versin estable para descargar la podemos encontrar en: http://www.wireshark.org/download.html

Preparando Wireshark: configuracin Wireshark posee una interfaz amigable no muy difcil de entender, debemos configurar la aplicacin para poder realizar la captura de paquetes y analizar el trfico para ello debemos establecer la interfaz de red con la cual vamos a trabajar. Un problema que surge a veces es que Wireshark no nos detecta ninguna interfaz, pero si la aplicacin la estamos ejecutando en modo administrador no deberamos tener mayores problemas. Seleccionamos nuestra interfaz, las opciones ms ocurrentes son: Eth0: si vamos a trabajar sobre una red cableada. Wlan0: si trabajamos sobre una red inalmbrica.

Para las pruebas que realic lo hice con la interfaz wlan0, es decir, en una red inalmbrica con encriptacin tipo WEP. Si vamos a las opciones de la interfaz, en este caso podemos ver ms opciones al momento de hacer la captura de datos, por ejemplo poner un filtro de captura de un determinado host (facebook.com, google.cl, hotmail.com, etc.) y centrarnos en el anlisis de de dicho anfitrin de nuestra mquina. Tambin existe otra opcin importante como el hecho de realizar capturas de la red en tiempo real, marcamos esta casilla y comenzamos nuestra captura presionando el botn start.

Inmediatamente despus comenzamos a ver el trfico de la red paquetes de datos en Wireshark lo que se ms o menos as:

y la recepcin de

En Source y Destination vemos el flujo de informacin respecto de las direcciones ip, en la imagen por ejemplo un servidor de una pgina nos enva informacin a nuestra mquina utilizando el protocolo HTTP.

Analizando el trfico Como anteriormente sealamos Wireshark es un herramienta fundamental a la hora de hace un anlisis de nuestras conexiones de la red y deteccin de posibles problemas en transmisin de paquetes, como lo es la prdida de paquetes y/o conexin.

En la captura anterior podemos observar que Wireshark no ha detectado problema alguno, en este caso la transmisin de paquetes se encuentra normal.

Pero en este caso en el transcurso de transmisin de paquetes Wireshark nos alerta con una notificacin, en este caso TCP Previous segment lost esto nos puede indicar por ejemplo que un segmento TCP est presentando problemas. Estos tipos de problemas pueden producirse por un desorden de paquetes lo que genera que el receptor provoque un ACK duplicado ante un segmento que no sigue la secuencia normal, pero estos problemas tambin se pueden producir la perdida de algn segmento de datos o un aumento en el tiempo de trasmisin del paquete (retraso del paquete) con los que se esperan nuevos ACK duplicados, pero qu es un ACK? Un Ack (acuse de recibo) simplemente es un mensaje que se usa para confirmar que un mensaje o un conjunto de mensajes (datos) ha llegado correctamente a destino, por ejemplo los datos que se envan de una mquina a otra han llegado correctamente. Gracias a Wireshark y estos anlisis podramos ver cul es el desempeo de la red en cuestin, y que pasa finalmente con el destino de los datos, si llegan a buen puerto o no.

En Wireshark si nos damos cuenta hay un campo llamado filters esta funcin es muy vital para no colapsar viendo tanta informacin de una sola pasada (ip, protocolos, tiempo, etc.) Existen una serie de comandos para ir simplificando nuestra bsqueda por ejemplo si queremos discriminar por direccin ip, basta solo teclear el comando ip.addr==127.0.0.1 por ejemplo para ver solo paquetes de esta mquina, si adems de la direccin queremos ver paquetes que utilicen el protocolo HTTP sera ip.addr==127.0.0.1 and HTTP esto nos mostrara paquetes de datos de esa ip y con ese protocolo en especifico.

En la imagen anterior aplicamos el filtro HTTP para ver paquetes de datos correspondientes al protocolo HTTP, como estamos analizando el trfico de nuestra propia maquina, abriendo el navegador vamos a alguna pgina en internet en este caso google.cl y Wireshark nos muestra la pagina que estamos visitando como efectivamente aparece en la imagen anterior.

Otros comandos tiles

ip.dst == 127.0.0.1 Visualizar por host destino esta ip. ip.src == 127.0.0.1 Visualizar por host origen esta ip. tcp.port ==80 Visualiza todo el trfico origen y destino de este puerto. http contains "http://www.virusexpert.cl" nos muestra los paquetes que contienen www.virusexpert.cl en el contenido en protocolo http. tcp contains "http://www.virusexpert.cl" Nos muestra segmentos TCP que contienen la cadena virusexpert.cl. frame contains "@virusexpert.cl" Nos muestra todos los correos con origen y destino al dominio virusexpert.cl. Icmp[0:1] == 08 Es un filtro avanzado en donde nos muestra todo el trfico icmp de tipo echo request. ether host 00:00:00:00:00:00 Captura datos desde y hacia la direccin esta direccin MAC. MSNMS Nos muestra el trfico del mensajero de MSN, incluso las conversaciones. src port 80 Muestra los paquetes con puerto origen 21. http.cookie Nos muestra las cookies usadas por el protocolo http. dst portrange 1-128 Captura paquetes con puerto destino en un rango de puertos 1 a 128 por ejemplo.

Un poco de sniffer, deteccin de claves y otras tcnicas: espa en la red. As como podemos ver algunos datos importantes de nuestro propia mquina surge inmediatamente la idea si sucede lo mismo con otro equipo? La respuesta es s. Si estamos conectado a una red en donde tambin lo estn otras mquinas es relativamente fcil visualizar el trafico de otro mquina en particular y capturar paquetes de datos para ello existe un conocido mtodo MitM (intermediario).

Ataque Man In The Middle (MitM) Como lo sugiere el nombre de este tipo de ataque, es en donde existe un espa o intermediario entre la red y alguna mquina. Este tipo de ataque tambin conocido como ARP spooning o ARP poisoning (envenenamiento) resulta til para infiltrarse en una red LAN (red de rea local), Modificar el trfico o inclusive para hacer ataques tipo DoS (Denegacin de Servicio). Detallando mas el funcionamiento de este tipo de ataque, el ARP poisoning consiste en enviar mensajes ARP falsos (recordemos que ARP es un Protocolo de resolucin de direcciones). El objetivo finalmente es la de asociar la direccin MAC atacante con la direccin ip del nodo atacado, entonces el trfico que es dirigido a la direccin ip del nodo que est siendo atacado ser enviado al atacante, por ejemplo si la mquina atacada est solicitando informacin a un sitio web esa informacin ser enviada a nosotros, en este caso el atacante puede estar en modo pasivo, solo observando el trfico, en modo activo en donde hace una modificacin de los datos solicitados e incluso hacer una denegacin del servicio.

Las pruebas que realic fueron hechas en un sistema Unix utilizando Wireshark y otra aplicacin llamada Ettercap. Al igual que Wireshark, Ettercap es un sniffer que tiene otras funciones como interceptor y keylogger (registrador de teclas) adems soporta las direcciones activas y pasivas de varios protocolos (HTTP por ejemplo) y tambin es posible inyectar datos en una conexin establecida, en este ltimo caso lo utilizaremos para envenenar las tablas ARP. Ettercap lo podemos encontrar disponible para varias plataformas en: http://ettercap.sourceforge.net/download.php

Ejecutamos Ettercap para realizar el ataque, al igual que en Wireshark seleccionamos la interfaz a trabajar en este caso para las pruebas realizadas utilic la interfaz wlan0 porque estamos conectados en una red inalmbrica (con encriptacin WEP).

Una vez seleccionada la interfaz, escaneamos las maquinas que estn conectadas a la red, Ettercap nos muestra cuantas mquinas estn conectadas adems de otra informacin, debemos listar las mquinas conectadas para ver las direcciones ip y las direcciones MAC.

Posteriormente seleccionamos el apartado MitM y elegimos ARP Poisoning para nuestro fin, seleccionamos la opcin para conexiones remotas y comenzamos el ataque.

Paralelamente ejecutamos Wireshark con la misma interfaz que Ettercap y agregamos un filtro ingresando la direccin ip que estamos atacando, Wireshark nos mostrar los paquetes de datos de esa mquina en especfico y podremos ver informacin relevante al igual como lo hicimos con nuestra propia mquina en pruebas anteriores. Podramos por ejemplo obtener claves de formularios PHP, como nombre de usuario y contrasea, en este ejemplo vamos a una pgina web donde ingresamos esos datos y si en Wireshark buscamos el protocolo correspondiente (HTTP) con la direccin ip de fuente nos muestra el nombre de usuario y contrasea. Formulario: http://www.hhtprecipes.com/1/2/forms.php

usuario:guest

password:guest123

Tambien en Wireshark existen filtros tan importantes como los de mensajera instantnea (Messenger, ICQ, etc.) Realic una prueba con MSN Messenger manteniendo una conversacin activa, Wireshark es capaz de mostrarnos los mensajes de conversacin de la mquina, para ello tecleamos el filtro: MSNMS.

Efectivamente nos muestra los mensajes de conversacin holaaaaa. Tambin se podran usar otras tcnicas en paralelo para la deteccin de claves como el robo de cookies de una cuenta en facebook por ejemplo, este mtodo es usado tambin para otros servicios como correos electrnicos, redes sociales, y otros servicios de identificacin de usuario.

Proteccin contra ARP Poisoning Para prevenir este tipo de ataques se pueden utilizar algunos comandos como netstat y arp ya que generalmente se realiza el mismo procedimiento para la mayora de las plataformas (sistemas operativos), una vez ms utilizamos Wireshark para nuestro propsito. Ingresando el comando arp nos nuestra la direccin ip asociada a la MAC.

Obtenemos el ip del Gateway con el comando: netstat rn

A continuacin obtenemos la direccin MAC del Gateway: arp a

La idea de esto es cuando se est seguro que no se est sufriendo un ataque MitM agregar una entrada esttica de las direcciones asociadas (IP y MAC) en la tabla ARP, para ello usamos el comando: arp -s IP MAC Podemos detectar un ataque de este tipo, tanto solo verificando que la MAC listada en lo que retorne el comando arp a sea la direccin MAC verdadera de nuestro Gateway. En Wireshark tambin podemos darnos cuenta de este ataque, ingresando el filtro ARP. Si observamos el trfico podramos darnos cuenta por ejemplo en caso de un ataque: Un host est anunciando su MAC sin que otros hosts se lo pidan. Un host solicita la MAC y hay dos respuestas de la misma IP con MAC diferente. Wireshark nos enva un mensaje de alerta: duplicate use of <IP> detected!

Conclusiones Sin duda que muchas veces que navegamos no le damos la suficiente importancia a la seguridad, se refleja en actitudes como: nos conectamos a cualquier red sin importar ni saber lo segura que es, no actualizamos los navegadores ni los sistemas incluso el propio antivirus, ni tampoco buscamos referencias de algn sitio web o cuando instalamos un nuevo programa o juego con parches, etc. Definitivamente el concepto seguridad no pasa mucho por la mente del usuario a la hora de navegar e ingresar datos por la red. Sin embargo la mala experiencia ocurre cuando de un modo misterioso nos damos cuenta que un extrao se ha metido en nuestra cuenta de facebook por ejemplo y a cambiado nuestro estado y publicado cosas desagradables, o han espiado nuestro correo con informacin relevante de nuestra vida privada o temas de trabajo, mucho ms terrible es cuando nos hemos dado cuenta que han ingresado de manera ilegal en nuestra cuenta del banco y vemos en el registro que se realizaron giros de dinero que nunca hicimos, en ese momento es cuando realmente le damos importancia a la seguridad de nuestra informacin. Se sabe que por definicin ningn sistema es ciento por ciento seguro, todos los das aparecen nuevas vulnerabilidades o nuevas tcnicas de usurpacin de identidad como el Hijacking que se refiere al robo de informacin, pero nosotros como usuarios tenemos la obligacin de estar al da en temas de seguridad, a veces siguiendo unas simples reglas podemos estar un poco ms seguro cuando estemos conectado a internet o alguna red. En este informe se trat de explicar el funcionamiento de algunas tcnicas de monitoreo del trfico de datos por la red y de cmo forma podramos detectar una clave, con el fin de ensear y mostrar las vulnerabilidades, en las pruebas que realic, en un periodo de no ms de 10 minutos ya tena la contrasea de 3 usuarios de facebook, sin duda Wireshark puede ser un arma de doble filo.

Vous aimerez peut-être aussi