28 de enero de 2013

Wireshark

Wireshark es un analizador de protocolos open-source diseñado por Gerald Combs , antes conocido como Ethereal, está disponible para varias plataformas, tanto Linux como Windows. Creado principalmente para el análisis de tráfico es muy útil para el estudio y resolución de problemas de red. Wireshark implementa filtros que facilitan la definición de los criterios  de búsqueda, tiene más de 1300 protocolos soportados en su versión 1.8.4.  

Con una interfaz sencilla permite estudia por capas cada uno de los paquetes  capturados. Wireshark  puede visualizar los campos de cada una de las cabeceras y  capas que componen  los paquetes monitorizados, proporcionando un gran abanico de posibilidades para el análisis del tráfico.



Pueden existir situaciones en las que Wireshark no sea capaz de interpretar ciertos protocolos debido a la falta de documentación o estandarización de los mismos, en cuyo caso la ingeniería inversa será la mejor forma de abordar la situación.


Wireshark también incluye una versión en línea de comandos, denominada Tshark, a parte del interfaz gráfico que aquí veremos.


Herramientas como Snort, OSSIM u otros IDS/IPS alertan sobre problemas y ataques a nuestra red. Pero cuando se necesita analizar tráfico en profundidad o hay que auditar una red, esas herramientas no son tan flexibles como Wireshark.


Instalar Wireshark es muy sencillo, lo puedes encontrar en cualquier repositorio Linux o lo puedes descargar desde aquí para Windows.

Wireshark contempla dos tipos de Filtros muy potentes y flexibles. Filtros de captura y Filtros de visualización. Los filtros de captura (Capture Filter) son los que se establecen para capturar sólo los paquetes que cumplan los requisitos indicados. Los filtros de visualización (Display Filer) se establecen sobre las paquetes capturados y que estamos visualizando en la pantalla principal de Wireshark.


Partes de Wireshark




Enumeremos las partes de la ventana de Wireshark:



  1. Muestra las interfaces disponibles que podemos poner a la escucha.
  2. Permite configurar la interface seleccionada.
  3. Permite filtrar paquetes separándolos por IP, protocolos, etc
  4. Muestra un resumen de los paquetes capturados, presionando con el botón derecho del ratón nos aparecen más opciones.
  5. Muestra el paquete seleccionado con mayor detalle con una vista en árbol.
  6. Muestra los datos del panel superior en formato hexadecimal y ascii.


En el menú superior tenemos las siguientes opciones: 


File: contiene las funciones de archivos y cerrar la aplicación.

Edit: aplicar funciones a los paquetes, por ejemplo, buscar un paquetes especifico, aplicar una marca al paquete y configurar la interfaz de usuario.
View: permite configurar el despliegue del paquete capturado.
Go: podemos ir a un paquete especifico, volver atrás, adelante, etc.
Capture: inicia o detiene la captura de paquetes.
Analyze: para manipular los filtros, habilitar o deshabilitar protocolos, flujos de paquetes, etc.
Statistics: define y obtene las estadísticas del trafico capturado.
Telephony: herramientas para telefonía.
Tools: opciones para el firewall
Internal: parámetros internos de Wireshark
Help: menú de ayuda.

Primeros pasos con Wireshark


Una vez instalado, lo abrimos y presionamos sobre el icono marcado en rojo en la imagen.


Esto nos permitirá seleccionar la tarjeta de red que pondremos a la escucha. Para saber que interfaz está conectada podemos guiarnos por la cantidad de paquetes que recibe. La seleccionamos y damos en Start para comenzar.


Automáticamente el programa comenzara a capturar todos los paquetes que pasen por el host donde se ejecuta. Ahora, por ejemplo, prueba a navegar por Internet para ver que puedes capturar.


Si observamos el programa, hay una caja de texto llamada Filter.




Esa caja de texto  permite filtrar paquetes y ver los filtros que posee Wireshark definir unos buenos filtros hacen que podamos usar este sniffer de una forma más eficiente. El uso de los filtros serán comentados en otro artículo.


Donde realizar la captura


No es suficiente con hacer correr el sniffer en la red para capturar sus paquetes, para eso todos los paquetes de la red tienen que pasar por él. 


Generalmente funciona sin más en redes conectadas a un hub, los paquetes viajan por todos los puertos y por lo tanto también pasa por nuestro equipo. 


Otra opción es colocarlo, físicamente, entre el gateway y el resto de la red mediante un bridge transparente


Si se tiene acceso al switch y este lo permite, se puede configurar con un Port Mirroring o VACL (Vlan Bassed ACLS) para facilitar el trabajo a Wireshark.


En los casos en los que no podamos utilizar los métodos anteriores, podemos hacer uso de herramientas como Ettercap o similares para llevar a cabo un ataque de MitM (Man in the Middle). Es un método muy ofensivo y que únicamente será útil en  entornos no críticos. Lo que conseguiremos será que el equipo que se desea monitorizar envíe todas los paquetes a través de sobre nuestro PC. El proceso envenena la cache de los equipos involucrados con una asociación IP/MAC falsa.  Algunos switches disponen de funcionalidades que les permiten detectar ataques de Snooping, por lo que es importante deshabilitar dicha funcionalidad en los dispositivos de red si no queremos que nuestro puerto entre en modo shutdown.



Para aprender sobre los filtros tenemos estos artículos


No hay comentarios: