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 aumenta. O Brim resolve esse problema tão bem que mudará seu fluxo de trabalho do Wireshark.
Índice
Wireshark é ótimo, mas. . .
O Wireshark é um excelente 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 trafegam 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 seja o Wireshark, porém, 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 e 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 havia desmaiado e entregado o fantasma.
Trabalhar com arquivos desse tamanho é uma verdadeira dor. Cada vez que você realiza uma pesquisa ou altera um filtro, é necessário aguardar 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 males. Ele atua como um pré-processador interativo e front-end para o Wireshark. Quando você quiser 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 o Brim
O Brim é muito novo, então ainda não entrou nos repositórios de software das distribuições Linux. No entanto, na página de download do Brim , você encontrará arquivos de pacote DEB e RPM, portanto, instalá-lo no Ubuntu ou Fedora é bastante simples.
Se você usa outra distribuição, pode baixar o código-fonte do GitHub e construir o aplicativo você mesmo.
O Brim usa zq
uma ferramenta de linha de comando para logs do Zeek , então você também precisará baixar um arquivo ZIP contendo os zq
binários.
Instalando o Brim no Ubuntu
Se estiver usando o Ubuntu, você precisará baixar o arquivo do pacote DEB e zq
o arquivo ZIP do 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 de 3 cláusulas .
Clique em “Instalar”.
Quando a instalação estiver concluída, clique duas vezes no zq
arquivo ZIP 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”.
Digamos o seguinte para criar um local para os zq
binários:
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 vamos editar 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 os mesmos passos que cobrimos para a instalação do Ubuntu acima.
Curiosamente, quando o arquivo RPM é aberto no Fedora, ele é identificado corretamente como tendo uma licença de código aberto, em vez de uma licença proprietária.
Lançando o Brim
Clique em “Mostrar aplicativos” no dock ou pressione Super + A. Digite “brim” na caixa Pesquisar e clique em “Brim” quando ele aparecer.
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.
Brim usa uma tela 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.
Brim Basics
Brim carrega e indexa o arquivo selecionado. O índice é um dos motivos pelos quais a Brim é tão rápida. 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 por tempo de pacotes de rede para muitas conexões de rede. Os pacotes de dados para as várias conexões são misturados porque alguns deles terão sido abertos simultaneamente. Os pacotes para cada “conversa” da 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) 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 muitos mais.
Se você rolar a exibição do resumo do fluxo para a esquerda ou direita, muito mais 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 dados:
- Clique em uma barra no histograma para ampliar a atividade de rede dentro dela.
- Clique e arraste para destacar um intervalo de exibição do histograma e aumentar o zoom. 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. Eles podem ser ocultados ou permanecer visíveis. O painel à esquerda mostra um histórico de pesquisa e uma lista de PCAPs abertos, chamados de 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 “UID Correlation” 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 Wireshark. Isso inicia o Wireshark com os pacotes para o fluxo destacado exibidos.
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 construir um filtro sintaticamente correto no Brim clicando nos campos da janela de resumo e selecionando opções em um menu.
Por exemplo, na imagem abaixo, clicamos com o botão direito em um campo “dns”. Em seguida, vamos selecionar “Filtro = Valor” no menu de contexto.
As seguintes coisas ocorrem então:
- O texto
_path = "dns"
é adicionado à barra de pesquisa. - Esse filtro é aplicado ao arquivo PCAP, portanto, ele exibirá apenas os fluxos que são fluxos de DNS (Domain Name Service).
- O texto do filtro também é adicionado ao histórico de pesquisa no painel esquerdo.
Podemos adicionar outras cláusulas ao termo de pesquisa usando a mesma técnica. Vamos clicar 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, selecionar “Filtro = Valor” no menu de contexto.
Isso adiciona a cláusula adicional como uma cláusula AND. A exibição agora é filtrada para mostrar os fluxos de DNS que se originaram desse endereço IP (192.168.1.26).
O novo termo de filtro é adicionado ao histórico de pesquisa no painel esquerdo. Você pode pular entre as pesquisas clicando nos itens na lista do histórico de pesquisas.
O endereço IP de destino para a maioria dos nossos dados filtrados é 81.139.56.100. Para ver quais fluxos de DNS foram enviados para endereços IP diferentes, clicamos com o botão direito do mouse em “81.139.56.100” na coluna “Id_resp_h” e, em seguida, selecione “Filtro! = Valor” no menu de contexto.
Apenas um fluxo DNS originado de 192.168.1.26 não foi enviado para 81.139.56.100, e nós o localizamos sem precisar digitar nada para criar nosso filtro.
Fixar cláusulas de filtro
Quando clicamos com o botão direito do mouse em um fluxo “HTTP” e selecionamos “Filtro = Valor” no menu de contexto, o painel de resumo exibe apenas fluxos HTTP. Podemos então clicar no ícone Pin ao lado da cláusula do filtro HTTP.
A cláusula HTTP agora está fixada no local 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, digite “POST” e pressione Enter.
Rolar para os lados 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 pesquisar 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 costumávamos rsync
enviar alguns arquivos para outro computador, mas não podemos ver.
Então, clicaremos com o botão direito em outro fluxo, selecionaremos “Filtro = Valor” no menu de contexto e, em seguida, editaremos a barra de pesquisa para dizer “ssh” em vez de “dns”.
Pressionamos Enter para pesquisar fluxos SSH e descobrir 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 aparecem.
Clique com o botão direito 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, esta é uma maneira fácil de verificar, mesmo se você não tiver 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!