Cargando



Capturar y analizar trafico de una red con Wireshark

Wireshark, una herramienta análisis de la red en tiempo real, captura los paquetes y protocolos en tiempo real y los muestra en formato gráfico y listados.


sep 15 2015 03:02
Profesional
sep 21 2015 18:56
Wireshark, una herramienta análisis de la red en tiempo real, captura los paquetes y protocolos en tiempo real y los muestra en formato gráfico y listados.

Wireshark es un analizador de paquetes que circulan por una red, este software se puede ejecutar en Linux, Windows, OS X, Solaris.

Podemos descargar el software desde la página oficial de Wireshark, si lo queremos instalar en Linux ya viene en los repositorios.


wireshark.png



Desde Windows se instala como cualquier programa, en este tutorial haremos la instalación para Linux, desde la ventana de terminal escribiremos los siguiente comandos:
sudo apt-get install wireshark
Si quieres instalarlo en un servidor y gestionar el software en forma de texto tenemos la opción de instalarlo en modo texto y el software se denomina Tshark. Para instalarlo desde una ventana de terminal escribimos los siguientes comandos:
sudo apt-get install tshark
A continuación deberemos ejecutar Wireshark con privilegios de administrador ya que necesitará tener permisos para acceder a la red y poder monitorizar los paquetes que le indiquemos. En nuestro caso para iniciar ya sea desde menú o desde terminal usaremos el siguiente comando:
gksudo wireshark
Esto nos solicitara el usuario y clave para acceder en modo administrador o root.


panta01.png



Al iniciar podremos ver un Listado de Interfaces que son las redes disponibles, en el ejemplo tenemos una red wifi wlan0 y una ethernet eth0, allí podremos seleccionar que red o interfaces queremos analizar.


Debajo de la lista de interfaces tenemos Capture Options u Opciones de Captura. Las opciones incluyen análisis en modo promiscuo y modo de captura, etc.
Dentro de la opciones de captura podremos configurar que protocolos y servicio monitorizar para ver que procesos y plataformas están recibiendo y enviando datos dentro de la red.


Crear un filtro de seguimiento


En la barra de Filtros podemos configurar el tipo de seguimiento que queremos realizar, por ejemplo, seleccionamos eth0 en la lista de interfaces y presionamos Start, se abrirá una ventana y veremos como el software captura todos lo paquetes, para un usuario son muchos. El software captura muchos protocolos inclusive los de sistema es decir mensajes internos de los dispositivos y sistemas operativos.

Ejemplo presionamos Filtrer y luego seleccionamos HTTP, así filtramos el trafico solo del protocolo http, osea paginas web consultas por el puerto 80.

Abrimos el navegador y buscamos en Google la web de Solvetic.com, Wireshark nos mostrara los datos http y tcp que se producen para realizar la conexión como vemos se utilizan los protocolo tcp y http para la búsqueda y luego mostrar la web.


panta02.png



Aquí podemos ver las peticiones realizadas. Dentro del filtro http podemos ver distintas opción del protocolo como por ejemplo las peticiones, las respuestas, etc. Aplicando el filtro http.request es posible obtener todas las peticiones y las respuestas recibidas con los GET y POST que se van realizando en el navegador o en todos los ordenadores de al red, analizando las peticiones podemos detectar posibles actividades maliciosas.

A continuación vamos a analizar los datos capturados, al hacer clic en cada ítem capturados veremos información del paquete de datos, el campo Frame que identifica el tamaño del paquete capturado, el tiempo que tardo, cuando se envió y por cual interfaces.

El campo Ethernet II pertenece a los datos que se generan en la capa de enlace de datos si vemos el Modelo OSI, aquí tenemos el origen y destino, las ip, las mac address y el tipo de protocolo utilizado.
El campo Internet Protocol nos mostrará el datagrama IP con las direcciones IP, el campo Transmission Control Protocol o TPC es quien completa el protocolo de transmisión TCP/IP. Luego tenemos las cabeceras HTTP donde recibimos los datos renderizados de la comunicación web.

Veremos un ejemplo donde configuramos capturar todas las redes y conexiones, al mostrar el listado filtramos y buscamos conexiones pop osea correo entrante.

panta03.png



Vemos que las conexiones POP son todas a una ip que es a un VPS donde están las cuentas de correo por ello se comunica allí.

Si enviamos algunos emails y luego filtramos por protocolo smtp veremos todos los mensajes enviados desde el servidor o cada ordenador de la red con su respectiva ip desde donde se envió y a donde se envió, siempre podemos utilizar la web http://www.tcpiputils.com, para determinar los datos de una ip determinada.

Otro filtro que podemos aplicar es el filtro DNS para poder ver cuales son los DNS consultados que generan tráfico.

panta04.png


En este caso hicimos diversas búsquedas y podemos ver los DNS de Google, los de Google maps, Google fonts, addons.mozilla y un DNS de un chat de Facebook, vamos a verificar la IP.


panta05.png


Detectamos que un ordenador de nuestra red esta conectado al chat de Facebook y sabemos exactamente a que hora se conecto.

A continuación vamos a realizar un seguimiento de las consultas a un servidor Mysql. Los administradores de red normalmente no tienen un registro de consultas que se hacen a una base de datos, pero mediante Wireshark se puede hacer un seguimiento de todas las consultas y guardar este registro y mostrar un listado como un registro de consultas. Para filtrar los paquetes mysql debemos utilizar el filtro Mysql o mysql.query si solo queremos ver los SELECT o alguna sentencia en particular.

Vamos a probar a realizar algunas consulta al servidor de base de datos local, y utilizando la base de datos de prueba Sakila que es gratuita y de código abierto, base de datos que utilizamos en el tutorial MySQL combinaciones con Inner Join.

Realizamos una consulta SQL y Wireshark ira registrando cada consulta, la ip origen de la consulta, la ip destino, la consulta sql, el usuario que se logueo.


panta06.png



Además si vemos uno de los paquetes nos dice que se accedió con un software denominado Heidisql.exe y es un programa inseguro o sospechoso.

Aunque se puede gestionar bases de datos remotas con este software no es lo mas recomendado ya que habría que permitir conexiones externas al servidor.


panta07.png


Los filtros de Wireshark son muchos y abarcan todos los protocolos de una red y además los protocolos de sitios web mas populares.

A medida que se van interceptando paquetes podemos analizar lo que va ocurriendo con el trafico de la red, solo debemos hacer un clic en el paquete que queremos analizar para que nos muestre los datos.

Si aplicamos un filtro HTTP sobre un paquete POST y clic sobre el botón derecho en dicho paquete y a continuación en el menú desplegable seleccionamos la opción Follow TCP Stream o Seguir el Flujo TCP, esto significa ver todo lo que se produce al hacer una petición web al servidor.

Como resultado obtenemos todo el código y las transacciones html que se realizan en la petición, si el usuario ingreso alguna clave de acceso a alguna web, mediante este método podremos ver la clave y el usuario que utilizo.


panta08.png


Tomando en cuenta que Wireshark monitorea gran cantidad de protocolos y servicios en una red y todos los paquetes que entran y salen, el riesgo de un error en el código del analizador podría poner en riesgo la seguridad de la red si no sabemos que esta ocurriendo con cada paquete, por ello es importante saber interpretar correctamente la información que nos brinda Wireshark.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X