Назад | Перейти на главную страницу

Черная дыра DNS на DNS-сервере Windows

Я собираюсь настроить наши DNS-серверы Windows для некоторого типа операции черной дыры на основе DNS. В идеале мы могли бы использовать каналы с MalwareDomains.com и т.п. Мне было любопытно, как можно было бы настроить и реализовать такую ​​установку. Рабочий процесс будет выглядеть примерно так:

  1. Скрипт для извлечения и анализа списка каналов
  2. Скрипт для публикации списка каналов в Windows DNS
  3. Плохие соединения остановлены из-за новых записей DNS

Проблема, с которой я столкнулся, связана с шагом 2. Я не знаю, как опубликовать большой список записей DNS на DNS-сервере Windows. В идеале это подойдет для Server 2008 или новее.

Чтобы атаковать # 2, "Скрипт для публикации списка каналов в Windows DNS", скорее всего, вы будете использовать dnscmd в каком-то качестве. Вам нужно будет использовать некоторые командлеты PowerShell (например, get-content и write-host для возможных примеров), чтобы разделить список каналов на части информации, которые имеют отношение к созданию A или CNAME запись на вашем собственном DNS-сервере. Затем вставьте соответствующую информацию в переменные для dnscmd работать с.

Чтобы атаковать # 3, вы бы создали записи, которые вводят людей в заблуждение. Так что либо A записи, которые указывают на IP-адрес под вашим контролем (возможно, веб-сервер, который вы контролируете, который говорит «Вас заблокировали! Ожидайте звонка от HR lol !! 1») или просто отправьте людей на 0.0.0.0. Другой вариант - привязать домены к CNAME на контролируемом вами веб-сервере.

Вместо того, чтобы строить это самостоятельно, подумайте о том, чтобы стоять на спине того, кто проделал большую часть этой работы за вас: Инструмент Windows DNS Server Sinkhole Domains Tool. Это сценарий PowerShell, поддерживаемый институтом SANS, который управляет черными списками DNS на DNS-сервере Windows. Есть родственный проект под названием Скрипт файла Windows HOSTS для блокировки плохих доменов который, как и ожидалось, использует файлы хостов на локальных машинах, что звучит неприглядно, но, возможно, можно использовать объект групповой политики для передачи его вашим клиентам Windows (если разрешения пользователя запрещают подделку файлов хостов, а также при условии, что ваш Active Directory контролирует все ПК который вы хотите использовать в черном списке).

Что касается отчетов о блокировках, то это немного сложнее, поскольку в Windows DNS на самом деле нет отчетов по ответам для каждого домена, которые я нашел. Что может быть вам выгодно, это занести CNAME в домены из черного списка, а затем использовать возможности веб-сервера, на который вы CNAME заносите домены в черный список, как средство проверки того, кто что делает. Теоретически вы можете деконструировать входящие HTTP-запросы на основе ссылающегося домена и исходного IP-адреса и создать целый набор отличных отчетов. AWStats может даже оказать некоторую помощь "из коробки".

Некоторое время назад я опубликовал модуль PowerShell DnsBlockList доступно на GitHub и Галерея PowerShell.

Он изначально принимает списки из SANS, ZeusTracker и доменов вредоносных программ с возможностью добавлять списки, создавать свои собственные и т. Д. Хитрость заключается в синтаксическом анализе этих списков, поскольку этот процесс может потребовать дополнительной логики в зависимости от формата, в котором он находится. Однако есть место для этого тоже!

Политика разрешения запросов создается для каждого блокируемого домена. Это позволяет избежать создания записей DNS для адресов обратной связи.

В ПРОЧТИ МЕНЯ. Я рекомендую вам проверить это.

После публикации в галерее PowerShell установить модуль очень просто:

Install-Module DnsBlockList

На сайте есть инструкция, которую вы упомянули: http://www.malwaredomains.com/?page_id=6#MS и специальный формат файла для этой инструкции: http://mirror1.malwaredomains.com/files/BOOT