Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
maltrail — Sistema de detecção de tráfego malicioso em tempo real que utiliza listas negras públicas, rastros estáticos de malware e análise heurística para identificar ameaças no tráfego DNS, HTTP e IP. | Kitploit
Ferramentas/GitHubGitHub/stamparm/maltrail
Ferramentas DefensivasFeeds e Agregadores de AmeaçasColeta de InformaçõesSegurança de RedeAnálise de MalwareInteligência de AmeaçasDetecção de IntrusãoAnálise de DNS
GitHubstamparm/maltrail

maltrail

Sistema de detecção de tráfego malicioso em tempo real que utiliza listas negras públicas, rastros estáticos de malware e análise heurística para identificar ameaças no tráfego DNS, HTTP e IP.

8.6k1.3khá 6h 18mRevisado 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
Ver Repositório

Maltrail

License Sensor Server Trails X

Maltrail

Maltrail é um sistema de detecção de tráfego de rede que identifica comunicação com infraestrutura maliciosa conhecida e relata anomalias de tráfego selecionadas. Ele compara domínios, URLs, endereços IP, pares IP:port e valores de User-Agent observados na rede com um conjunto de indicadores chamados trails.

Uma detecção é registrada como um único evento contendo a origem, o destino, o protocolo, a trail correspondente, a classificação e a fonte da trail:```text "2026-08-07 09:14:22.117034" gw 10.13.13.2 57809 1.1.1.1 53 UDP DNS malware.bakewithdavid.com "asyncrat (malware)" (static)

root@kitploit:~
O Maltrail foi concebido para monitorização de rede baseada em indicadores. As suas deteções heurísticas complementam a correspondência de trilhas, mas não substituem a telemetria de endpoints nem um sistema de prevenção de intrusões de uso geral.

## Recursos

- Um conjunto completo de trilhas que combina mais de 3.000 ficheiros estáticos incluídos, 42 integrações de feeds públicos e trilhas opcionais fornecidas pelo operador.
- Um sensor Rust multithread que utiliza libpcap, com workers de captura Linux `PACKET_FANOUT` opcionais.
- Um servidor Python que fornece a interface de relatórios, a ingestão de eventos e a API HTTP.
- Trilhas personalizadas e listas de permissões em texto simples que podem ser revistas e controladas por versão.
- Heurísticas para varredura, exaustão de DNS, consultas semelhantes a DGA, downloads suspeitos, sondagens de proxy, valores de User-Agent suspeitos e atividade de rede relacionada.
- Registo de eventos local, registo Maltrail remoto, CEF via syslog e saída JSON para Logstash.
- Validação de implementação com `maltrail-sensor -T` e métricas Prometheus opcionais.

## Conteúdo

- [Arquitetura](#architecture)
- [Desempenho](#performance)
- [Instalação](#installation)
  - [Instalador](#installer)
  - [Compilar a partir do código-fonte](#building-from-source)
  - [Systemd](#systemd)
  - [Docker](#docker)
- [Configuração](#configuration)
- [Trilhas](#trails)
- [Eventos e API](#events-and-api)
- [Operações](#operations)
  - [Monitorização](#monitoring)
  - [Retenção de eventos](#event-retention)
- [Documentação](#documentation)
- [Contribuição](#contributing)
- [Projeto](#project)
  - [Licença](#license)
  - [Mantenedores](#maintainers)
  - [Patrocinadores](#sponsors)
  - [Apresentações e publicações](#presentations-and-publications)
  - [Lista negra derivada](#derived-blacklist)
  - [Integrações de terceiros](#third-party-integrations)
  - [Agradecimentos](#acknowledgements)

## Arquitetura

O Maltrail é composto por dois processos independentes que podem ser executados no mesmo host ou em hosts separados:```text
   ┌──────────┐   events (UDP or file)   ┌──────────┐
   │  sensor  │ ───────────────────────► │  server  │ ◄── browser
   └──────────┘                          └──────────┘
    Rust                                  Python
    libpcap + PACKET_FANOUT               reporting UI + API
    trail matching + heuristics

O sensor captura tráfego, realiza correspondência de trilhas e análise heurística, e gera eventos. Ele pode gravar eventos localmente (LOG_DIR), enviá-los para um servidor Maltrail remoto (LOG_SERVER) ou fazer ambos. Ele também pode emitir CEF via syslog (SYSLOG_SERVER) e JSON para o Logstash (LOGSTASH_SERVER).

O servidor recebe e armazena eventos remotos, serve logs de eventos disponíveis localmente e fornece a interface web e a API.

Desempenho

O desempenho depende do processador, da composição do tráfego, do tamanho do conjunto de trilhas, do driver de captura e da interface de rede. Os números abaixo medem o caminho de processamento de pacotes do sensor de forma isolada; não são medições de captura ao vivo de ponta a ponta.

Medições representativas em um AMD Ryzen 7 PRO 4750U com heurísticas habilitadas e um conjunto de trilhas de 1,5 milhão de linhas:

Execuções de comparação offline usando a mesma captura gerada, configuração e conjunto de trilhas mediram um custo de estado estacionário por pacote 14–37× menor do que o sensor Python aposentado em todos os sistemas testados. A ferramenta de comparação relata o tempo total do processo separadamente, pois o carregamento de trilhas domina replays curtos. Ela também imprime contagens de eventos; a paridade funcional é testada independentemente pelo corpus de paridade.

Execute a comparação no sistema de destino com:```bash python3 sensor/tools/bench_compare.py --packets 300000
--trails ~/.maltrail/trails.csv --repeat 3

root@kitploit:~
Por padrão, é utilizado um worker de captura. Workers adicionais podem aumentar a capacidade de captura, mas o hash de fluxo do Linux divide o estado por origem entre os workers e, portanto, reduz a sensibilidade de algumas heurísticas de varredura. No teste documentado, 91% dos alertas de heurística com um único worker permaneceram com dois workers, 86% com quatro e 65% com oito. A correspondência exata de trilhas não foi alterada. Aumente `CAPTURE_FANOUT` somente quando as métricas de descarte de captura mostrarem que isso é necessário.

A metodologia de benchmark, resultados de hardware, saída do profiler, medições de memória e verificações de fanout em tempo real estão documentados em [`sensor/docs/REPORT.md`](https://github.com/stamparm/maltrail/blob/HEAD/sensor/docs/REPORT.md).

## Instalação

### Instalador

O instalador suporta Debian, Ubuntu, Raspberry Pi OS, RHEL, Fedora e openSUSE:```bash
curl -fsSL https://raw.githubusercontent.com/stamparm/maltrail/master/install.sh | sudo sh

Ele instala dependências, cria um checkout gerenciado em /opt/maltrail, verifica o checksum do sensor pré-construído, cria uma conta maltrail sem privilégios, instala unidades do systemd, prepara os diretórios de log e de estado, e inicia o sensor e o servidor. Executar o instalador novamente atualiza o checkout gerenciado.

Revise o script antes de executá-lo com privilégios elevados. A partir de um checkout existente, o dry run mostra os comandos sem alterar o sistema:```bash sh install.sh --dry-run

root@kitploit:~
Opções comuns do instalador:```bash
sh install.sh --role sensor      # Install only the sensor
sh install.sh --ref 3.1.1        # Install a release tag instead of master
sh install.sh --no-service       # Install without changing systemd
sh install.sh --dry-run          # Print commands without applying them
sh install.sh --uninstall        # Remove the managed installation; keep logs and state

O painel está disponível em http://127.0.0.1:8338 após a instalação. Observe que o HTTP_ADDRESS fornecido é 0.0.0.0, portanto é acessível em todas as interfaces, não apenas em loopback — e as credenciais padrão são admin / changeme!. Altere USERS e defina HTTP_ADDRESS para 127.0.0.1 (ou coloque o servidor atrás de um proxy reverso com TLS), antes de o host estar em uma rede não confiável.

A construção inicial das trilhas pode levar vários minutos. O sensor não detecta correspondências de trilhas até que um conjunto de trilhas válido esteja disponível. A unit do systemd executa a validação -T do sensor antes da inicialização, de modo que a falta de privilégios, um diretório de log sem permissão de escrita ou um conjunto de trilhas inválido façam a inicialização falhar visivelmente.

O harness de teste do instalador cobre contêineres Ubuntu, Debian, Fedora, openSUSE e Alpine. O Alpine usa musl e não usa o binário do sensor glibc pré-compilado; compile o sensor a partir do código-fonte nesse ambiente.

Compilando a partir do código-fonte

O sensor requer Rust 1.74 ou mais recente, cabeçalhos de desenvolvimento do libpcap e as ferramentas de capabilities do sistema. O servidor e o atualizador de trilhas requerem Python 3.6 ou mais recente.

Instale os pacotes da distribuição:```bash

Debian / Ubuntu / Raspberry Pi OS

sudo apt-get install cargo libpcap-dev libcap2-bin python3

RHEL / Fedora

sudo dnf install cargo libpcap-devel libcap python3

openSUSE / SLES

sudo zypper install cargo rust libpcap-devel libcap-progs python311

root@kitploit:~
Em seguida, construa e valide o sensor:```bash
git clone --depth 1 https://github.com/stamparm/maltrail.git
cd maltrail

cargo build --release --manifest-path sensor/Cargo.toml

sudo setcap cap_net_raw,cap_net_admin=eip \
  sensor/target/release/maltrail-sensor

sudo install -d -o "$USER" -g "$(id -gn)" -m 750 /var/log/maltrail

sensor/target/release/maltrail-sensor -T
sensor/target/release/maltrail-sensor

Inicie o servidor em outro terminal ou em outro host:```bash python3 server.py

root@kitploit:~
Prebuilt `x86_64` e `aarch64` de binários de sensor estão anexados aos lançamentos atuais com somas de verificação SHA-256. Eles têm como alvo glibc 2.28 e exigem libpcap em tempo de execução. Em sistemas baseados em musl, como Alpine Linux, compile a partir do código-fonte.

O sensor Python descontinuado é usado apenas por ferramentas de comparação e paridade. Essas ferramentas exigem adicionalmente `pcapy-ng` e os cabeçalhos de desenvolvimento Python descritos em [`sensor/docs/INSTALL.md`](https://github.com/stamparm/maltrail/blob/HEAD/sensor/docs/INSTALL.md).

### Systemd

As unidades fornecidas `maltrail-server.service` e `maltrail-sensor.service` executam ambos os processos como o usuário não privilegiado `maltrail`. O Systemd cria `/var/log/maltrail` e `/var/lib/maltrail`, restringe o acesso ao sistema de arquivos e concede ao sensor `CAP_NET_RAW` e `CAP_NET_ADMIN`.

O instalador configura essas unidades automaticamente. Para uma instalação a partir do código-fonte existente, siga o procedimento de serviço manual em [`sensor/docs/INSTALL.md`](https://github.com/stamparm/maltrail/blob/HEAD/sensor/docs/INSTALL.md).

Verifique o estado do serviço e os logs com:```bash
systemctl status maltrail-sensor maltrail-server
journalctl -u maltrail-sensor -f

Docker

Inicie a implantação do Compose fornecida com:```bash docker compose -f docker/docker-compose.yml up -d

root@kitploit:~
Container configuration, storage, privileges, and health checks are documented in
[`docker/README.md`](https://github.com/stamparm/maltrail/blob/HEAD/docker/README.md).

## Configuration

Maltrail reads `maltrail.conf`, which contains separate `[Sensor]` and `[Server]` settings. The
installer places the managed configuration at `/etc/maltrail.conf`.

Frequently used sensor options include:

| Option | Purpose |
| --- | --- |
| `MONITOR_INTERFACE` | Interface ou interfaces de captura; `any` seleciona todas as interfaces suportadas |
| `CAPTURE_FILTER` | Filtro de captura BPF |
| `CAPTURE_FANOUT` | Número de sockets de captura Linux; o padrão é um |
| `LOG_DIR` | Diretório local de logs de eventos |
| `TRAILS_FILE` | Banco de dados de trilhas gerado |
| `LOG_SERVER` | Servidor de eventos remoto Maltrail |
| `SYSLOG_SERVER` | Destino ou destinos syslog CEF |
| `LOGSTASH_SERVER` | Destino ou destinos JSON Logstash |
| `STATS_ADDRESS` | Listener de métricas Prometheus; desabilitado a menos que configurado |
| `UPDATE_PERIOD` | Intervalo de atualização de trilhas |
| `USER_WHITELIST` | Indicadores gerenciados pelo operador que não devem alertar |
| `CUSTOM_TRAILS_DIR` | Diretório de trilhas gerenciado pelo operador |

`PROCESS_COUNT` aplica-se ao sensor Python descontinuado. Configure os trabalhadores de captura do sensor Rust com `CAPTURE_FANOUT` em vez disso.

Execute a verificação de implantação após alterar a configuração:```bash
sensor/target/release/maltrail-sensor -T

A verificação valida a configuração, os trails, as entradas da whitelist, o filtro de captura, os privilégios, o armazenamento de logs, o suporte a atualizações e as configurações do worker. Uma verificação bem-sucedida inclui contagens positivas de trails e whitelist, em vez de apenas confirmar que os arquivos existem.

Trails

Os trails são armazenados como indicadores de texto simples:```text trails/static/malware/ malware-related static trails trails/static/malicious/ malicious infrastructure trails/static/suspicious/ suspicious infrastructure and behavior trails/feeds/*.py public feed integrations

root@kitploit:~
Adicione indicadores locais em `CUSTOM_TRAILS_DIR`. Adicione indicadores que nunca devem gerar alertas
a `USER_WHITELIST`. Manter dados personalizados fora do checkout gerenciado evita que atualizações
os sobrescrevam.

O atualizador reconstrói `TRAILS_FILE` a partir de feeds habilitados, trilhas estáticas incluídas e trilhas personalizadas. Um
novo arquivo é publicado atomicamente apenas após uma compilação bem-sucedida. Feeds vazios ou com falha são relatados
para que uma implantação em execução não dependa silenciosamente de fontes obsoletas ou aposentadas.

As contribuições de trilhas devem incluir o indicador, a classificação e uma fonte verificável. Consulte
[Contribuindo](#contributing) antes de enviar um pull request.

## Eventos e API

O Maltrail registra um evento separado por espaços em branco por detecção, usando aspas CSV quando um valor
contém espaços:```text
"<time>" <sensor> <src_ip> <src_port> <dst_ip> <dst_port> <proto> <type> <trail> "<info>" <reference>

O campo type identifica o que correspondeu, incluindo DNS, IP, IPORT, URL, PATH, HTTP, UA, PORT e CERT. O campo info contém a classificação da trilha, e reference identifica a lista estática, o feed, a fonte personalizada ou a heurística que o produziu.

Consulta de indicadores

Use /check para consultar um domínio, endereço IP ou URL:```bash curl 'http://127.0.0.1:8338/check?q=www.sub.evil.example'

root@kitploit:~
Please provide the Markdown content to translate.```json
{
  "query": "www.sub.evil.example",
  "found": true,
  "trail": "evil.example",
  "info": "asyncrat (malware)",
  "reference": "(static)"
}

Uma consulta de subdomínio pode corresponder ao seu pai listado. Consultas de URL verificam host/path antes de verificar apenas o host. O servidor lê o banco de dados de trilhas mapeado em memória e observa atualizações de trilhas sem reiniciar.

Trilhas públicas estáticas e de feed estão disponíveis sem autenticação, em conformidade com o endpoint /trails usado pelos sensores remotos. Trilhas personalizadas exigem uma sessão autorizada; uma consulta não autorizada apenas personalizada é reportada como não encontrada. Os dados de eventos permanecem autenticados.

Operações

Monitoramento

Use maltrail-sensor -T como um gate de implantação e configuração. A unit do systemd fornecida o executa como ExecStartPre.

Quando STATS_ADDRESS estiver configurado, monitore pelo menos estas métricas do Prometheus:

A saturação de estado afeta a heurística correspondente; a correspondência exata de trilhas permanece ativa.

Envie SIGHUP ou use systemctl reload maltrail-sensor para solicitar um recarregamento de trilhas. Arquivos de trilha atualizados por outro processo são detectados automaticamente e publicados para os workers sem reiniciar o sensor.

O armazenamento condensado de observáveis (USE_CONDENSED_STORAGE, meta.sqlite) suporta as visualizações de novidade e retro-hunt do servidor. A compatibilidade com o sensor descontinuado está documentada em sensor/docs/COMPATIBILITY.md.

Retenção de eventos

O Maltrail não rotaciona nem exclui logs de eventos. Os operadores são responsáveis por definir a retenção, o arquivamento e a exclusão de acordo com os requisitos de armazenamento e a política organizacional.

Práticas recomendadas:

  • Envie a cópia durável dos eventos para um servidor Maltrail remoto ou SIEM com LOG_SERVER, SYSLOG_SERVER ou LOGSTASH_SERVER.
  • Alerte sobre maltrail_log_dir_free_bytes com margem suficiente para a taxa de eventos esperada.
  • Rotacione, arquive ou remova os logs diários locais usando ferramentas externas.
  • Mantenha os arquivos necessários para a interface de relatórios descompactados em LOG_DIR; arquive os arquivos compactados em outro local.

Quando o sistema de arquivos de log está cheio, o sensor não pode acrescentar eventos. Os logs de eventos também podem conter endereços IP e domínios que são regulamentados como dados pessoais em algumas jurisdições; a política de retenção deve considerar os requisitos aplicáveis.

Documentação

Contribuindo

Adições de trilhas, manutenção de feeds, relatos de bugs, documentação e melhorias no sensor são bem-vindos. Os envios de trilhas devem incluir uma fonte confiável e usar a classificação mais restrita e apropriada.

Execute as verificações relevantes antes de enviar código. O gate completo do sensor é:```bash bash sensor/tools/check.sh

root@kitploit:~
Ele executa formatação, Clippy com warnings negados, testes de debug e release, e replay de paridade contra
o sensor Python descontinuado. Execute a suíte do servidor Python com:```bash
bash tests/run.sh python3

Project

Licença

O Maltrail é distribuído sob a Licença MIT. Consulte LICENSE.

Mantenedores

  • Miroslav Stampar (@stamparm)
  • Mikhail Kasimov (@MikhailKasimov)

Patrocinadores

  • Sansec (2024–2025)
  • Sansec (2020–2021)

Apresentações e publicações

  • 47.ª Reunião do TF-CSIRT, Praga, 2016 (slides)
  • Detect attacks on your network with Maltrail, Linux Magazine, 2022 (artigo)
  • Best Cyber Threat Intelligence Feeds, Silent Push, 2022 (análise)
  • Research on Network Malicious Traffic Detection System Based on Maltrail, Nanotechnology Perceptions, 2024 (artigo)

Lista negra derivada

Uma lista apenas de domínios derivada de trails/static/malware é publicada em maltrail-malware-domains.txt. Ela pode ser usada como entrada para sistemas de filtragem de DNS, mas os operadores devem revisá-la e testá-la antes de ativar o bloqueio. Listas de inteligência de ameaças podem conter falsos positivos ou indicadores que não são adequados para todos os ambientes.

Integrações de terceiros

  • FreeBSD Port
  • OPNsense Gateway Plugin
  • D4 Project
  • BlackArch Linux
  • Validin
  • Maltrail Add-on for Splunk
  • Maltrail decoder and rules for Wazuh
  • GScan (apenas trails)
  • MalwareWorld (apenas trails)
  • oisd domain blocklist (apenas trails)
  • NextDNS (apenas trails)
  • NoTracking (apenas trails)
  • OWASP Mobile Audit (apenas trails)
  • Mobile Security Framework MobSF (apenas trails)
  • pfBlockerNG-devel (apenas trails)
  • Sansec eComscan (apenas trails)
  • Palo Alto Networks Cortex XSOAR (conector de trails)

Agradecimentos

  • Thomas Kristner
  • Eduardo Arcusa Les
  • James Lay
  • Ladislav Baco (@laciKE)
  • John Kristoff (@jtkdpu)
  • Michael Münz (@mimugmail)
  • David Brush
  • @Godwottery
  • Chris Wild (@briskets)
  • Keith Irwin (@ki9us)
  • Simon Szustkowski (@simonszu)
Baixar ferramenta
TráfegoTempo por pacote
Echo ICMP, 58 bytes101 ns
TCP SYN, 70 bytes302 ns
TLS em massa, 1.473 bytes402 ns
Consulta DNS com cache quente, 93 bytes452 ns
Tráfego misto, média de 866 bytes552 ns
Requisição HTTP, 169 bytes602 ns
Consulta DNS com nome único, 93 bytes1.102 ns
MétricaSignificado operacional
maltrail_up == 0Nenhum worker de captura está em execução
Aumento de maltrail_capture_dropped_totalO anel de captura está descartando pacotes
Aumento de maltrail_local_log_errors_totalEventos foram produzidos mas não puderam ser gravados localmente
Aumento de maltrail_remote_log_errors_totalEventos não puderam ser entregues a um destino remoto; com DISABLE_LOCAL_LOG_STORAGE eles são perdidos
maltrail_trail_generation não avançandoO conjunto de trilhas ativo não está sendo atualizado
maltrail_log_dir_free_bytesCapacidade restante para o armazenamento local de eventos
Aumento de maltrail_state_saturations_totalUm limite de estado heurístico foi atingido
Aumento de maltrail_throttle_evictions_totalA tabela de limitação de eventos está no seu limite, portanto os eventos são agregados antes do que foi configurado
DocumentoConteúdo
sensor/docs/INSTALL.mdInstalação, privilégios, configuração e solução de problemas
sensor/docs/ARCHITECTURE.mdMecanismos internos do sensor e fluxo de dados
sensor/docs/COMPATIBILITY.mdDiferenças deliberadas em relação ao sensor Python descontinuado
sensor/docs/REPORT.mdMedições, perfis e resultados de testes
sensor/docs/ROADMAP.mdTrabalho em aberto no sensor
old/README.mdSensor Python descontinuado, mantido como oráculo de paridade