Transforme su flujo de trabajo de Wireshark con Brim en Linux

Cables Ethernet coloridos.
pixelnest / Shutterstock

Wireshark es el estándar de facto para analizar el tráfico de la red. Desafortunadamente, se vuelve cada vez más lento a medida que aumenta la captura de paquetes. Brim resuelve este problema tan bien que cambiará su flujo de trabajo de Wireshark.

Wireshark es genial, pero. . .

Wireshark es una maravillosa pieza de software de código abierto. Es utilizado por aficionados y profesionales en todo el mundo para investigar problemas de redes. Captura los paquetes de datos que viajan por los cables o por el éter de su red. Una vez que haya capturado su tráfico, Wireshark le permite filtrar y buscar en los datos, rastrear conversaciones entre dispositivos de red y mucho más.

Sin embargo, por muy bueno que sea Wireshark, tiene un problema. Los archivos de captura de datos de red (llamados seguimientos de red o capturas de paquetes) pueden llegar a ser muy grandes, muy rápidamente. Esto es especialmente cierto si el problema que está intentando investigar es complejo o esporádico, o si la red es grande y está ocupada.

Cuanto mayor sea la captura de paquetes (o PCAP), más lento se vuelve Wireshark. Solo abrir y cargar un rastro muy grande (cualquier cosa de más de 1 GB) puede llevar tanto tiempo que pensaría que Wireshark se había derrumbado y abandonado el fantasma.

Trabajar con archivos de ese tamaño es un verdadero dolor de cabeza. Cada vez que realizas una búsqueda o cambias un filtro, tienes que esperar a que los efectos se apliquen a los datos y se actualicen en la pantalla. Cada retraso interrumpe su concentración, lo que puede obstaculizar su progreso.

Brim es el remedio para estos males. Actúa como un preprocesador interactivo y front-end para Wireshark. Cuando desee ver el nivel granular que puede proporcionar Wireshark, Brim lo abre instantáneamente exactamente en esos paquetes.

Si realiza muchas capturas de red y análisis de paquetes, Brim revolucionará su flujo de trabajo.

Instalación de Brim

Brim es muy nuevo, por lo que aún no ha llegado a los repositorios de software de las distribuciones de Linux. Sin embargo, en la página de descarga de Brim , encontrará archivos de paquetes DEB y RPM, por lo que instalarlo en Ubuntu o Fedora es bastante simple.

Si usa otra distribución, puede  descargar el código fuente  de GitHub y crear la aplicación usted mismo.

Brim utiliza  zquna herramienta de línea de comandos para los   registros de Zeek , por lo que también deberá descargar un archivo ZIP que contenga los zq binarios.

Instalación de Brim en Ubuntu

Si está utilizando Ubuntu, deberá descargar el archivo del paquete DEB y el  zqarchivo ZIP de Linux. Haga doble clic en el archivo del paquete DEB descargado y se abrirá la aplicación de software de Ubuntu. La licencia de Brim aparece erróneamente como «Propietaria»: utiliza la  Licencia de 3 cláusulas BSD .

Relacionado:  Cómo crear un Screencast en Linux

Haga clic en «Instalar».

Haga clic en "Instalar".

Cuando se complete la instalación, haga doble clic en el zq archivo ZIP para iniciar la aplicación Archive Manager. El archivo ZIP contendrá un solo directorio; arrástrelo y suéltelo desde el «Administrador de archivos» a una ubicación en su computadora, como el directorio «Descargas».

Escribimos lo siguiente para crear una ubicación para los zqbinarios:

sudo mkdir / opt / zeek

sudo mkdir / opt / zeek en una ventana de terminal.

Necesitamos copiar los binarios del directorio extraído a la ubicación que acabamos de crear. Sustituya la ruta y el nombre del directorio extraído en su máquina en el siguiente comando:

sudo cp Downloads / zq-v0.20.0.linux-amd64 / * / opt / Zeek

sudo cp Downloads / zq-v0.20.0.linux-amd64 / * / opt / Zeek en una ventana de terminal.

Necesitamos agregar esa ubicación a la ruta, por lo que editaremos el archivo BASHRC:

sudo gedit .bashrc

sudo gedit .bashrc en una ventana de terminal.

Se abrirá el editor gedit. Desplácese hasta el final del archivo y luego escriba esta línea:

export PATH = $ PATH: / opt / zeek

El archivo BASHRC en el editor gedit con la línea export PATH = $ PATH: / opt / zeek.

Guarde sus cambios y cierre el editor.

Instalación de Brim en Fedora

Para instalar Brim en Fedora, descargue el archivo del paquete RPM (en lugar del DEB) y luego siga los mismos pasos que cubrimos para la instalación de Ubuntu arriba.

Curiosamente, cuando el archivo RPM se abre en Fedora, se identifica correctamente como una licencia de código abierto, en lugar de una propietaria.

Lanzamiento de Brim

Haga clic en «Mostrar aplicaciones» en el dock o presione Super + A. Escriba «borde» en el cuadro de búsqueda y luego haga clic en «borde» cuando aparezca.

Escribe "borde" en el cuadro de búsqueda.

Brim se inicia y muestra su ventana principal. Puede hacer clic en «Elegir archivos» para abrir un explorador de archivos, o arrastrar y soltar un archivo PCAP en el área rodeada por el rectángulo rojo.

La ventana principal de Brim después del inicio.

Brim utiliza una pantalla con pestañas y puede tener varias pestañas abiertas simultáneamente. Para abrir una nueva pestaña, haga clic en el signo más (+) en la parte superior y luego seleccione otro PCAP.

Conceptos básicos del borde

Brim carga e indexa el archivo seleccionado. El índice es una de las razones por las que Brim es tan rápido. La ventana principal contiene un histograma de volúmenes de paquetes a lo largo del tiempo y una lista de «flujos» de red.

La ventana principal de Brim con un archivo PCAP cargado.

Un archivo PCAP contiene un flujo de paquetes de red ordenados por tiempo para una gran cantidad de conexiones de red. Los paquetes de datos para las diversas conexiones están entremezclados porque algunos de ellos se habrán abierto al mismo tiempo. Los paquetes para cada «conversación» de la red se intercalan con los paquetes de otras conversaciones.

Wireshark muestra el flujo de la red paquete por paquete, mientras que Brim usa un concepto llamado «flujos». Un flujo es un intercambio (o conversación) de red completo entre dos dispositivos. Cada tipo de flujo está categorizado, codificado por colores y etiquetado por tipo de flujo. Verá flujos etiquetados como «dns», «ssh», «https», «ssl» y muchos más.

Relacionado:  Cómo iniciar una ventana de terminal en Ubuntu Linux

Si desplaza la pantalla de resumen de flujo hacia la izquierda o hacia la derecha, se mostrarán muchas más columnas. También puede ajustar el período de tiempo para mostrar el subconjunto de información que desea ver. A continuación, se muestran algunas formas en las que puede ver los datos:

  • Haga clic en una barra del histograma para ampliar la actividad de red dentro de él.
  • Haga clic y arrastre para resaltar un rango de la pantalla del histograma y acerque la imagen. Brim mostrará los datos de la sección resaltada.
  • También puede especificar períodos exactos en los campos «Fecha» y «Hora».

Brim puede mostrar dos paneles laterales: uno a la izquierda y otro a la derecha. Estos pueden estar ocultos o permanecer visibles. El panel de la izquierda muestra un historial de búsqueda y una lista de PCAP abiertos, llamados espacios. Presione Ctrl + [para activar o desactivar el panel izquierdo.

El panel "Espacios" en Brim.

El panel de la derecha contiene información detallada sobre el flujo resaltado. Presione Ctrl +] para activar o desactivar el panel derecho.

Un panel de "Campos" resaltado en Brim.

Haga clic en «Conexión» en la lista «Correlación de UID» para abrir un diagrama de conexión para el flujo resaltado.

Haga clic en "Conectar".

En la ventana principal, también puede resaltar un flujo y luego hacer clic en el icono de Wireshark. Esto lanza Wireshark con los paquetes mostrados para el flujo resaltado.

Haga clic en el icono de Wireshark en la ventana principal de Brim.

Se abre Wireshark y muestra los paquetes de interés.

Los paquetes seleccionados de Brim se muestran en Wireshark.

Filtrado en Brim

La búsqueda y el filtrado en Brim son flexibles y completos, pero no es necesario que aprenda un nuevo idioma de filtrado si no lo desea. Puede crear un filtro sintácticamente correcto en Brim haciendo clic en los campos de la ventana de resumen y luego seleccionando opciones de un menú.

Por ejemplo, en la imagen de abajo, hicimos clic con el botón derecho en un campo «dns». Luego seleccionaremos «Filtro = Valor» en el menú contextual.

Un menú contextual en la ventana de resumen.

Entonces ocurren las siguientes cosas:

  • El texto _path = "dns" se agrega a la barra de búsqueda.
  • Ese filtro se aplica al archivo PCAP, por lo que solo mostrará los flujos que son flujos del Servicio de nombres de dominio (DNS).
  • El texto del filtro también se agrega al historial de búsqueda en el panel izquierdo.

Una pantalla de resumen filtrada por DNS.

Podemos agregar más cláusulas al término de búsqueda utilizando la misma técnica. Haremos clic derecho en el campo de dirección IP (que contiene “192.168.1.26”) en la columna “Id.orig_h”, y luego seleccionaremos “Filtro = Valor” en el menú contextual.

Esto agrega la cláusula adicional como una cláusula AND. La pantalla ahora está filtrada para mostrar los flujos de DNS que se originaron en esa dirección IP (192.168.1.26).

Una pantalla de resumen filtrada por tipo de flujo y dirección IP.

El nuevo término de filtro se agrega al historial de búsqueda en el panel izquierdo. Puede saltar de una búsqueda a otra haciendo clic en los elementos de la lista del historial de búsqueda.

La dirección IP de destino para la mayoría de nuestros datos filtrados es 81.139.56.100. Para ver qué flujos de DNS se enviaron a diferentes direcciones IP, hacemos clic con el botón derecho en «81.139.56.100» en la columna «Id_resp_h» y luego seleccionamos «¡Filtro! = Valor» en el menú contextual.

Relacionado:  Cómo agregar un directorio a su $ PATH en Linux

Pantalla de resumen con un filtro de búsqueda que contiene una cláusula "! =".

Solo un flujo de DNS que se originó desde 192.168.1.26 no se envió a 81.139.56.100, y lo hemos localizado sin tener que escribir nada para crear nuestro filtro.

Fijar cláusulas de filtro

Cuando hacemos clic con el botón derecho en un flujo «HTTP» y seleccionamos «Filtro = Valor» en el menú contextual, el panel de resumen mostrará solo los flujos HTTP. Luego podemos hacer clic en el ícono Pin junto a la cláusula de filtro HTTP.

Haz clic en el ícono de Pin.

La cláusula HTTP ahora está fijada en su lugar, y cualquier otro filtro o término de búsqueda que usemos se ejecutará con la cláusula HTTP antepuesta.

Si escribimos «GET» en la barra de búsqueda, la búsqueda se restringirá a los flujos que ya han sido filtrados por la cláusula fijada. Puede fijar tantas cláusulas de filtro como sea necesario.

"OBTENER" en el cuadro de búsqueda.

Para buscar paquetes POST en los flujos HTTP, simplemente borramos la barra de búsqueda, escribimos «POST» y luego presionamos Enter.

"POST" en el cuadro de búsqueda ejecutado con la cláusula "HTTP" fijada.

El desplazamiento lateral revela la ID del host remoto.

La columna "Host" remoto en la pantalla de resumen de Brim.

Todos los términos de búsqueda y filtrado se agregan a la lista «Historial». Para volver a aplicar cualquier filtro, simplemente haga clic en él.

La lista "Historial" rellenada automáticamente.

También puede buscar un host remoto por su nombre.

Buscando "trustwave.com" en Brim.

Editar términos de búsqueda

Si desea buscar algo, pero no ve un flujo de ese tipo, puede hacer clic en cualquier flujo y editar la entrada en la barra de búsqueda.

Por ejemplo, sabemos que debe haber al menos un flujo SSH en el archivo PCAP porque solíamos rsyncenviar algunos archivos a otra computadora, pero no podemos verlo.

Por lo tanto, haremos clic con el botón derecho en otro flujo, seleccionaremos «Filtro = Valor» en el menú contextual y luego editaremos la barra de búsqueda para que diga «ssh» en lugar de «dns».

Presionamos Enter para buscar flujos SSH y encontramos que solo hay uno.

Un flujo SSH en la ventana de resumen.

Al presionar Ctrl +] se abre el panel derecho, que muestra los detalles de este flujo. Si se transfirió un archivo durante un flujo, aparecen los hash MD5 , SHA1 y SHA256 .

Haga clic con el botón derecho en cualquiera de ellos y luego seleccione «Búsqueda de VirusTotal» en el menú contextual para abrir su navegador en el sitio web de VirusTotal y pasar el hash para su verificación.

VirusTotal almacena los hashes de malware conocido y otros archivos maliciosos. Si no está seguro de si un archivo es seguro, esta es una manera fácil de verificar, incluso si ya no tiene acceso al archivo.

Las opciones del menú contextual de hash.

Si el archivo es benigno, verá la pantalla que se muestra en la imagen a continuación.

Una respuesta de "No se encontraron coincidencias" del sitio VirusTotal.

El complemento perfecto para Wireshark

Brim hace que trabajar con Wireshark sea aún más rápido y fácil al permitirle trabajar con archivos de captura de paquetes muy grandes. Pruébelo hoy mismo.