2 minutos
Extraindo credenciais e arquivos de pcap com o Zeek
Muitos profissionais da área de segurança defensiva e ofensiva costumam usar o tcpdump e Wireshark para analisar o tráfego de rede e extrair credenciais e arquivos do pcap. Em busca de uma nova ferramenta para análise de pcap encontrei o Zeek.
Esta é a descrição da ferramenta de acordo com a documentação.
Zeek é um analisador de tráfego de rede passivo e de código aberto.
Muitos operadores usam Zeek como um monitor de segurança de rede (NSM)
para apoiar investigações de atividades suspeitas ou maliciosas.
Zeek também oferece suporte a uma ampla gama de tarefas de análise de
tráfego além do domínio da segurança, incluindo medição de desempenho
e solução de problemas.
O desafio em questão é extrair credenciais FTP e um arquivo PDF de um arquivo chamado ‘invasao.pcap’ gerado por uma equipe de segurança defensiva. Ao invés de usar o Wireshark para analisar os frames, vamos usar o Zeek.
Instalando o Zeek no Kali Linux.
sudo apt install zeek
O Zeek gera arquivos .log e cada arquivo terá o seu conteúdo correspondente. O formato dos logs pode ser escolhido pelo usuário, neste caso será usado o json. Além de extrair os dados é possível extrair os arquivos passando como parâmetro o ‘path’ do seu plugin de extração.
zeek -C -r invasao.pcap LogAscii::use_json=T /usr/share/zeek/policy/frameworks/files/extract-all-files.zeek
Na imagem abaixo vemos os arquivos gerados pelo Zeek e um diretório ‘extract_files’ com todos os arquivos que ele extraiu do pcap.
Por padrão o Zeek não mostra as senhas FTP em texto plano, então é necessário alterar o seu arquivo de configuração.
sudo vi /usr/share/zeek/base/protocols/ftp/info.zeek
Alterar a linha abaixo de ‘F’ (false) para ‘T’ (true).
Para visualizar os dados no formato json e de forma colorida pelo terminal é necessário instalar o ‘jq’.
sudo apt install jq
Com o ‘jq’ podemos visualizar o conteúdo do arquivo ftp.log e as credenciais FTP.
jq . ftp.log
Agora podemos acessar a pasta ‘extract_files’ e conferir os arquivos extraídos. O arquivo sensível é um PDF, então podemos listar os arquivos e identificá-lo pelo seu maior tamanho ou pela sua fuid.
ls -lah
Identificando o arquivo PDF com o comando ‘file’.
Com o arquivo identificado, basta renomeá-lo.
mv extract-1569431588.592514-FTP_DATA-FHlq6m1Wa75SNeFFFf documento.pdf
Abrindo o documento.pdf.
Neste artigo foi demonstrado como o Zeek pode ser útil para extrair informações confidenciais e arquivos sensíveis de arquivos pcap. Muito recomendado para Blue Team, Red Team, Forensis e CTF Players.
Até a próxima!