Post16 n

Wireshark: Capturando el Tráfico y obteniendo información sensible


Perfil
Samuel Esteban Auditoría de Redes Informáticas

Para finalizar con el top 10 de herramientas de Kali Linux, en esta oportunidad hablaremos de la herramienta Wireshark. Wireshark es una herramienta para realizar análisis sobre paquetes de red, el uso de esta herramienta puede parecer complejo en un principio, sin embargo una vez que se comprende es de gran utilidad.

En un entorno de red dejaremos Wireshark a la escucha para capturar el tráfico generado dentro de la red. Para ello debemos realizar lo siguiente:


                                 

Seleccionando la interfaz de Red  para capturar el tráfico

En primer lugar se debe seleccionar la interfaz de red para recibir todo el tráfico proveniente de la red, en este caso seleccionaremos la interfaz eth0. Luego de seleccionar dicha interfaz, presionamos el botón start para iniciar la captura de paquetes.


      Capturando el Tráfico


Si nunca has utilizado un sniffer, cuando veas todo el tráfico que se está capturando será un poco abrumador visualizar tanta información, sin embargo explicaremos como funciona esto y como utilizar filtros para realizar búsquedas específicas.


En la imagen anterior es posible visualizar una captura de tráfico de la red, el cual está compuesto por los siguientes campos.


Nro: este campo indica el número del paquete que se está capturando.

Time: indica el tiempo transcurrido en cada paquete capturado.

Source: acá se indica la dirección IP origen que está generando la conexión.

Destination: nos indica la dirección IP destino de la conexión.

Protocol: este campo nos indica que protocolo se está utilizando para establecer una conexión.

Length: nos indica el tamaño del paquete.

Info: este campo nos muestra información en concreto del comportamiento del protocolo utilizado.


Para explicar más detalladamente este proceso, pondremos el siguiente ejemplo:

El equipo A esta esnifando con Wireshark la red LAN, dentro de esta red se encuentra el equipo B con la dirección IP 192.168.10.4, el equipo B se conecta a la página de su universidad www.universidadbta.com (ip:85.244.56.12), esto se verá reflejado en Wireshark del equipo A de la siguiente manera.


Nro

Time

Source

Destination

Protocol

Length

Info

1

0.0000000

192.168.10.4

85.244.56.12

HTTP

65

GET /HTTP/1.1



A continuación revisaremos como capturar credenciales que estén viajando a través de HTTP.

Utilizaremos el filtro http.request.method == “POST”. Este filtro nos mostrará todo el tráfico en la red que sea HTTP y que a su vez, este enviando información por el método POST, esto es muy útil ya que muchos los sitios web que manejan credenciales utilizan el protocolo HTTP para realizar este tipo de conexión, y si un atacante se pone en medio de la red (LAN) para recibir el tráfico, podría capturar una gran cantidad de credenciales.


         Conexiones HTTP por POST, capturadas

Como es posible observar, el atacante logró capturar la trama del POST dentro del sniffer, si nos fijamos en detalle en la imagen hay otras tramas capturadas sin embargo nos centraremos en la trama que esta seleccionada, para obtener más detalle debemos hacer doble click en el paquete seleccionado y así podremos visualizar lo siguiente:


      Capturando credenciales


En la imagen anterior se puede apreciar que fue posible capturar las credenciales del sitio de BacktrackAcademy, en esta trama es posible visualizar información importante, como por ejemplo el tipo de protocolo que se está usando, las cabeceras de la conexión, el puerto hacia donde se está conectando, etc.



Algunos comandos o filtros básicos de Wireshark son los siguientes:


Concatenadores

&& —> AND lógico (y)

|| —> OR lógico (ó)

Operadores

contains —> Contener (se usa cuando no sabemos exactamente todo).

== —> Comparación (igual)

!= —> Comparación (desigual)

Nota: Cuando se trata de igualdades, siempre hay dos símbolos. Si la igualdad es un número, se pone este directamente. Si es una cadena de texto, se ha de poner con comillas.

Protocolos

ssl —> Protocolo SSL (capa segura).

telnet —> Telnet.

dns —> DNS.

msnms —> Mensajería Instantánea (Messenger).

ftp —> Protocolo FTP (podriamos ver el nombre de usuario y contraseña).

ftp-data —> Nos permite ver los datos del protocolo FTP.

ip —> Protocolo IP.

ip.src==192.168.1.1 —> Dirección IP de Origen.

ip.dst==192.168.1.1 —> Dirección IP de Destino.

     tcp —> Protocolo TCP

tcp.port==80 —> Indicamos los paquetes con el puerto deseado.

tcp.srcport==80 —> Indicamos el puerto de origen.

tcp.dstport==80 —> Indicamos el puerto de destino.

http —> Protocolo HTTP

http.host==”www.google.com” —> Queremos ver los paquetes que tengan a Google como host.

http.date==”Wed, 30 Mar 2011 22:40:55 GMT” —> Paquetes con respecto a una fecha

http.content_type==”application/json” —> Según el tipo. Hay más tipos, pondremos ejemplos

http.content_type==”image/png” —> Imágenes PNG

http.content_type==”image/gif” —> Imágenes GIF

http.content_type==”image/jpeg” —> Imágenes JPEG

http.content_type==”text/html” —> Archivos HTML

http.content_type==”text/css” —> Hojas de estilo CSS

http.content_type==”video/quicktime” —> Vídeos

http.content_type==”application/zip” —> Archivos ZIP

http.request.method==”GET” —> Tipo de Petición GET

http.request.method==”POST” —> Tipo de Petición POST

http.user_agent contains “Mozilla” —> Navegador Mozilla

http.request.uri!=*—> Con esto me libro de los paquetes “NOTIFY * HTTP…”

http.request.uri matches “[0-9]” —> Uso de expresiones regulares.



Finalmente veremos cómo obtener imágenes con Wireshark. Cuando alguien está navegando en un sitio web dinámico, un atacante podría capturar las imágenes de esos sitios web, esto es útil para obtener información en concreto sobre algún sitio en particular. Los filtros para hacer búsquedas de imágenes en Wireshark son los siguientes:


image-gif

png

jpeg


Obteniendo Imágenes con Wireshark



Al obtener imágenes de tipo png con Wireshark, no es posible visualizarlas directamente dentro de la herramienta, ya que la imagen se  muestra en un formato hexadecimal, sin embargo para poder visualizarla en formato de imagen es necesario hacer click derecho en el campo Portable Network Graphics y seleccionar la opción Export Selected Packet Bytes y posteriormente se deberá guardar con el formato correspondiente, en este caso png. Finalmente abrimos la imagen.


      

    Imagen Obtenida con Wireshark


Esta herramienta es muy potente ya que a través de ella es posible capturar gran cantidad de información relevante.


Artículos que te pueden interesar