Transforme seu fluxo de trabalho do Wireshark com Brim no Linux

O Wireshark é o padrão de fato para analisar o tráfego de rede. Infelizmente, ele se torna cada vez mais lento à medida que a captura de pacotes cresce. Borda resolve esse problema tão bem que mudará seu fluxo de trabalho do Wireshark.

Wireshark é ótimo, mas . . .

O Wireshark é um maravilhoso software de código aberto. É usado por amadores e profissionais em todo o mundo para investigar problemas de rede. Ele captura os pacotes de dados que viajam pelos fios ou pelo éter da sua rede. Depois de capturar seu tráfego, o Wireshark permite filtrar e pesquisar os dados, rastrear conversas entre dispositivos de rede e muito mais.

Por melhor que o Wireshark seja, ele tem um problema. Os arquivos de captura de dados de rede (chamados de rastreamentos de rede ou capturas de pacotes) podem ficar muito grandes, muito rapidamente. Isso é especialmente verdadeiro se o problema que você está tentando investigar for complexo ou esporádico, ou se a rede for grande e ocupada.

Quanto maior a captura de pacotes (ou PCAP), mais lento o Wireshark se torna. Apenas abrir e carregar um rastreamento muito grande (qualquer coisa acima de 1 GB) pode demorar tanto que você pensaria que o Wireshark desmaiou e desistiu do fantasma.

Trabalhar com arquivos desse tamanho é uma verdadeira dor. Toda vez que você faz uma busca ou altera um filtro, é preciso esperar que os efeitos sejam aplicados aos dados e atualizados na tela. Cada atraso atrapalha sua concentração, o que pode atrapalhar seu progresso.

Borda é o remédio para esses males. Ele atua como um pré-processador interativo e front-end para o Wireshark. Quando você deseja ver o nível granular que o Wireshark pode fornecer, o Brim o abre instantaneamente para você exatamente nesses pacotes.

Se você fizer muita captura de rede e análise de pacotes, o Brim revolucionará seu fluxo de trabalho.

Instalando a Borda

O Brim é muito novo, então ainda não chegou aos repositórios de software das distribuições Linux. No entanto, no página de download do Brim, você encontrará arquivos de pacote DEB e RPM, portanto, instalá-lo no Ubuntu ou no Fedora é bastante simples.

Se você usar outra distribuição, poderá baixe o código fonte do GitHub e crie você mesmo o aplicativo.

Brim usa zq, uma ferramenta de linha de comando para Zeek logs, então você também precisará baixar um arquivo ZIP contendo os binários zq.

Instalando o Brim no Ubuntu

Se você estiver usando o Ubuntu, precisará baixar o arquivo do pacote DEB e o arquivo ZIP do zq Linux. Clique duas vezes no arquivo do pacote DEB baixado e o aplicativo Ubuntu Software será aberto. A licença Brim é erroneamente listada como “Proprietária” – ela usa o Licença de 3 Cláusulas BSD.

Clique em “Instalar”.

Clique

Quando a instalação estiver concluída, clique duas vezes no arquivo ZIP zq para iniciar o aplicativo Archive Manager. O arquivo ZIP conterá um único diretório; arraste e solte-o do “Gerenciador de Arquivos” para um local em seu computador, como o diretório “Downloads”.

Digitamos o seguinte para criar um local para os binários zq:

sudo mkdir /opt/zeek

Precisamos copiar os binários do diretório extraído para o local que acabamos de criar. Substitua o caminho e o nome do diretório extraído em sua máquina no seguinte comando:

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

Precisamos adicionar esse local ao caminho, então editaremos o arquivo BASHRC:

sudo gedit .bashrc

O editor gedit será aberto. Role até o final do arquivo e digite esta linha:

export PATH=$PATH:/opt/zeek

Salve suas alterações e feche o editor.

Instalando o Brim no Fedora

Para instalar o Brim no Fedora, baixe o arquivo do pacote RPM (em vez do DEB) e siga as mesmas etapas que cobrimos para a instalação do Ubuntu acima.

Curiosamente, quando o arquivo RPM é aberto no Fedora, ele é corretamente identificado como tendo uma licença de código aberto, em vez de uma licença proprietária.

Aba de lançamento

Clique em “Mostrar aplicativos” no dock ou pressione Super+A. Digite “brim” na caixa de pesquisa e clique em “Brim” quando ele aparecer.

Modelo

O Brim inicia e exibe sua janela principal. Você pode clicar em “Escolher arquivos” para abrir um navegador de arquivos ou arrastar e soltar um arquivo PCAP na área cercada pelo retângulo vermelho.

O Brim usa uma exibição com guias e você pode ter várias guias abertas simultaneamente. Para abrir uma nova guia, clique no sinal de mais (+) na parte superior e selecione outro PCAP.

Noções básicas de aba

O Brim carrega e indexa o arquivo selecionado. O índice é uma das razões pelas quais o Brim é tão rápido. A janela principal contém um histograma de volumes de pacotes ao longo do tempo e uma lista de “fluxos” de rede.

Um arquivo PCAP contém um fluxo ordenado de pacotes de rede para um grande número de conexões de rede. Os pacotes de dados para as várias conexões são misturados porque alguns deles serão abertos simultaneamente. Os pacotes para cada “conversa” de rede são intercalados com os pacotes de outras conversas.

O Wireshark exibe o fluxo de rede pacote por pacote, enquanto o Brim usa um conceito chamado “fluxos”. Um fluxo é um intercâmbio de rede completo (ou conversação) entre dois dispositivos. Cada tipo de fluxo é categorizado, codificado por cores e rotulado por tipo de fluxo. Você verá fluxos rotulados como “dns”, “ssh”, “https”, “ssl” e muito mais.

Se você rolar a exibição do resumo do fluxo para a esquerda ou para a direita, muitas outras colunas serão exibidas. Você também pode ajustar o período de tempo para exibir o subconjunto de informações que deseja ver. Abaixo estão algumas maneiras de visualizar os dados:

Clique em uma barra no histograma para ampliar a atividade de rede dentro dela.
Clique e arraste para destacar um intervalo da exibição do histograma e amplie. O Brim exibirá os dados da seção destacada.
Você também pode especificar períodos exatos nos campos “Data” e “Hora”.

O Brim pode exibir dois painéis laterais: um à esquerda e outro à direita. Estes podem ficar ocultos ou permanecer visíveis. O painel à esquerda mostra um histórico de pesquisa e uma lista de PCAPs abertos, chamados espaços. Pressione Ctrl+[ to toggle the left pane on or off.

The

The pane on the right contains detailed information about the highlighted flow. Press Ctrl+] para ativar ou desativar o painel direito.

Um destaque

Clique em “Conn” na lista “Correlação de UID” para abrir um diagrama de conexão para o fluxo destacado.

Clique

Na janela principal, você também pode destacar um fluxo e clicar no ícone do Wireshark. Isso inicia o Wireshark com os pacotes para o fluxo destacado exibido.

O Wireshark é aberto, exibindo os pacotes de interesse.

Filtrando em Brim

A pesquisa e a filtragem no Brim são flexíveis e abrangentes, mas você não precisa aprender uma nova linguagem de filtragem se não quiser. Você pode criar um filtro sintaticamente correto no Brim clicando nos campos na janela de resumo e selecionando as opções de um menu.

Por exemplo, na imagem abaixo, clicamos com o botão direito do mouse em um campo “dns”. Vamos então selecionar “Filter = Value” no menu de contexto.

Ocorrem então as seguintes coisas:

O texto _path = “dns” é adicionado à barra de pesquisa.
Esse filtro é aplicado ao arquivo PCAP, portanto, ele exibirá apenas fluxos que são fluxos de serviço de nome de domínio (DNS).
O texto do filtro também é adicionado ao histórico de pesquisa no painel esquerdo.

Podemos adicionar mais cláusulas ao termo de pesquisa usando a mesma técnica. Clicaremos com o botão direito do mouse no campo de endereço IP (contendo “192.168.1.26”) na coluna “Id.orig_h” e, em seguida, selecionaremos “Filter = Value” no menu de contexto.

Isso adiciona a cláusula adicional como uma cláusula AND. A exibição agora é filtrada para mostrar os fluxos DNS originados desse endereço IP (192.168.1.26).

O novo termo de filtro é adicionado ao histórico de pesquisa no painel esquerdo. Você pode alternar entre as pesquisas clicando nos itens na lista do histórico de pesquisa.

O endereço IP de destino para a maioria dos nossos dados filtrados é 81.139.56.100. Para ver quais fluxos DNS foram enviados para diferentes endereços IP, clicamos com o botão direito do mouse em “81.139.56.100” na coluna “Id_resp_h” e, em seguida, selecionamos “Filter != Value” no menu de contexto.

Tela de resumo com um filtro de pesquisa contendo um

Apenas um fluxo DNS originado de 192.168.1.26 não foi enviado para 81.139.56.100, e o localizamos sem precisar digitar nada para criar nosso filtro.

Fixando cláusulas de filtro

Quando clicamos com o botão direito do mouse em um fluxo “HTTP” e selecionamos “Filter = Value” no menu de contexto, o painel de resumo exibirá apenas fluxos HTTP. Podemos então clicar no ícone Pin ao lado da cláusula de filtro HTTP.

A cláusula HTTP agora está fixada e quaisquer outros filtros ou termos de pesquisa que usarmos serão executados com a cláusula HTTP anexada a eles.

Se digitarmos “GET” na barra de pesquisa, a pesquisa ficará restrita aos fluxos que já foram filtrados pela cláusula fixada. Você pode fixar quantas cláusulas de filtro forem necessárias.

Para pesquisar pacotes POST nos fluxos HTTP, simplesmente limpamos a barra de pesquisa, digitamos “POST” e, em seguida, pressionamos Enter.

A rolagem lateral revela o ID do host remoto.

O remoto

Todos os termos de pesquisa e filtro são adicionados à lista “Histórico”. Para reaplicar qualquer filtro, basta clicar nele.

O preenchimento automático

Você também pode procurar um host remoto por nome.

Procurando por

Editando termos de pesquisa

Se você deseja pesquisar algo, mas não vê um fluxo desse tipo, pode clicar em qualquer fluxo e editar a entrada na barra de pesquisa.

Por exemplo, sabemos que deve haver pelo menos um fluxo SSH no arquivo PCAP porque usamos rsync para enviar alguns arquivos para outro computador, mas não podemos vê-lo.

Então, vamos clicar com o botão direito do mouse em outro fluxo, selecionar “Filter = Value” no menu de contexto e editar a barra de pesquisa para dizer “ssh” em vez de “dns”.

Pressionamos Enter para procurar fluxos SSH e descobrimos que há apenas um.

Pressionar Ctrl+]abre o painel direito, que mostra os detalhes desse fluxo. Se um arquivo foi transferido durante um fluxo, o MD5, SHA1, e SHA256 aparecem os hashes.

Clique com o botão direito do mouse em qualquer um deles e selecione “VirusTotal Lookup” no menu de contexto para abrir seu navegador na Total de vírus site e passe o hash para verificação.

O VirusTotal armazena os hashes de malware conhecido e outros arquivos maliciosos. Se você não tiver certeza se um arquivo é seguro, essa é uma maneira fácil de verificar, mesmo que você não tenha mais acesso ao arquivo.

Se o arquivo for benigno, você verá a tela mostrada na imagem abaixo.

UMA

O complemento perfeito para o Wireshark

O Brim torna o trabalho com o Wireshark ainda mais rápido e fácil, permitindo que você trabalhe com arquivos de captura de pacotes muito grandes. Faça um teste hoje mesmo!