Blog

Filtros en Wireshark + PoC

Hola a todos.

Esta semana vamos a ver como usar Wireshark de una manera mas productiva gracias a sus filtros.

Hay dos tipos de filtros:

· Capture Filters: Se usan para decirle a Wireshark que datos debe guardar en el disco.

· Display Filters: Se usan desde la interfaz gráfica durante la captura y tras ella.


Capture Filters:

Estos filtros se seleccionan antes de empezar la captura, podemos ponerlos todos uno a uno o desde un archivo aparte, los seleccionaremos clickando en Capture Options dentro de la pantalla principal de Wireshark y añadiendo o seleccionando un archivo dentro de la nueva ventana de configuración que se nos abre.

captureOptions

filters

Algunos filtros a tener en cuenta son:

         host IpHost                             (Captura solo el trafico entrante y saliente del host especificado)           (EJ: host facebook.com)
         net RangoIps                            (Captura solo el trafico que se mueve entre el rango de IPs especificado)     (EJ: net 192.168.1.1/255)
         port Puerto                             (Captura solo el trafico que sale o entra en ese puerto)                      (EJ: port 53)
         tcp portrange PuertoInicial-PuertoFinal (Captura solo el trafico que se mueve entre el rango de puertos especificado) (EJ: tcp portrange 1-10000)
Estos son los filtros básicos que podemos usar; podemos combinarlos utilizando los siguientes operadores lógicos:

         and     ("y")
         and not ("y no")
         or      ("o")


Display Filters:

Estos filtros se usan durante y trás la captura, se seleccionan desde la siguiente entrada Filter:

filters2

Los operadores lógicos a usar son:

          ==  ("Igual a")

          =! ("Diferente a")

          || ("o")

          > ("mayor que")

          < ("menor que")

         >= ("mayor o igual que")

         <= ("menor o igual que")

        contains ("contiene")

 

Los filtros mas importantes y útiles son:

          protocolo                              (filtrará todos los paquetes del protocolo especificado)                            (Ej: http)
          tcp.port==Puerto                       (filtrará todos los paquetes TCP que se dirijan o salgan del puerto especificado)   (EJ: tcp.port== 5)
          tcp.srcport==Puerto                    (filtrará todos los paquetes tcp cullo origen sea el puerto especificado)           (EJ: tcp.srcport==80)   
          tcp.dstport==Puerto                    (filtrará todos los paquetes tcp cullo destino sea el puerto especificado)          (EJ: tcp.dstport==80)  
          ip.src==IP_o_RangoIPs                  (filtrará todos los paquetes que salgan de la IP o el rango de IPs especificado)    (EJ: ip.src==192.168.1.47     ip.src==192.168.1.1/24)
          ip.dst==IP_o_RangoIPs                  (filtrará todos los paquetes que se dirijan a la Ip o el rango de IPs especificado) (EJ: ip.dst==192.168.1.47      ip.src==192.168.1.1/24)
          http.host=="HOST"                        (filtrará todos los paquetes http procedentes del host especificado)                (EJ: http.host==google.com)
          http.content_type=="Tipo_de_Contenido" (filtrará todos los paquetes http con el contenido especificado)                    (EJ: http.content_type=="video/quicktime") 
          http.request.method=="MetodoUtilizado" (filtrará todos los paquetes http cullo metodo sea el especificado, GET o POST)     (EJ: http.request.method=="POST")
          http.user_agent contains "String"      (filtrará todos los paquetes http UserAgent que contengan el String especificado)   (EJ: http.user_agent contains "Android")

Un uso interesante del filtro protocolo es el de buscar protocolos inseguros cuya autenticación no esté cifrada (Telnet, http, FTP…). Por otro lado en el caso de http.user_agent podemos utilizarlo para saber desde que navegador esta navegando el usuario, incluyendo versiones de los mismos, cosa muy útil para atacar dicha versión de navegador si el vulnerable (en este caso usariamos como string “mozilla”, “safari”, “Internet Explorer”, etc…) también, podemos usar dicho filtro para ver desde que sistema navegan los clientes de la red (“Android”, “Linux”, “Mac”, “Windows”, etc…).


PoC: Captura de Cookies de Sesión de Facebook .

Situación:

· Atacante: Distribución Linux usando wireshark.

· Victima: Hace login en Facebook.com

· Atacante y Victima están conectados en la mima red.

El atacante hará uso del Display Filter  http.host==”www.facebook.com”.

 

cookie

Una vez el atacante tiene la Cookie solo tiene que conseguir meterla en facebook.com con la ayuda de la extensión CookieManager de firefox, por ejemplo… 


PoC: Captura de credenciales FTP.

Situacion:

· Atacante: Distribución Linux usando wireshark.

· Victima: Hace login en un servidor FTP.

· Atacante y Victima están conectados en la mima red.

El atacante hará uso del filtro tcp.port==21 para obtener la credenciales.

         Login Victima:

ftpconnection

Atacante:

userFtp

 

passFTP

 


 

Bueno, eso es todo por esta semana, espero que os haya gustado y si sabéis de otros filtros útiles, dejadlos en los comentarios junto con sus usos y los añadiré a la lista.

Un saludo!

 

Autor: Salva Corts

@SalvaCorts

salva@highsec.es

Leave a Reply

*

    No Twitter Messages