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
ksubdomain — Ferramenta de enumeração de subdomínios, pacotes DNS assíncronos, use pcap para escanear 1600,000 subdomínios em 1 segundo | Kitploit
Ferramentas/GitHubGitHub/boy-hack/ksubdomain
ReconhecimentoColeta de InformaçõesTestes de PenetraçãoEnumeração de SubdomíniosAnálise de DNS
GitHubboy-hack/ksubdomain

ksubdomain

Ferramenta de enumeração de subdomínios, pacotes DNS assíncronos, use pcap para escanear 1600,000 subdomínios em 1 segundo

Ver Repositório
1.2k162há 4 mesesRevisado 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

KSubdomain: Ferramenta de Brute Force de Subdomínios Ultra Rápida e Sem Estado

Release Go Report Card License

English | Português

KSubdomain é uma ferramenta de brute force de subdomínios baseada em tecnologia sem estado, oferecendo velocidade de varredura sem precedentes e consumo extremamente baixo de memória. Utiliza sockets brutos para operar diretamente o adaptador de rede, contornando a pilha de protocolos do kernel do sistema, com um mecanismo confiável de reenvio de tabela de estado para garantir a integridade dos resultados. Suporta Windows, Linux e macOS, sendo a ferramenta preferida para detecção em larga escala de ativos DNS.

🚀 Principais Vantagens

  • Velocidade Relâmpago: Varredura sem estado opera diretamente na placa de rede, sendo 7 vezes mais rápida que massdns e mais de 10 vezes que dnsx
  • Baixíssimo Consumo de Recursos: Pool de objetos + pool de memória global, garantindo baixo consumo de memória mesmo com milhões de domínios
  • Adaptação Dinâmica de Timeout: Baseada na média móvel exponencial ponderada (EWMA) do RTT do TCP RFC 6298, ajusta dinamicamente o timeout sem necessidade de parametrização manual
  • Envio Concorrente por Múltiplas Placas de Rede: Suporta a repetição de --interface para especificar várias placas de rede, somando largura de banda e utilizando múltiplos IPs de saída
  • SDK em Fluxo: Fornece APIs de callback EnumStream/VerifyStream para processamento em tempo real dos resultados
  • Suporte Multiplataforma: Compatível perfeitamente com Windows, Linux e macOS

⚡ Comparação de Desempenho

Teste com CPU de 4 núcleos, largura de banda de 5M e dicionário de 100.000 entradas:

📦 Instalação

Baixar Binário Pré-compilado

Acesse Releases para baixar a versão mais recente para seu sistema.

Instalação de Dependências:

  • Windows: Instale o driver Npcap
  • Linux: Compilado estaticamente, geralmente não requer ação; se houver problemas, instale libpcap-dev
  • macOS: O sistema já possui libpcap, nenhuma instalação necessária

Compilação a partir do Código Fonte

root@kitploit:~
git clone https://github.com/boy-hack/ksubdomain.git
cd ksubdomain
# Recomenda-se injetar o número da versão via ldflags
go build -ldflags "-X github.com/boy-hack/ksubdomain/v2/pkg/core/conf.Version=v2.x.y" \
    -o ksubdomain ./cmd/ksubdomain

Ou usando go install:

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

Nota: Requer privilégios root / CAP_NET_RAW (para captura de pacotes com socket bruto)

📖 Instruções de Uso

root@kitploit:~
Uso:
  ksubdomain [opções globais] <comando> [opções do comando]

Comandos:
  enum, e      Modo enumeração: brute force de subdomínios para um domínio principal
  verify, v    Modo verificação: verifica se uma lista de domínios resolve
  test         Testa a velocidade máxima de envio da placa de rede local
  device       Exibe informações das placas de rede disponíveis
  help, h      Exibe ajuda

Opções Globais:
  --help, -h       Exibe ajuda
  --version, -v    Exibe informações da versão

Modo Verificação (verify)

Verifica se a lista de domínios fornecida possui registros de resolução DNS.

root@kitploit:~
Opções:
  --domain, -d          Especifica domínio (pode ser repetido)
  --filename, -f        Lê lista de domínios de um arquivo
  --stdin               Lê da entrada padrão
  --bandwidth, -b       Limite de largura de banda, ex: 5m, 10m, 100m (padrão 3m)
  --resolvers, -r       Especifica servidores DNS (padrão usa internos)
  --output, -o          Caminho do arquivo de saída
  --format, -f          Formato de saída: txt (padrão), json, csv, jsonl
  --silent, -s          Modo silencioso, exibe apenas domínios (sem banner e logs)
  --only-domain, --od   Exibe apenas domínios, sem IPs/registros
  --retry               Número de tentativas, -1 para tentativas infinitas (padrão 3)
  --timeout             Timeout em segundos para cada consulta (padrão 6)
  --interface, -e       Nome da placa de rede (pode ser repetido, envio concorrente)
  --wildcard-filter     Filtro de wildcard: none (padrão), basic, advanced
  --predict             Ativa modo de predição de subdomínios
  --quiet, -q           Não imprime resultados na tela (apenas arquivo)
  --color, -c           Saída colorida
root@kitploit:~
# Verificar domínio único/múltiplos
./ksubdomain v -d www.example.com -d mail.example.com

# Ler de arquivo, salvar como txt
./ksubdomain v -f domains.txt -o output.txt

# Entrada via pipe, largura de banda 10M, modo silencioso para integração com ferramentas downstream
cat domains.txt | ./ksubdomain v --stdin -b 10m -s --od | httpx -silent

# Filtro avançado de wildcard, saída JSONL
./ksubdomain v -f domains.txt --wildcard-filter advanced --format jsonl -o output.jsonl

# Envio concorrente por múltiplas placas de rede (somando largura de banda)
./ksubdomain v -f domains.txt --interface eth0 --interface eth1

Modo Enumeração (enum)

Realiza brute force de subdomínios para um domínio específico usando dicionário e algoritmo de predição.

root@kitploit:~
Opções:
  --domain, -d          Domínio principal alvo (pode ser repetido)
  --domain-list, --ds   Arquivo com vários domínios principais
  --filename, -f        Caminho do arquivo de dicionário (padrão usa dicionário interno)
  --use-ns-records      Lê registros NS do domínio e os adiciona aos resolvedores DNS
  (demais opções iguais ao modo verify)
root@kitploit:~
# Enumerar domínio único (usando dicionário interno)
./ksubdomain e -d example.com

# Especificar arquivo de dicionário
./ksubdomain e -d example.com -f subdomains.txt -o result.txt

# Ativar modo de predição + filtro avançado de wildcard
./ksubdomain e -d example.com --predict --wildcard-filter advanced

# Enumerar vários domínios principais em lote
./ksubdomain e --domain-list roots.txt -b 10m --format jsonl -o result.jsonl

# Integrar com httpx via pipe
./ksubdomain e -d example.com --od -s | httpx -silent

Comandos de Teste/Dispositivos

root@kitploit:~
# Testar velocidade máxima de envio da placa de rede
./ksubdomain test

# Ver placas de rede disponíveis
./ksubdomain device

✨ Funcionalidades

Adaptação Dinâmica de Timeout

Não é necessário definir --timeout manualmente; o mecanismo ajusta dinamicamente o limite superior e inferior com base no RTT medido (média móvel exponencial ponderada, EWMA α=0.125), reduzindo efetivamente falsos negativos e evitando esperas desnecessárias.

Envio Concorrente por Múltiplas Placas de Rede

Repita --interface para usar várias placas de rede simultaneamente. Múltiplas goroutines compartilham o mesmo domainChan em competição, proporcionando balanceamento de carga de forma natural:

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

Modo de Predição

Ativando --predict, a ferramenta prevê subdomínios relacionados com base nos já descobertos, aumentando a taxa de descoberta.

Filtro de Wildcard

  • none: Sem filtro (padrão)
  • basic: Filtro básico, remove IPs claramente de wildcard
  • advanced: Filtro avançado, análise multidimensional

Formatos de Saída

🔗 Exemplos de Integração com Ferramentas

root@kitploit:~
# Integrar com httpx para detectar Web ativo
./ksubdomain e -d example.com -s --od | httpx -silent

# Integrar com nuclei para varredura de vulnerabilidades
./ksubdomain e -d example.com -s --od | nuclei -l /dev/stdin

# Processamento em fluxo JSONL, extrair apenas registros A
./ksubdomain e -d example.com --format jsonl | jq -r 'select(.type=="A") | .domain'

# Vários domínios em lote + deduplicação
./ksubdomain e --domain-list roots.txt -s --od | sort -u > all_subs.txt

🌐 Notas por Plataforma

macOS:

root@kitploit:~
# Buffer BPF pequeno, recomenda-se limitar largura de banda
sudo ./ksubdomain e -d example.com -b 5m

WSL/WSL2:

root@kitploit:~
# Geralmente use eth0
./ksubdomain e -d example.com --interface eth0

Windows:

root@kitploit:~
# Necessário instalar Npcap primeiro e executar como administrador
.\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",
})

// Bloqueante, coleta todos os resultados
results, err := scanner.Enum("example.com")

// Callback em fluxo, processamento em tempo real
err = scanner.EnumStream(ctx, "example.com", func(r sdk.Result) {
    fmt.Printf("%s => %v\n", r.Domain, r.Records)
})

Consulte a Documentação do SDK e a Documentação da API.

🧪 Testes

root@kitploit:~
# Testes unitários (não requer root)
go test ./pkg/...

# Testes de regressão (requer root + rede)
go build -o ksubdomain ./cmd/ksubdomain
sudo go test ./test/regression/... -tags regression -v -timeout 120s

💡 Referências

  • Projeto original KSubdomain: knownsec/ksubdomain
  • Princípio da varredura sem estado: paper.seebug.org/1052
  • Introdução ao KSubdomain: paper.seebug.org/1325

📜 Licença

Licença MIT — consulte LICENSE

Baixar ferramenta
FerramentaMétodoTempoSucessos
KSubdomainEnvio via placa de rede pcap~30 segundos1397
massdnspcap/socket~3 minutos 29 segundos1396
dnsxsocket~5 minutos 26 segundos1396
FormatoDescriçãoCaso de Uso
txtdomínio => registro, saída em tempo realPadrão, visualização manual
jsonJSON completo, escrito ao finalProcessamento por programas
csvTabela CSV, escrita ao finalAnálise de dados
jsonlUma linha JSON por registro, saída em tempo realProcessamento em fluxo, integração via pipe