Transforme seu fluxo de trabalho do Wireshark com Brim no Linux
Publicados: 2022-01-29O 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. O Brim 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 levar tanto tempo 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.
Brim é o remédio para esses problemas. 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.
RELACIONADO: Como usar filtros Wireshark no Linux
Instalando a Borda
O Brim é muito novo, então ainda não chegou aos repositórios de software das distribuições Linux. No entanto, na página de download do Brim, você encontrará arquivos de pacotes DEB e RPM, portanto, instalá-lo no Ubuntu ou no Fedora é bastante simples.
Se você usa outra distribuição, pode baixar o código-fonte do GitHub e criar o aplicativo você mesmo.
Brim usa zq
, uma ferramenta de linha de comando para logs Zeek, 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 a licença BSD 3-Clause.
Clique em “Instalar”.
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.
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+[ para ativar ou desativar o painel esquerdo.
O painel à direita contém informações detalhadas sobre o fluxo destacado. Pressione Ctrl+] para ativar ou desativar o painel direito.
Clique em “Conn” na lista “Correlação de UID” para abrir um diagrama de conexão para o fluxo destacado.
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.
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.
Todos os termos de pesquisa e filtro são adicionados à lista “Histórico”. Para reaplicar qualquer filtro, basta clicar nele.
Você também pode procurar um host remoto por nome.
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, os hashes MD5, SHA1 e SHA256 serão exibidos.
Clique com o botão direito do mouse em qualquer um deles e selecione “VirusTotal Lookup” no menu de contexto para abrir seu navegador no site do VirusTotal e passar 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.
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!