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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dnsmonster — Kit de Captura e Monitoramento Passivo de DNS | Kitploit
Ferramentas/GitHubGitHub/fenkohq/dnsmonster
Sniffing e Análise de PacotesColeta de InformaçõesSegurança de RedeInteligência de AmeaçasAnálise de DNSAnálise de Logs
GitHubfenkohq/dnsmonster

dnsmonster

Kit de Captura e Monitoramento Passivo de DNS

Ver Repositório
3606019há 13 diasRevisado pelo Kitploit
Site

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

Build Status Go Version Latest Version License Open Issues

Estamos explorando uma solução SaaS gerenciada para o dnsmonster! Ajude a moldar o futuro do monitoramento passivo de DNS compartilhando seu feedback e requisitos: Participe da nossa pesquisa rápida

Índice

  • Dnsmonster
  • Principais características
  • Instalação
    • Linux
      • Container
      • Compilar manualmente
      • Compilar estaticamente
    • Windows
    • FreeBSD e MacOS
  • Arquitetura
    • Instalação completa usando Docker
      • Demonstração completa
    • Implantação Empresarial
  • Configuração
    • Opções de linha de comando
    • Variáveis de ambiente
    • Arquivo de configuração
    • Qual é a política de retenção
  • Amostragem e Ignorar
    • Amostragem pré-processamento
    • Ignorar domínios
    • Permitir domínios
    • AMOSTRA em consultas SELECT do clickhouse
  • Entradas Suportadas
  • Saídas Suportadas
  • Roteiro
  • Projetos relacionados

Dnsmonster

Framework de monitoramento passivo de DNS construído em Golang. dnsmonster implementa um farejador de pacotes para tráfego DNS. Ele pode aceitar tráfego de um arquivo pcap, uma interface ativa ou um socket dnstap, e pode ser usado para indexar e armazenar centenas de milhares de consultas DNS por segundo, pois mostrou-se capaz de indexar mais de 200 mil consultas DNS por segundo em um computador comum. Ele visa ser escalável, simples e fácil de usar, e ajudar equipes de segurança a entender os detalhes sobre o tráfego DNS de uma empresa. O dnsmonster não busca seguir conversas DNS, mas sim indexar pacotes DNS assim que eles chegam. Ele também não visa violar a privacidade dos usuários finais, com a capacidade de mascarar IPs de Camada 3 (IPv4 e IPv6), permitindo que as equipes realizem análises de tendências em dados agregados sem conseguir rastrear as consultas até um indivíduo. Blogpost

O código anterior à versão 1.x é considerado de qualidade beta e está sujeito a mudanças significativas. Visite as notas de versão de cada tag para ver a lista de cenários de quebra entre cada versão e como mitigar possíveis perdas de dados.```mermaid graph TD subgraph Input B1["network input"] B2["pcap file"] B3["dnstap socket"] end

subgraph "Process"
    C1["Sampling based of ratio"]
    C2["Packet Process"]
    C3["Dispatcher"]
    O11["Output1"]
    O12["Domain Skip (optional)"]
    O13["Domain Allow (optional)"]
    O21["Output2"]
    O22["Domain Skip (optional)"]
    O23["Domain Allow (optional)"]
    O31["Output3"]
    O32["Domain Skip (optional)"]
    O33["Domain Allow (optional)"]
end

B1 --> Process
B2 --> Process
B3 --> Process

C1 --> C2
C2 --> C3
C3 --> O11
C3 --> O21
C3 --> O31

O11 --> O12 --> O13
O21 --> O22 --> O23
O31 --> O32 --> O33

subgraph Output
    Splunk
    Syslog
    H["ClickHouse"]
    Postgres
    Kafka
    I["JSON File"]
    Influx
    Elastic
    J["stdout"]
    Parquet
    Sentinel
end

O13 --> H
O23 --> I
O33 --> J
# Principais funcionalidades

- Capacidade de usar a captura de pacotes `afpacket` e de cópia zero do Linux.
- Suporta BPF
- Capacidade de mascarar o endereço IP para melhorar a privacidade
- Capacidade de ter uma taxa de amostragem de pré-processamento
- Capacidade de ter uma lista de 'skip' `fqdn`s para evitar escrever alguns domínios/sufixos/prefixos no armazenamento
- Capacidade de ter uma lista de domínios 'allow', usada para registrar acesso a determinados domínios
- Recarga a quente de arquivos/urls de domínios skip e allow
- Saída modular com lógica configurável por fluxo de saída.
- Política automática de retenção de dados usando o atributo TTL do ClickHouse
- Painel Grafana integrado para saída do ClickHouse.
- Capacidade de ser distribuído como um binário único, vinculado estaticamente
- Capacidade de ser configurado usando variáveis de ambiente, opções de linha de comando ou arquivo de configuração
- Capacidade de amostrar saídas usando a capacidade SAMPLE do ClickHouse
- Capacidade de enviar métricas usando `prometheus` e `statstd`
- Alta taxa de compressão graças ao armazenamento LZ4 integrado do ClickHouse
- Suporta DNS sobre TCP, DNS Fragmentado (udp/tcp) e IPv6
- Suporta [dnstap](https://github.com/dnstap/golang-dnstap) via soquete Unix ou TCP
- Integração SIEM integrada com Splunk e Microsoft Sentinel

# Instalação

## Linux

A melhor maneira de começar com `dnsmonster` é baixar o binário da seção de releases. O binário é compilado estaticamente contra `musl`, portanto deve funcionar imediatamente em muitas distribuições. Para suporte a `afpacket`, você deve usar kernel 3.x+. Qualquer distribuição Linux moderna (CentOS/RHEL 7+, Ubuntu 14.0.4.2+, Debian 7+) vem com uma versão 3.x+, então deve funcionar imediatamente. Se sua distribuição não estiver funcionando com a versão pré-compilada, envie um problema com os detalhes e compile o `dnsmonster` manualmente usando esta seção [Compilar Manualmente](#build-manually).

### Contêiner

Como o `dnsmonster` usa funcionalidade de captura bruta de pacotes, o daemon Docker/Podman deve conceder a capacidade ao contêiner```
sudo docker run --rm -it --net=host --cap-add NET_RAW --cap-add NET_ADMIN --name dnsmonster ghcr.io/mosajjal/dnsmonster:latest --devName lo --stdoutOutputType=1

Compilar manualmente

  • com libpcap: Certifique-se de ter os pacotes go, libpcap-devel e linux-headers instalados. O nome dos pacotes pode variar de acordo com sua distribuição. Depois disso, basta clonar o repositório e executar `go build ./cmd/dnsmonster````sh git clone https://github.com/mosajjal/dnsmonster --depth 1 /tmp/dnsmonster cd /tmp/dnsmonster go get go build -o dnsmonster ./cmd/dnsmonster
- sem `libpcap`:
`dnsmonster` usa apenas uma função do `libpcap`, que é converter os filtros no estilo `tcpdump` em bytecode BPF. Se você pode viver sem suporte BPF, pode compilar o `dnsmonster` sem `libpcap`. Note que para qualquer outra plataforma, a captura de pacotes recai para o `libpcap`, então ele se torna uma dependência obrigatória (*BSD, Windows, Darwin)```sh
git clone https://github.com/mosajjal/dnsmonster --depth 1 /tmp/dnsmonster 
cd /tmp/dnsmonster
go get
go build -o dnsmonster -tags nolibpcap ./cmd/dnsmonster

A build acima também funciona em ARMv7 (RPi4) e AArch64.

Compilar estaticamente

Baixar ferramenta