Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dnsmonster — Kit di acquisizione e monitoraggio DNS passivo | Kitploit
Strumenti/GitHubGitHub/fenkohq/dnsmonster
Sniffing e Analisi dei PacchettiRaccolta InformazioniSicurezza di ReteThreat IntelligenceAnalisi DNSAnalisi dei Log
GitHubfenkohq/dnsmonster

dnsmonster

Kit di acquisizione e monitoraggio DNS passivo

Vedi Repository
360601913 giorni faRevisionato da Kitploit
Sito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Build Status Go Version Latest Version License Open Issues

Stiamo esplorando una soluzione SaaS gestita per dnsmonster! Aiuta a plasmare il futuro del monitoraggio passivo DNS condividendo il tuo feedback e le tue esigenze: Partecipa al nostro breve sondaggio

Indice

  • Dnsmonster
  • Caratteristiche principali
  • Installazione
    • Linux
      • Container
      • Compilazione manuale
      • Compilazione statica
    • Windows
    • FreeBSD e MacOS
  • Architettura
    • Installazione tutto-in-uno con Docker
      • Demo tutto-in-uno
    • Deploy enterprise
  • Configurazione
    • Opzioni da riga di comando
    • Variabili d'ambiente
    • File di configurazione
    • Qual è la politica di conservazione
  • Campionamento e salto
    • Campionamento pre-process
    • Domini da saltare
    • Domini consentiti
    • CAMPIONE nelle query SELECT di clickhouse
  • Input supportati
  • Output supportati
  • Roadmap
  • Progetti correlati

Dnsmonster

Framework di monitoraggio passivo DNS costruito in Golang. dnsmonster implementa un packet sniffer per il traffico DNS. Può accettare traffico da un file pcap, un'interfaccia live o un socket dnstap, e può essere utilizzato per indicizzare e memorizzare centinaia di migliaia di query DNS al secondo, avendo dimostrato di essere in grado di indicizzare oltre 200.000 query DNS al secondo su un computer consumer. Mira ad essere scalabile, semplice e facile da usare, e ad aiutare i team di sicurezza a comprendere i dettagli del traffico DNS di un'impresa. dnsmonster non cerca di seguire le conversazioni DNS, ma piuttosto di indicizzare i pacchetti DNS non appena arrivano. Inoltre non intende violare la privacy degli utenti finali, con la possibilità di mascherare gli IP di livello 3 (IPv4 e IPv6), consentendo ai team di effettuare analisi delle tendenze su dati aggregati senza poter risalire alle query di un singolo individuo. Blogpost

Il codice precedente alla versione 1.x è considerato di qualità beta ed è soggetto a modifiche che potrebbero rompere la compatibilità. Si prega di consultare le note di rilascio per ogni tag per vedere l'elenco degli scenari di rottura tra ogni rilascio e come mitigare potenziali perdite di dati.```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
# Caratteristiche principali

- Capacità di utilizzare `afpacket` di Linux e la cattura dei pacchetti a copia zero.
- Supporta BPF
- Capacità di mascherare l'indirizzo IP per migliorare la privacy
- Capacità di avere un rapporto di campionamento pre-elaborazione
- Capacità di avere una lista di `fqdn` da "saltare" per evitare di scrivere alcuni domini/suffissi/prefissi nell'archivio
- Capacità di avere una lista di domini "consentiti", utilizzata per registrare l'accesso a determinati domini
- Ricarica a caldo dei file/URL dei domini da saltare e consentiti
- Output modulare con logica configurabile per flusso di output.
- Politica di conservazione automatica dei dati utilizzando l'attributo TTL di ClickHouse
- Dashboard Grafana integrata per l'output ClickHouse.
- Capacità di essere distribuito come un singolo binario collegato staticamente
- Capacità di essere configurato tramite variabili d'ambiente, opzioni da riga di comando o file di configurazione
- Capacità di campionare gli output utilizzando la funzionalità SAMPLE di ClickHouse
- Capacità di inviare metriche utilizzando `prometheus` e `statstd`
- Alto rapporto di compressione grazie all'archiviazione LZ4 integrata di ClickHouse
- Supporta DNS su TCP, DNS frammentato (udp/tcp) e IPv6
- Supporta [dnstap](https://github.com/dnstap/golang-dnstap) su socket Unix o TCP
- Integrazione SIEM integrata con Splunk e Microsoft Sentinel

# Installazione

## Linux

Il modo migliore per iniziare con `dnsmonster` è scaricare il binario dalla sezione release. Il binario è compilato staticamente con `musl`, quindi dovrebbe funzionare subito su molte distribuzioni. Per il supporto `afpacket`, è necessario utilizzare il kernel 3.x+. Qualsiasi distribuzione Linux moderna (CentOS/RHEL 7+, Ubuntu 14.0.4.2+, Debian 7+) è fornita con una versione 3.x+, quindi dovrebbe funzionare subito. Se la tua distribuzione non funziona con la versione precompilata, per favore invia un problema con i dettagli e compila `dnsmonster` manualmente usando questa sezione [Compila manualmente](#build-manually).

### Container

Poiché `dnsmonster` utilizza la funzionalità di cattura raw dei pacchetti, il demone Docker/Podman deve concedere la capacità al contenitore```
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

Build manually

  • with libpcap: Assicurati di avere i pacchetti go, libpcap-devel e linux-headers installati. Il nome dei pacchetti potrebbe differire in base alla tua distribuzione. Dopodiché, clona semplicemente il repository ed esegui `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
- senza `libpcap`:
`dnsmonster` utilizza solo una funzione da `libpcap`, e cioè convertire i filtri in stile `tcpdump` in bytecode BPF. Se puoi vivere senza il supporto BPF, puoi compilare `dnsmonster` senza `libpcap`. Nota che per qualsiasi altra piattaforma, la cattura dei pacchetti ricade su `libpcap` quindi diventa una dipendenza rigida (*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

La build precedente funziona anche su ARMv7 (RPi4) e AArch64.

Build statica

Scarica lo strumento