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

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

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

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

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

Категории

Все категории
Loading categories
massdns — Высокопроизводительный DNS-резолвер для массовых запросов и разведки (перебор поддоменов) | Kitploit
Инструменты/GitHubGitHub/blechschmidt/massdns
OSINT (Разведка открытых источников)РазведкаПеречисление DNS и поддоменовСбор информацииПеречисление ПоддоменовDNS-ФаззингАнализ DNSТоп в Анализ DNS №4Топ в DNS-Фаззинг №1Топ в Перечисление DNS и поддоменов №7
3.6k504973 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Топ в Перечисление Поддоменов №7
GitHubblechschmidt/massdns

massdns

Высокопроизводительный DNS-резолвер для массовых запросов и разведки (перебор поддоменов)

Репозиторий

MassDNS

Высокопроизводительный DNS-резолвер-заглушка

MassDNS — это простой высокопроизводительный DNS-резолвер-заглушка, предназначенный для тех, кому необходимо разрешить огромное количество доменных имён — порядка миллионов или даже миллиардов. Без специальной настройки MassDNS способен обрабатывать более 350 000 запросов в секунду, используя общедоступные резолверы.

Авторы

  • Quirin Scheitle, Мюнхенский технический университет

Сборка

Клонируйте git-репозиторий и выполните cd в корневую папку проекта. Затем запустите make для сборки из исходного кода. Если вы работаете не на Linux, выполните make nolinux. В Windows потребуются пакеты Cygwin: gcc-core, git и make.

Использование

Usage: ./bin/massdns [options] [domainlist]
  -b  --bindto             Bind to IP address and port. (Default: 0.0.0.0:0)
      --busy-poll          Use busy-wait polling instead of epoll.
  -c  --resolve-count      Number of resolves for a name before giving up. (Default: 50)
      --drop-group         Group to drop privileges to when running as root. (Default: nogroup)
      --drop-user          User to drop privileges to when running as root. (Default: nobody)
      --extended-input     Input names are followed by a space-separated list of resolvers.
                           These are used before falling back to the resolvers file.
      --filter             Only output packets with the specified response code.
      --flush              Flush the output file whenever a response was received.
  -h  --help               Show this help.
      --ignore             Do not output packets with the specified response code.
  -i  --interval           Interval in milliseconds to wait between multiple resolves of the same
                           domain. (Default: 500)
  -l  --error-log          Error log file path. (Default: /dev/stderr)
      --norecurse          Use non-recursive queries. Useful for DNS cache snooping.
  -o  --output             Flags for output formatting.
      --predictable        Use resolvers incrementally. Useful for resolver tests.
      --processes          Number of processes to be used for resolving. (Default: 1)
  -q  --quiet              Quiet mode.
      --rand-src-ipv6      Use a random IPv6 address from the specified subnet for each query.
      --rand-src-ipv6-file Use a random IPv6 address from the specified file.
      --rcvbuf             Size of the receive buffer in bytes.
      --retry              Unacceptable DNS response codes.
                           (Default: All codes but NOERROR or NXDOMAIN)
  -r  --resolvers          Text file containing DNS resolvers.
      --root               Do not drop privileges when running as root. Not recommended.
  -s  --hashmap-size       Number of concurrent lookups. (Default: 10000)
      --sndbuf             Size of the send buffer in bytes.
      --status-format      Format for real-time status updates, json or ansi (Default: ansi)
      --sticky             Do not switch the resolver when retrying.
      --socket-count       Socket count per process. (Default: 1)
  -t  --type               Record type to be resolved. (Default: A)
      --verify-ip          Verify IP addresses of incoming replies.
  -w  --outfile            Write to the specified output file instead of standard output.

Output flags:
  L - domain list output
  S - simple text output
  F - full text output
  B - binary output
  J - ndjson output

Advanced flags for the domain list output mode:
  0 - Include NOERROR replies without answers.

Advanced flags for the simple output mode:
  d - Include records from the additional section.
  i - Indent any reply record.
  l - Separate replies using a line feed.
  m - Only output reply records that match the question name.
  n - Include records from the answer section.
  q - Print the question.
  r - Print the question with resolver IP address, Unix timestamp and return code prepended.
  s - Separate packet sections using a line feed.
  t - Include TTL and record class within the output.
  u - Include records from the authority section.

Advanced flags for the ndjson output mode:
  e - Write a record for each terminal query failure.

Подробное описание интерфейса командной строки приведено в man-странице: man ./doc/massdns.1.

Пример

Разрешить все AAAA-записи доменов из domains.txt, используя резолверы из resolvers.txt в каталоге lists, и сохранить результаты в results.txt:

$ ./bin/massdns -r lists/resolvers.txt -t AAAA domains.txt > results.txt

Эквивалентно следующему:

$ ./bin/massdns -r lists/resolvers.txt -t AAAA -w results.txt domains.txt

Пример вывода

По умолчанию MassDNS выводит ответные пакеты в текстовом формате, который выглядит примерно так:

;; Server: 77.41.229.2:53
;; Size: 93
;; Unix time: 1513458347
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51298
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
example.com. IN A

;; ANSWER SECTION:
example.com. 45929 IN A 93.184.216.34

;; AUTHORITY SECTION:
example.com. 24852 IN NS b.iana-servers.net.
example.com. 24852 IN NS a.iana-servers.net.

IP-адрес резолвера включён для упрощения фильтрации вывода в случае, если вы обнаружите, что некоторые резолверы выдают некорректные результаты.

Разрешение имён

Репозиторий содержит файл resolvers.txt — отфильтрованное подмножество резолверов из проекта subbrute. Обратите внимание, что использование MassDNS может создавать значительную нагрузку на используемые резолверы и приводить к жалобам на злоупотребление, направляемым вашему интернет-провайдеру. Также учтите, что предоставленные резолверы не гарантируют доверия. Список резолверов в настоящее время устарел, большая часть резолверов неработоспособна.

Собственная реализация DNS в MassDNS, не использующая malloc, на данный момент поддерживает только самые распространённые типы записей. Вы можете помочь изменить это, участвуя в разработке.

PTR-записи

MassDNS включает Python-скрипт, позволяющий разрешить все PTR-записи IPv4, выводя соответствующие запросы в стандартный поток вывода.

$ ./scripts/ptr.py | ./bin/massdns -r lists/resolvers.txt -t PTR -w ptr.txt

Имейте в виду, что метки в пространстве in-addr.arpa имеют обратный порядок. Чтобы разрешить доменное имя для 1.2.3.4, MassDNS ожидает 4.3.2.1.in-addr.arpa в качестве имени входного запроса. Как следствие, Python-скрипт разрешает записи не в порядке возрастания, что является преимуществом, так как позволяет избежать внезапных резких пиков нагрузки на серверы имён подсетей IPv4.

Разведка с помощью брутфорса поддоменов

Выполняйте разведывательное сканирование ответственно и настраивайте параметр -s, чтобы не перегружать авторитетные DNS-серверы.

Аналогично subbrute, MassDNS позволяет брутфорсить поддомены с помощью скрипта subbrute.py:

$ ./scripts/subbrute.py example.com lists/names.txt | ./bin/massdns -r lists/resolvers.txt -t A -o S -w results.txt

В качестве дополнительного метода разведки скрипт ct.py извлекает поддомены из журналов сертификатной прозрачности, собирая данные с crt.sh:

$ ./scripts/ct.py example.com | ./bin/massdns -r lists/resolvers.txt -t A -o S -w results.txt

Файлы names.txt и names_small.txt, скопированные из проекта subbrute, содержат имена часто используемых поддоменов. Также рассмотрите возможность использования компиляции поддоменов Джейсона Хэддикса с более чем 1 000 000 имён или список слов Assetnote с более чем 9 000 000 имён.

Скачать инструмент