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

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

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

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

3 ответа

Для атаки № 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 File Script для блокировки плохих доменов, который, как и следовало ожидать, использует файлы хостов на локальных машинах, что звучит странно, но, возможно, можно использовать объект групповой политики, чтобы вытолкнуть его на ваши клиенты Windows (до тех пор, пока разрешения пользователя не разрешают any hosts file tampering and also assuming that your Active Directory controls all PCs that you want to use the blacklist for).

As for reporting on the blockages, that's a little tougher since Windows DNS doesn't really have response-per-domain reports that I've found. What might be to your advantage would be to CNAME the blacklisted domains, and then use the faculties of the web server that you CNAME the blacklisted domains to as a means of checking up on who's doing what. You could theoroetically deconstruct the incoming HTTP requests based on referring domain and source IP address and make quite the set of nifty reports. AWStats might even be of some out-of-the-box help.

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

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

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

В README задокументировано намного больше функций. Я призываю вас проверить это.

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

Install-Module DnsBlockList

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

Другие вопросы по тегам