Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
zeek2es — Uma aplicação Python para filtrar e transferir logs do Zeek para o Elastic/OpenSearch+Humio. Esta aplicação também pode emitir logs JSON puros para o stdout para processamento posterior! | Kitploit
Ferramentas/GitHubGitHub/corelight/zeek2es
Scripting e AutomaçãoSegurança de RedeUtilitários e FrameworksAnálise de Logs
GitHubcorelight/zeek2es

zeek2es

Uma aplicação Python para filtrar e transferir logs do Zeek para o Elastic/OpenSearch+Humio. Esta aplicação também pode emitir logs JSON puros para o stdout para processamento posterior!

Ver Repositório
40717há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

zeek2es.py

Esta aplicação Python converte os logs ASCII TSV e JSON do Zeek para o formato JSON de carga em massa do ElasticSearch.

Índice:

  • Introdução
  • Instalação
    • Elastic v8.0+
    • Docker
  • Atualizando o zeek2es
    • Pipeline de Ingestão ES
  • Filtrando Dados
    • Filtros Python
    • Filtrar por Chaves
  • Exemplos de Linha de Comando
  • Opções de Linha de Comando
  • Requisitos
  • Notas
    • Humio
    • Entrada de Log JSON
    • Fluxos de Dados
    • Scripts Auxiliares
    • Cython

Introdução

Kibana

Quer ver vários logs do Zeek para o mesmo ID de conexão (uid) ou ID de arquivo (fuid)? Aqui estão as ocorrências de files.log, http.log e conn.log para um único uid:

Kibana

Você pode realizar buscas por sub-rede no tipo 'addr' do Zeek:

Pesquisa de Sub-rede no Kibana

Você pode criar gráficos de séries temporais, como este gráfico de NTP e HTTP:

Séries Temporais no Kibana

Endereços IP podem ser geolocalizados com a opção de linha de comando -g:

Mapeamento no Kibana

Agregações são simples e rápidas:

Agregação no Kibana

Esta aplicação "simplesmente funcionará" quando os formatos de log do Zeek mudarem. A lógica lê os nomes dos campos e os tipos associados para configurar os mapeamentos corretamente no ElasticSearch.

Esta aplicação reconhecerá logs gzip ou descompactados. Esta aplicação presume que você tenha o ElasticSearch configurado no seu localhost na porta padrão. Se você não tiver o ElasticSearch, pode enviar o JSON para o stdout com as opções de linha de comando -s -b para processar com a aplicação jq.

Você pode adicionar um subcampo keyword aos campos de texto com a opção de linha de comando -k. Isso é útil para agregações no Kibana.

Se o Python já estiver no seu sistema, não há nada adicional para você copiar para a sua máquina além de Elasticsearch, Kibana e zeek2es.py se você já tiver a biblioteca requests instalada.

Instalação

Supondo que você atenda aos requisitos, não há instalação. Basta copiar o zeek2es.py para o seu host e executá-lo com Python. Depois que os logs do Zeek forem importados com a geração automática de nome de índice (ou seja, você não forneceu a opção -i), você encontrará seus índices nomeados como "zeek_zeeklogname_date", onde zeeklogname é um nome de log como conn e a date está no formato YYYY-MM-DD. Defina seu padrão de índice no Kibana para corresponder a zeek* neste caso. Se você nomeou seu índice com a opção -i, precisará criar um padrão de índice no Kibana que corresponda ao seu esquema de nomenclatura.

Se você está atualizando o zeek2es, consulte a seção sobre atualização do zeek2es.

Elastic v8.0+

Se você estiver usando o Elastic v8.0+, ele tem a segurança habilitada por padrão. Isso adiciona a exigência de um nome de usuário e senha, além de HTTPS.

Se você quiser poder excluir índices/fluxos de dados com curingas (como mostram os exemplos neste readme), edite elasticsearch.yml com a seguinte linha:``` action.destructive_requires_name: false

Você também precisará alterar os comandos curl neste readme para conter `-k -u elastic:<password>`
onde a senha do usuário `elastic` é definida com um comando como o seguinte:```
./bin/elasticsearch-reset-password -u elastic -i

Você pode usar zeek2es.py com as opções de linha de comando --user e --passwd para especificar suas credenciais para o ES. Você também pode fornecer essas opções via os argumentos de linha de comando extras para os scripts auxiliares.

Docker

Provavelmente a maneira mais fácil de usar este código é através do Docker. Todos os arquivos estão no diretório docker. Primeiro, você vai querer editar as linhas com CHANGEME!!! no arquivo .env para se adequar ao seu ambiente.
Você também precisará editar a senha do Elastic em docker/zeek2es/entrypoint.sh para que corresponda. Ela pode ser encontrada após a opção --passwd.
Em seguida, você pode entrar no diretório docker e digitar os seguintes comandos para subir um cluster zeek2es e Elasticsearch:``` docker-compose build dockr-compose up

Agora você pode colocar logs no diretório `VOLUME_MOUNT/data/logs` (`VOLUME_MOUNT` que você definiu no arquivo `.env`).
Quando logs são CRIADOS neste diretório, o zeek2es começará a processá-los e enviá-los para o Elasticsearch.
Em seguida, você pode fazer login em https://localhost:5601 com o nome de usuário e a senha que você configurou no arquivo `.env`.  
Por padrão, há um certificado autoassinado, mas você pode alterá-lo se editar os arquivos do docker compose.  Uma vez dentro
do Kibana, você irá para Stack Management->Data Views e criará uma data view para `logs*` com o timestamp `@timestamp`.
Agora você poderá ir para o Discover e começar a pesquisar seus logs!  Seus dados são persistentes no diretório `VOLUME_MOUNT/data` que você definiu.
Se você quiser remover todos os dados, basta `rm -rf VOLUME_MOUNT/data`, substituindo o diretório que você definiu nesse comando de remoção.
Na próxima vez que você iniciar seu cluster, ele estará novinho em folha para mais dados.

## Atualizando o zeek2es <a name="upgradingzeek2es" />

A maioria das atualizações deve ser tão simples quanto copiar o novo [zeek2es.py](https://github.com/corelight/zeek2es/blob/master/zeek2es.py) sobre 
o antigo.  Em alguns casos, o pipeline de ingestão do ES necessário para a opção de linha de comando `-g` 
pode mudar durante uma atualização.  Portanto, é fortemente recomendado que você exclua 
seu [pipeline de ingestão](#esingestpipeline) antes de executar uma nova versão do zeek2es.py.

### Pipeline de Ingestão do ES <a name="esingestpipeline" />

Se você precisar [excluir o pipeline de ingestão do ES "zeekgeoip"](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html) 
usado para geolocalizar endereços IP com a opção de linha de comando `-g`, você pode fazer isso graficamente
por meio do Stack Management->Ingest Pipelines do Kibana ou este comando fará isso por você:```
curl -X DELETE "localhost:9200/_ingest/pipeline/zeekgeoip?pretty"

Este comando é fortemente recomendado sempre que atualizar sua cópia do zeek2es.py.

Filtering Data

Python Filters

Baixar ferramenta