PolarDNS: новый бесплатный DNS-сервер для исследования уязвимостей и пентеста

PolarDNS: новый бесплатный DNS-сервер для исследования уязвимостей и пентеста

Будет ли инструмент играть на стороне хакеров?

image

Компания Oryxlabs разработала новый бесплатный DNS-сервер на Python 3.x для исследований в области кибербезопасности и пентестинга, получивший название PolarDNS. Сервер позволяет генерировать полностью настраиваемые ответы DNS для тестирования различных аспектов DNS-протокола, включая резолверы DNS на стороне сервера (DNS resolvers), клиенты, библиотеки, парсеры DNS и диссекторы DNS, а также любое ПО, обрабатывающее информацию DNS.

PolarDNS поддерживает как UDP, так и TCP протоколы, предоставляя операторам полный контроль над слоем DNS-протокола. Сервер способен генерировать нестандартные, несоответствующие и нарушающие стандарты RFC ответы DNS, в том числе сформированные некорректно.

Среди возможностей PolarDNS:

  • Создание последовательностей и циклов записей CNAME;
  • Изменение заголовков DNS;
  • Добавление несанкционированных записей, что может привести к отравлению кэша DNS;
  • Вставка случайных байтов в ответы;
  • Генерация неполных, пустых или содержащих нулевые байты ответов DNS;
  • Определение проблем со сжатием данных в DNS-ответах (циклы, недопустимые указатели);
  • Изменение размера пакетов в TCP-соединениях.

Сервис может быть полезен для функционального тестирования, проверки соответствия требованиям RFC (Request for Comments), исследований в области безопасности и выявления уязвимостей. PolarDNS обладает способностью обнаруживать различные виды уязвимостей, включая атаки типа Sloth Domain Attack, Phantom Domain Attack, блокирование доменов, отравление кэша DNS, истощение системных ресурсов, приводящее к сбоям и «отказу в обслуживании» (Denial of Service, DoS). Сервер предоставляет гибкие настройки для разработки и тестирования новых практик, сценариев, функций и доказательств концепции (Proof of Concept, PoC).

Для запуска PolarDNS необходимо выполнить команду python polardns.py. Сервер по умолчанию начинает прослушивание на localhost (127.0.0.1), используя UDP и TCP порты 53 для обработки DNS-запросов. Для проверки функционирования сервера предлагается выполнить примерные запросы в режимах UDP и TCP. Успешный ответ с записью A и IP-адресом 2.3.4.5 подтверждает корректную работу сервера.

Для установки PolarDNS требуется Python версии 3.10 или новее и установленный модуль PyYAML. После настройки конфигурационного файла polardns.yml с указанием домена и IP-адресов сервера имен, сервер готов к использованию.

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!