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