Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ksubdomain — Herramienta de enumeración de subdominios, paquetes DNS asíncronos, usa pcap para escanear 1600,000 subdominios en 1 segundo | Kitploit
Herramientas/GitHubGitHub/boy-hack/ksubdomain
ReconocimientoRecopilación de InformaciónPruebas de PenetraciónEnumeración de SubdominiosAnálisis de DNS
GitHubboy-hack/ksubdomain

ksubdomain

Herramienta de enumeración de subdominios, paquetes DNS asíncronos, usa pcap para escanear 1600,000 subdominios en 1 segundo

Ver Repositorio
1.2k162hace 4 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

KSubdomain: Herramienta ultrarrápida de fuerza bruta de subdominios sin estado

Release Go Report Card License

English | 中文

KSubdomain es una herramienta de fuerza bruta de subdominios basada en tecnología sin estado, que ofrece una velocidad de escaneo sin precedentes y un consumo de memoria extremadamente bajo. Utiliza sockets raw para operar directamente el adaptador de red, evitando la pila de protocolos del kernel del sistema, y cuenta con un mecanismo confiable de reenvío de tabla de estados para garantizar la integridad de los resultados. Compatible con Windows, Linux y macOS, es la herramienta preferida para la detección masiva de activos DNS.

🚀 Ventajas principales

  • Velocidad ultrarrápida: El escaneo sin estado opera directamente en la tarjeta de red, siendo 7 veces más rápido que massdns y más de 10 veces más rápido que dnsx
  • Bajísimo consumo de recursos: Pool de objetos + pool de memoria global, mantiene un bajo consumo de memoria incluso con enormes cantidades de dominios
  • Time-out adaptativo dinámico: Basado en la media móvil exponencial ponderada (EWMA) del RTT según RFC 6298, ajusta dinámicamente el timeout sin necesidad de parámetros manuales
  • Envío concurrente con múltiples interfaces: Soporta --interface repetido para múltiples tarjetas de red, sumando ancho de banda y utilizando múltiples IPs de salida
  • SDK en streaming: Proporciona las APIs de callback EnumStream/VerifyStream para procesar resultados en tiempo real
  • Compatibilidad multiplataforma: Windows, Linux y macOS perfectamente compatibles

⚡ Comparativa de rendimiento

Prueba con CPU de 4 núcleos, ancho de banda de 5M y diccionario de 100.000 entradas:

📦 Instalación

Descargar binario precompilado

Visite Releases para descargar la última versión para su sistema.

Instalación de dependencias:

  • Windows: Instale el controlador Npcap
  • Linux: Compilado estáticamente, normalmente no requiere acción; si hay problemas, instale libpcap-dev
  • macOS: Incluye libpcap de serie, no requiere instalación

Compilar desde el código fuente

root@kitploit:~
git clone https://github.com/boy-hack/ksubdomain.git
cd ksubdomain
# Se recomienda inyectar el número de versión mediante ldflags
go build -ldflags "-X github.com/boy-hack/ksubdomain/v2/pkg/core/conf.Version=v2.x.y" \
    -o ksubdomain ./cmd/ksubdomain

O usar go install:

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

Nota: Requiere permisos de root / CAP_NET_RAW para ejecutarse (captura de paquetes con socket raw)

📖 Instrucciones de uso

root@kitploit:~
Uso:
  ksubdomain [opciones globales] <comando> [opciones del comando]

Comandos:
  enum, e      Modo enumeración: fuerza bruta de subdominios en un dominio principal
  verify, v    Modo verificación: verifica si una lista de dominios resuelve
  test         Prueba la velocidad máxima de envío de la tarjeta de red local
  device       Muestra información de las tarjetas de red disponibles
  help, h      Muestra ayuda

Opciones globales:
  --help, -h       Muestra ayuda
  --version, -v    Imprime la versión

Modo verificación (verify)

Verifica si la lista de dominios proporcionada tiene registros de resolución DNS.

root@kitploit:~
Opciones:
  --domain, -d          Especifica un dominio (repetible)
  --filename, -f        Lee la lista de dominios desde un archivo
  --stdin               Lee desde la entrada estándar
  --bandwidth, -b       Límite de ancho de banda, ej. 5m, 10m, 100m (por defecto 3m)
  --resolvers, -r       Especifica servidores DNS (por defecto usa los incorporados)
  --output, -o          Ruta del archivo de salida
  --format, -f          Formato de salida: txt (por defecto), json, csv, jsonl
  --silent, -s          Modo silencioso, solo muestra dominios (sin banner ni logs)
  --only-domain, --od   Solo muestra el dominio, sin IP/registro
  --retry               Número de reintentos, -1 para reintentos infinitos (por defecto 3)
  --timeout             Timeout de consulta individual en segundos (por defecto 6)
  --interface, -e       Especifica el nombre de la interfaz (repetible, múltiples interfaces concurrentes)
  --wildcard-filter     Filtro de comodín: none (por defecto), basic, advanced
  --predict             Habilita el modo de predicción de subdominios
  --quiet, -q           No imprime resultados en pantalla (solo escribe en archivo)
  --color, -c           Salida con colores
root@kitploit:~
# Verificar un solo dominio / múltiples dominios
./ksubdomain v -d www.example.com -d mail.example.com

# Leer desde archivo, guardar en txt
./ksubdomain v -f domains.txt -o output.txt

# Entrada por pipe, ancho de banda 10M, modo silencioso para canalizar a herramientas posteriores
cat domains.txt | ./ksubdomain v --stdin -b 10m -s --od | httpx -silent

# Filtro avanzado de comodín, salida en JSONL
./ksubdomain v -f domains.txt --wildcard-filter advanced --format jsonl -o output.jsonl

# Envío concurrente con múltiples interfaces (suma de ancho de banda)
./ksubdomain v -f domains.txt --interface eth0 --interface eth1

Modo enumeración (enum)

Realiza fuerza bruta de subdominios en el dominio especificado usando diccionarios y algoritmos de predicción.

root@kitploit:~
Opciones:
  --domain, -d          Dominio principal objetivo (repetible)
  --domain-list, --ds   Archivo con múltiples dominios principales
  --filename, -f        Ruta del diccionario (por defecto usa el diccionario incorporado)
  --use-ns-records      Lee los registros NS del dominio y los agrega a los resolvedores DNS
  (las demás opciones son iguales que en modo verify)
root@kitploit:~
# Enumerar un solo dominio (usando diccionario incorporado)
./ksubdomain e -d example.com

# Especificar archivo de diccionario
./ksubdomain e -d example.com -f subdomains.txt -o result.txt

# Habilitar modo de predicción + filtro avanzado de comodín
./ksubdomain e -d example.com --predict --wildcard-filter advanced

# Enumeración por lotes de múltiples dominios principales
./ksubdomain e --domain-list roots.txt -b 10m --format jsonl -o result.jsonl

# Canalizar a httpx
./ksubdomain e -d example.com --od -s | httpx -silent

Comandos de prueba/dispositivo

root@kitploit:~
# Probar velocidad máxima de envío de la tarjeta de red
./ksubdomain test

# Ver tarjetas de red disponibles
./ksubdomain device

✨ Características

Time-out adaptativo dinámico

Sin necesidad de establecer --timeout manualmente, el motor ajusta dinámicamente los límites superior e inferior del timeout basándose en el RTT medido real (media móvil exponencial ponderada, EWMA α=0.125), reduciendo eficazmente los falsos negativos sin esperas innecesarias.

Envío concurrente con múltiples interfaces

Repitiendo --interface se pueden usar varias tarjetas de red simultáneamente; múltiples goroutines compiten por el mismo domainChan, logrando un balance de carga natural:

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

Modo de predicción

Al habilitar --predict, la herramienta predice posibles subdominios relacionados basándose en los ya descubiertos, aumentando la tasa de detección.

Filtro de comodín (Wildcard)

  • none: Sin filtro (por defecto)
  • basic: Filtro básico, elimina IPs de comodín evidentes
  • advanced: Filtro avanzado, evalúa múltiples dimensiones

Formatos de salida

🔗 Ejemplos de integración con herramientas

root@kitploit:~
# Integración con httpx para detectar servicios web activos
./ksubdomain e -d example.com -s --od | httpx -silent

# Integración con nuclei para escaneo de vulnerabilidades
./ksubdomain e -d example.com -s --od | nuclei -l /dev/stdin

# Procesamiento en flujo con JSONL, filtrado solo de registros A
./ksubdomain e -d example.com --format jsonl | jq -r 'select(.type=="A") | .domain'

# Múltiples dominios por lotes + deduplicación
./ksubdomain e --domain-list roots.txt -s --od | sort -u > all_subs.txt

🌐 Consideraciones por plataforma

macOS:

root@kitploit:~
# El buffer BPF es pequeño, se recomienda limitar el ancho de banda
sudo ./ksubdomain e -d example.com -b 5m

WSL/WSL2:

root@kitploit:~
# Normalmente se usa eth0
./ksubdomain e -d example.com --interface eth0

Windows:

root@kitploit:~
# Requiere instalar Npcap y ejecutar como administrador
.\ksubdomain.exe enum -d example.com

🧩 SDK Go

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, recolecta todos los resultados
results, err := scanner.Enum("example.com")

// Streaming con callback, procesa en tiempo real
err = scanner.EnumStream(ctx, "example.com", func(r sdk.Result) {
    fmt.Printf("%s => %v\n", r.Domain, r.Records)
})

Consulte la documentación del SDK y la documentación de la API para más detalles.

🧪 Pruebas

root@kitploit:~
# Pruebas unitarias (no requiere root)
go test ./pkg/...

# Pruebas de regresión (requiere root + red)
go build -o ksubdomain ./cmd/ksubdomain
sudo go test ./test/regression/... -tags regression -v -timeout 120s

💡 Referencias

  • Proyecto original KSubdomain: knownsec/ksubdomain
  • Principio del escaneo sin estado: paper.seebug.org/1052
  • Introducción a KSubdomain: paper.seebug.org/1325

📜 Licencia

Licencia MIT — consulte LICENSE para más detalles.

Descargar herramienta
HerramientaModoTiempoÉxitos
KSubdomainenvío por tarjeta pcap~30 seg1397
massdnspcap/socket~3 min 29 seg1396
dnsxsocket~5 min 26 seg1396
FormatoDescripciónCaso de uso
txtdominio => registro, salida en tiempo realPor defecto, para inspección manual
jsonJSON completo, se escribe al finalizarProcesamiento por programa
csvTabla CSV, se escribe al finalizarAnálisis de datos
jsonlUna línea JSON por registro, salida en tiempo realProcesamiento en flujo, tuberías