Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ksubdomain — Инструмент для перечисления поддоменов, асинхронные DNS-пакеты, использует pcap для сканирования 1600,000 поддоменов за 1 секунду. | Kitploit
Инструменты/GitHubGitHub/boy-hack/ksubdomain
РазведкаСбор информацииТестирование на ПроникновениеПеречисление ПоддоменовАнализ DNS
GitHubboy-hack/ksubdomain

ksubdomain

Инструмент для перечисления поддоменов, асинхронные DNS-пакеты, использует pcap для сканирования 1600,000 поддоменов за 1 секунду.

Репозиторий
1.2k1624 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

KSubdomain: Сверхбыстрый инструмент для перебора поддоменов без сохранения состояния

Release Go Report Card License

English | Китайский

KSubdomain — это инструмент для перебора поддоменов, основанный на технологии без сохранения состояния, обеспечивающий беспрецедентную скорость сканирования и чрезвычайно низкое потребление памяти. Он использует сырые сокеты для прямого взаимодействия с сетевым адаптером, минуя стек протоколов ядра, а надёжный механизм повторной отправки с таблицей состояний гарантирует полноту результатов. Поддерживает Windows, Linux, macOS — идеальный выбор для масштабного обнаружения DNS-активов.

🚀 Ключевые преимущества

  • Молниеносная скорость: Сканирование без сохранения состояния напрямую работает с сетевым адаптером, что в 7 раз быстрее massdns и более чем в 10 раз быстрее dnsx
  • Минимальное потребление ресурсов: Пул объектов + глобальный пул памяти обеспечивают низкое использование памяти даже при обработке огромного количества доменов
  • Адаптивное динамическое время ожидания: На основе TCP RFC 6298 RTT скользящего среднего (EWMA) динамически корректирует таймаут, не требуя ручной настройки
  • Одновременная отправка через несколько сетевых интерфейсов: Поддержка повторного указания --interface для нескольких сетевых карт, суммирование пропускной способности, использование нескольких исходящих IP-адресов
  • Потоковый SDK: Предоставляет API обратного вызова EnumStream/VerifyStream для обработки результатов в реальном времени
  • Кроссплатформенность: Полная совместимость с Windows, Linux, macOS

⚡ Сравнение производительности

4 ядра CPU, 5 Мбит/с пропускная способность, тест со словарём из 100 000 записей:

📦 Установка

Загрузка предварительно скомпилированного бинарного файла

Перейдите на страницу Releases, чтобы загрузить последнюю версию для вашей системы.

Установка зависимостей:

  • Windows: Установите драйвер Npcap
  • Linux: Статически скомпилирован, обычно не требует действий; при наличии проблем установите libpcap-dev
  • macOS: Система включает libpcap, установка не требуется

Сборка из исходного кода

root@kitploit:~
git clone https://github.com/boy-hack/ksubdomain.git
cd ksubdomain
# Рекомендуется внедрить номер версии через ldflags
go build -ldflags "-X github.com/boy-hack/ksubdomain/v2/pkg/core/conf.Version=v2.x.y" \
    -o ksubdomain ./cmd/ksubdomain

Или используйте go install:

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

Примечание: Требуются права root / CAP_NET_RAW (для работы с сырыми сокетами)

📖 Инструкция по использованию

root@kitploit:~
Использование:
  ksubdomain [глобальные опции] <команда> [опции команды]

Команды:
  enum, e      Режим перебора: перебор поддоменов для основного домена
  verify, v    Режим проверки: проверка, разрешаются ли домены в списке
  test         Тестирование максимальной скорости отправки локальной сетевой карты
  device       Просмотр доступных сетевых интерфейсов
  help, h      Показать справку

Глобальные опции:
  --help, -h       Показать справку
  --version, -v    Вывести информацию о версии

Режим проверки (verify)

Проверяет, есть ли у указанного списка доменов DNS-записи.

root@kitploit:~
Опции:
  --domain, -d          Указать домен (можно повторять)
  --filename, -f        Читать список доменов из файла
  --stdin               Читать из стандартного ввода
  --bandwidth, -b       Ограничение пропускной способности, например 5m, 10m, 100m (по умолчанию 3m)
  --resolvers, -r       Указать DNS-серверы (по умолчанию встроенные)
  --output, -o          Путь к выходному файлу
  --format, -f          Формат вывода: txt (по умолчанию), json, csv, jsonl
  --silent, -s          Тихий режим, вывод только доменов (без баннера и логов)
  --only-domain, --od   Выводить только домены, без IP/записей
  --retry               Количество повторов, -1 для бесконечных повторов (по умолчанию 3)
  --timeout             Таймаут одного запроса в секундах (по умолчанию 6)
  --interface, -e       Указать сетевой интерфейс (можно повторять для параллельной работы)
  --wildcard-filter     Фильтрация wildcard-записей: none (по умолчанию), basic, advanced
  --predict             Включить режим предсказания поддоменов
  --quiet, -q           Не выводить результаты на экран (только в файл)
  --color, -c           Цветной вывод
root@kitploit:~
# Проверка одного/нескольких доменов
./ksubdomain v -d www.example.com -d mail.example.com

# Чтение из файла, сохранение в txt
./ksubdomain v -f domains.txt -o output.txt

# Ввод через конвейер, пропускная способность 10M, тихий режим для передачи в downstream
cat domains.txt | ./ksubdomain v --stdin -b 10m -s --od | httpx -silent

# Расширенная фильтрация wildcard, вывод JSONL
./ksubdomain v -f domains.txt --wildcard-filter advanced --format jsonl -o output.jsonl

# Параллельная работа с несколькими интерфейсами (суммирование пропускной способности)
./ksubdomain v -f domains.txt --interface eth0 --interface eth1

Режим перебора (enum)

Перебор поддоменов для указанного домена на основе словаря и алгоритма предсказания.

root@kitploit:~
Опции:
  --domain, -d          Целевой основной домен (можно повторять)
  --domain-list, --ds   Файл со списком основных доменов
  --filename, -f        Путь к файлу словаря (по умолчанию встроенный словарь)
  --use-ns-records      Читать NS-записи домена и добавлять их в DNS-резолверы
  (остальные опции как в режиме verify)
root@kitploit:~
# Перебор одного домена (с использованием встроенного словаря)
./ksubdomain e -d example.com

# Указание файла словаря
./ksubdomain e -d example.com -f subdomains.txt -o result.txt

# Включение режима предсказания + расширенная фильтрация wildcard
./ksubdomain e -d example.com --predict --wildcard-filter advanced

# Пакетный перебор нескольких основных доменов
./ksubdomain e --domain-list roots.txt -b 10m --format jsonl -o result.jsonl

# Передача в httpx через конвейер
./ksubdomain e -d example.com --od -s | httpx -silent

Команды test/device

root@kitploit:~
# Тестирование максимальной скорости отправки сетевой карты
./ksubdomain test

# Просмотр доступных сетевых интерфейсов
./ksubdomain device

✨ Функциональные особенности

Адаптивное динамическое время ожидания

Нет необходимости вручную задавать --timeout: движок автоматически корректирует верхнюю и нижнюю границы таймаута на основе измеренного RTT (экспоненциально взвешенное скользящее среднее, EWMA α=0.125), эффективно снижая количество пропусков и избегая ненужного ожидания.

Параллельная работа с несколькими сетевыми интерфейсами

Повторное указание --interface позволяет использовать несколько сетевых карт для одновременной отправки пакетов. Несколько горутин совместно используют один domainChan для конкурентного потребления, что естественным образом обеспечивает балансировку нагрузки:

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

Режим предсказания

При включении --predict инструмент на основе уже обнаруженных поддоменов предсказывает возможные связанные поддомены, повышая вероятность обнаружения.

Фильтрация wildcard-записей

  • none: без фильтрации (по умолчанию)
  • basic: базовая фильтрация, исключение очевидных wildcard-IP
  • advanced: расширенная фильтрация, многофакторный анализ

Форматы вывода

🔗 Примеры интеграции инструментов

root@kitploit:~
# Совместно с httpx для обнаружения живых веб-серверов
./ksubdomain e -d example.com -s --od | httpx -silent

# Совместно с nuclei для сканирования уязвимостей
./ksubdomain e -d example.com -s --od | nuclei -l /dev/stdin

# Потоковая обработка JSONL, извлечение только A-записей
./ksubdomain e -d example.com --format jsonl | jq -r 'select(.type=="A") | .domain'

# Пакетный перебор нескольких доменов + дедупликация
./ksubdomain e --domain-list roots.txt -s --od | sort -u > all_subs.txt

🌐 Особенности платформ

macOS:

root@kitploit:~
# Буфер BPF мал, рекомендуется ограничить пропускную способность
sudo ./ksubdomain e -d example.com -b 5m

WSL/WSL2:

root@kitploit:~
# Обычно используется eth0
./ksubdomain e -d example.com --interface eth0

Windows:

root@kitploit:~
# Требуется предварительная установка Npcap, запуск от имени администратора
.\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",
})

// 阻塞式,收集所有结果
results, err := scanner.Enum("example.com")

// 流式回调,实时处理
err = scanner.EnumStream(ctx, "example.com", func(r sdk.Result) {
    fmt.Printf("%s => %v\n", r.Domain, r.Records)
})

Подробнее см. документацию SDK и документацию API.

🧪 Тестирование

root@kitploit:~
# Модульные тесты (без root)
go test ./pkg/...

# Регрессионные тесты (требуется root + сеть)
go build -o ksubdomain ./cmd/ksubdomain
sudo go test ./test/regression/... -tags regression -v -timeout 120s

💡 Ссылки

  • Исходный проект KSubdomain: knownsec/ksubdomain
  • Принцип сканирования без сохранения состояния: paper.seebug.org/1052
  • Введение в KSubdomain: paper.seebug.org/1325

📜 Лицензия

MIT License — подробнее см. LICENSE

Скачать инструмент
ИнструментМетодВремяУспешно
KSubdomainpcap отправка через сетевую карту~30 сек1397
massdnspcap/socket~3 мин 29 сек1396
dnsxsocket~5 мин 26 сек1396
ФорматОписаниеСценарий использования
txtдомен => запись, вывод в реальном времениПо умолчанию, для ручного просмотра
jsonПолный JSON, запись после завершенияДля программного анализа
csvТаблица CSV, запись после завершенияДля анализа данных
jsonlОдна JSON-строка на строку, вывод в реальном времениПотоковая обработка, конвейер