Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
ksubdomain — Strumento di enumerazione dei sottodomini, pacchetti DNS asincroni, utilizza pcap per scansionare 1.600.000 sottodomini in 1 secondo. | Kitploit
Strumenti/GitHubGitHub/boy-hack/ksubdomain
RicognizioneRaccolta InformazioniPenetration TestingEnumerazione SottodominiAnalisi DNS
GitHubboy-hack/ksubdomain

ksubdomain

Strumento di enumerazione dei sottodomini, pacchetti DNS asincroni, utilizza pcap per scansionare 1.600.000 sottodomini in 1 secondo.

Vedi Repository
1.2k1624 mesi faRevisionato da Kitploit

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

KSubdomain: Strumento di Brute Force per Sottodomini Ultra Veloce e Senza Stato

Release Go Report Card License

English | 中文

KSubdomain è uno strumento di brute force per sottodomini basato su tecnologia stateless, che offre una velocità di scansione senza precedenti e un consumo di memoria estremamente ridotto. Utilizza socket raw per operare direttamente sulla scheda di rete, bypassando lo stack di protocollo del kernel del sistema, e si affida a un affidabile meccanismo di re-invio con tabella di stato per garantire l'integrità dei risultati. Supporta Windows, Linux e macOS ed è lo strumento ideale per rilevamento su larga scala di asset DNS.

🚀 Vantaggi Principali

  • Velocità fulminea: La scansione stateless opera direttamente sulla scheda di rete, con una velocità 7 volte superiore a massdns e oltre 10 volte superiore a dnsx.
  • Consumo di risorse minimo: Pool di oggetti e pool di memoria globale garantiscono un basso consumo di memoria anche con enormi quantità di domini.
  • Timeout dinamico adattivo: Regola dinamicamente il timeout basandosi sulla media mobile esponenziale (EWMA) del RTT secondo TCP RFC 6298, senza necessità di tarature manuali.
  • Invio concorrente su più schede di rete: Supporta --interface ripetuto per specificare più schede, accumulando larghezza di banda e utilizzando più IP di uscita.
  • SDK basato su flussi: Fornisce le callback EnumStream/VerifyStream per elaborare i risultati in tempo reale.
  • Supporto multipiattaforma: Compatibile perfettamente con Windows, Linux e macOS.

⚡ Confronto delle Prestazioni

Test con CPU 4 core, banda 5 Mbps, dizionario da 100.000 voci:

📦 Installazione

Scarica il binario precompilato

Vai alle Release e scarica l'ultima versione per il tuo sistema.

Dipendenze:

  • Windows: Installa il driver Npcap
  • Linux: Compilato staticamente, di solito non serve fare nulla; in caso di problemi installa libpcap-dev
  • macOS: libpcap è incluso nel sistema, nessuna installazione necessaria

Compilazione dai sorgenti

root@kitploit:~
git clone https://github.com/boy-hack/ksubdomain.git
cd ksubdomain
# Si consiglia di iniettare il numero di versione tramite ldflags
go build -ldflags "-X github.com/boy-hack/ksubdomain/v2/pkg/core/conf.Version=v2.x.y" \
    -o ksubdomain ./cmd/ksubdomain

Oppure usa go install:

root@kitploit:~
go install github.com/boy-hack/ksubdomain/v2/cmd/ksubdomain@latest

Nota: Richiede privilegi di root / CAP_NET_RAW (per l'uso di socket raw per la cattura di pacchetti)

📖 Istruzioni per l'uso

root@kitploit:~
Utilizzo:
  ksubdomain [opzioni globali] <comando> [opzioni del comando]

Comandi:
  enum, e      Modalità enumerazione: brute force dei sottodomini di un dominio principale
  verify, v    Modalità verifica: verifica se un elenco di domini viene risolto
  test         Testa la velocità massima di invio della scheda di rete locale
  device       Mostra le informazioni sulle schede di rete disponibili
  help, h      Mostra l'aiuto

Opzioni globali:
  --help, -h       Mostra l'aiuto
  --version, -v    Stampa le informazioni sulla versione

Modalità Verifica (verify)

Verifica se l'elenco di domini fornito ha record di risoluzione DNS.

root@kitploit:~
Opzioni:
  --domain, -d          Specifica il dominio (ripetibile)
  --filename, -f        Legge l'elenco dei domini da un file
  --stdin               Legge dall'input standard
  --bandwidth, -b       Limite di banda, es. 5m, 10m, 100m (default 3m)
  --resolvers, -r       Specifica i server DNS (default usa quelli interni)
  --output, -o          Percorso del file di output
  --format, -f          Formato output: txt (default), json, csv, jsonl
  --silent, -s          Modalità silenziosa, mostra solo i domini (nessun banner o log)
  --only-domain, --od   Mostra solo il dominio, senza IP/record
  --retry               Numero di tentativi, -1 per tentativi infiniti (default 3)
  --timeout             Timeout in secondi per ogni query (default 6)
  --interface, -e       Specifica il nome della scheda di rete (ripetibile, per invio concorrente su più schede)
  --wildcard-filter     Filtro per record wildcard: none (default), basic, advanced
  --predict             Attiva la modalità di previsione dei sottodomini
  --quiet, -q           Non stampare i risultati a schermo (solo su file)
  --color, -c           Output a colori
root@kitploit:~
# Verifica singolo/più domini
./ksubdomain v -d www.example.com -d mail.example.com

# Carica da file, salva come txt
./ksubdomain v -f domains.txt -o output.txt

# Input tramite pipe, banda 10M, modalità silenziosa per strumenti a valle
cat domains.txt | ./ksubdomain v --stdin -b 10m -s --od | httpx -silent

# Filtro avanzato per wildcard, output JSONL
./ksubdomain v -f domains.txt --wildcard-filter advanced --format jsonl -o output.jsonl

# Invio concorrente su più schede (accumula banda)
./ksubdomain v -f domains.txt --interface eth0 --interface eth1

Modalità Enumerazione (enum)

Esegue brute force dei sottodomini del dominio specificato basandosi su dizionario e algoritmo di previsione.

root@kitploit:~
Opzioni:
  --domain, -d          Dominio principale target (ripetibile)
  --domain-list, --ds   File con elenco di domini principali
  --filename, -f        Percorso del file dizionario (default usa il dizionario integrato)
  --use-ns-records      Legge i record NS del dominio e li aggiunge ai resolver DNS
  (le altre opzioni sono uguali alla modalità verify)
root@kitploit:~
# Enumerazione di un singolo dominio (con dizionario integrato)
./ksubdomain e -d example.com

# Specifica il file dizionario
./ksubdomain e -d example.com -f subdomains.txt -o result.txt

# Attiva modalità previsione + filtro avanzato wildcard
./ksubdomain e -d example.com --predict --wildcard-filter advanced

# Enumerazione batch di più domini principali
./ksubdomain e --domain-list roots.txt -b 10m --format jsonl -o result.jsonl

# Pipe verso httpx
./ksubdomain e -d example.com --od -s | httpx -silent

Comandi di Test/Dispositivi

root@kitploit:~
# Testa la velocità massima di invio della scheda di rete
./ksubdomain test

# Visualizza le schede di rete disponibili
./ksubdomain device

✨ Caratteristiche

Timeout Dinamico Adattivo

Nessuna necessità di impostare manualmente --timeout: il motore regola dinamicamente i limiti di timeout basandosi sul RTT misurato (media mobile esponenziale, EWMA α=0.125), riducendo i falsi negativi e evitando attese inutili.

Invio Concorrente su Più Schede

Ripetendo --interface si possono utilizzare più schede di rete contemporaneamente per l'invio; più goroutine condividono lo stesso domainChan in competizione, realizzando naturalmente il bilanciamento del carico:

root@kitploit:~
./ksubdomain e -d example.com --interface eth0 --interface eth1 -b 20m

Modalità Previsione

Con --predict attivato, lo strumento prevede possibili sottodomini correlati basandosi su quelli già scoperti, aumentando il tasso di rilevamento.

Filtro per Record Wildcard

  • none: nessun filtro (default)
  • basic: filtro base, elimina gli IP wildcard evidenti
  • advanced: filtro avanzato, valutazione multidimensionale

Formati di Output

🔗 Esempi di Integrazione con Altri Strumenti

root@kitploit:~
# Integrazione con httpx per rilevare Web attivi
./ksubdomain e -d example.com -s --od | httpx -silent

# Integrazione con nuclei per scansione vulnerabilità
./ksubdomain e -d example.com -s --od | nuclei -l /dev/stdin

# Elaborazione stream JSONL, prendi solo record A
./ksubdomain e -d example.com --format jsonl | jq -r 'select(.type=="A") | .domain'

# Batch multi-dominio + deduplicazione
./ksubdomain e --domain-list roots.txt -s --od | sort -u > all_subs.txt

🌐 Note sulla Piattaforma

macOS:

root@kitploit:~
# Il buffer BPF è piccolo, si consiglia di limitare la banda
sudo ./ksubdomain e -d example.com -b 5m

WSL/WSL2:

root@kitploit:~
# Di solito si usa eth0
./ksubdomain e -d example.com --interface eth0

Windows:

root@kitploit:~
# È necessario installare Npcap ed eseguire come amministratore
.\ksubdomain.exe enum -d example.com

🧩 Go SDK

root@kitploit:~
go get github.com/boy-hack/ksubdomain/v2/sdk
root@kitploit:~
import "github.com/boy-hack/ksubdomain/v2/sdk"

scanner := sdk.NewScanner(&sdk.Config{
    Bandwidth:      "5m",
    Retry:          3,
    WildcardFilter: "advanced",
})

// Bloccante, raccoglie tutti i risultati
results, err := scanner.Enum("example.com")

// Callback in streaming, elaborazione in tempo reale
err = scanner.EnumStream(ctx, "example.com", func(r sdk.Result) {
    fmt.Printf("%s => %v\n", r.Domain, r.Records)
})

Vedi Documentazione SDK e Documentazione API.

🧪 Test

root@kitploit:~
# Test unitari (senza root)
go test ./pkg/...

# Test di regressione (richiede root + rete)
go build -o ksubdomain ./cmd/ksubdomain
sudo go test ./test/regression/... -tags regression -v -timeout 120s

💡 Riferimenti

  • Progetto KSubdomain originale: knownsec/ksubdomain
  • Principio della scansione stateless: paper.seebug.org/1052
  • Introduzione a KSubdomain: paper.seebug.org/1325

📜 Licenza

Licenza MIT — vedi LICENSE

Scarica lo strumento
StrumentoMetodoTempoSuccessi
KSubdomainInvio su scheda di rete con pcap~30 secondi1397
massdnspcap/socket~3 minuti e 29 secondi1396
dnsxsocket~5 minuti e 26 secondi1396
FormatoDescrizioneScenario d'uso
txtdominio => record, output in tempo realeDefault, lettura manuale
jsonJSON completo, scritto al termineElaborazione programmatica
csvTabella CSV, scritta al termineAnalisi dati
jsonlUna riga per JSON, output in tempo realeElaborazione in streaming, pipe