Группа специалистов разработала новый вектор атаки класса DNS cache poisoning, получивший название «MaginotDNS». Этот метод нацелен на CDNS-резолверы и может скомпрометировать домены верхнего уровня TLD.
Эксперты смогли создать MaginotDNS из-за несоответствия в имплементации проверок безопасности, которые реализованы в различных софтовых и серверных режимах DNS. В итоге перед вектором уязвима приблизительно треть всех серверов CDNS.
Исследователи представили свой отчёт на конференции Black Hat 2023. Сейчас, по их словам, проблема решена на программном уровне. Смысл MaginotDNS в том, чтобы обойти защитные механизмы, которые ранее были введены для борьбы с атаками вида DNS cache poisoning.
Резолверы CDNS поддерживают как рекурсивный режим, так и переадресацию запросов. Такой подход используется провайдерами для снижения затрат и более продуманного контроля доступа.
Специалисты нашли несоответствия в проверках DNS-софта: BIND9 (CVE-2021-25220), Knot Resolver (CVE-2022-32983), Microsoft DNS и Technitium (CVE-2021-43105).
В отдельных случаях даже попадались крайне уязвимые конфигурации: например, все записи обрабатывались так, будто находились в корневом домене. На Black Hat 2023 представили как on-path, так и off-path способы атаки. Последние сложнее реализовать, но они и будут более полезны для злоумышленников.
Для успешной атаки киберпреступники должны вычислить исходный порт и идентификатор транзакции, которые использует рекурсивный DNS-сервер при генерации запроса. Затем — задействовать вредоносный DNS-сервер для отправки фейковых ответов с верными параметрами.
В случае BIND9 оба параметра можно получить с помощью брутфорса: потребуются 3600 циклов запросов. У Microsoft DNS это число ещё меньше — 720 циклов. Исследователи поделились видеодемонстрацией атаки: