Как закрыть 445 порт на windows server 2012

Рассмотрим как можно закрыть порты 135 и 445 в версиях Windows 2008/2012. В связи с тем что в начале апреля

Рассмотрим как можно закрыть порты 135 и 445 в версиях Windows 2008/2012.
В связи с тем что в начале апреля в сеть были выложены инструменты для обхода защиты Windows, в частности по портам 445 и 135.
Подробнее в новости xakep.ru/2017/04/24/doublepulsar/

Исправление уязвимости доступно установкой обновлений MS17-010, CVE-2017-0146, и CVE-2017
Более подробно по ссылке geektimes.ru/post/288148/

Рассмотрим 2 варианта создания правил в брандмауере, через командную строку и через графический интерфейс.
Инструкция для настройки разрешения подключения только с доверенных адресов находится после Windows 2012

Windows 2008

Первый вариант, через командную строку

1. Через меню «Пуск» находим приложение cmd

2. Вводим или вставляем команду

netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=135 name="Block_TCP-135

Нажимаем Enter, ждём сообщения Ok

Вводим или вставляем вторую команду

netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=445 name="Block_TCP-445"

Нажимаем Enter, ждём сообщения Ok

Второй вариант, через графический интерфейс

1. В меню «Пуск» находим — панель управления

2. Заходим в панель управления, в поиск вводим «брандмауер» и запускаем панель управления брандмауером Windows

3. Входим в «Дополнительные параметры»

4. Выбираем строку «Правила входящих подключений» и нажимаем на «Создать новое правило»

5. Устанавливаем отметку «Для порта», нажимаем далее

6. Выбираем «Протокол TCP» и «определенные локальные порты», вводим в поле 135 и 445 через запятую, нажимаем далее

7. Выбираем блокировать «Блокировать», нажимаем далее

8. Оставляем все отметки, нажимаем далее

9. Вводим имя правила, нажимаем «Готово»

Windows 2012

Шаги по настройке для Windows 2012 не отключаются от 2008, отличия только в интерфейсе.

Отличия при настройке через командную строку

1. Найдем приложение cmd

2. Вводим команду, нажимаем Enter, ждем сообщения Ok

netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=135,445 name="Block_TCP-135,445"

Отличия при настройке через графический интерфейс

1. Кнопка запуска панели управления находится на стартовом экране, так же Вы можете найти панель управления через поиск на стартовом экране.

Остальные шаги идентичны Windows 2008

Настройка на Windows 2016 идентична Windows 2012

По указанным шагам возможна блокировка любых TCP/UDP портов.

Настройка доступа по портам 135 и 445 только доверенным адресам

1. Отключим системные разрешающие правила для портом 135 и 445
Выберем правила: Управление DFS (входящий трафик SMB) и Управление DFS (входящий трафик DCOM)
Нажимаем «Отключить правило»

2. Создадим новое правило, выберем тип правила «настраиваемое»

3. Выбираем «все программы»

4. Выбираем тип протокола TCP, локальный порт указываем «специальные порты», в поле вводим 135 и 445 через запятую

5. Укажем удаленный доверенный адрес, к примеру это может быть ip адрес Вашего офиса, выбираем «указанные адреса», нажимаем «добавить»

6. Вводим адрес в строку, если у Вас подсеть или диапазон, их требуется вводить в указанном в окне виде

7. Проверяем введенный адрес, нажимаем далее

8. Выбираем «разрешить подключение»

9. Оставляем все отмеченное, нажимаем далее

10. Даём название, нажимаем «готово»

  • Remove From My Forums
  • Вопрос

  • Hello

    I don’t know how to close port 445. I tried to add a new registy in my GPO, in Computer Configuration/Preferences/Windows settings/Registry, on the key
    SYSTEMCurrentControlSetServicesNetBTParametersTransportBindName.

    I tried to delete the key, to delete the value but nothing worked  the registry value was not updated or deleted.

    How can I disable port 445? Disabling this port could affect my active directory network or WSUS server? Is windos using this port to propagate GPOs or to receive some updates? I don’t need to browse files on my network.

    Thank you.

    • Изменено

      18 мая 2017 г. 8:34

В мире чуть ли не каждый день десятки компьютеров заражаются опасными вирусами, и всё больше пользователей начинают искать способы повышения безопасности своего персонального компьютера.

Наиболее часто заражаются ПК под управлением операционной системы Windows. Связано это с тем, что большинство вирусов проникают в ОС через определенные входящие подключения, так называемые «порты», которые, к сожалению, являются включёнными по умолчанию.

Несколько упрощая, понятие «порт» можно определить как номер входящего подключения внешних программ (в том числе и вирусов) к вашему компьютеру через IP-сеть. Каждому порту присваивается уникальный номер для определения единственно возможного получателя данных в операционной системе.

Проникнув в компьютер, вирусы начинают заражать данные пользователя и открывают все ранее закрытые порты Виндовс для более быстрого распространения по системе. Чтобы этого не произошло, необходимо блокировать самые уязвимые порты, тем самым предотвратив возможность заражения и подняв безопасность Windows на уровень выше.

Самые уязвимые порты Windows 7 – 10

Исследование самых крупных вирусных взломов показывает, что 80% паразитного трафика проходит через 4 порта, используемые для обмена данными между разными версиями ОС Виндовс. Наиболее уязвимыми открытыми портами Windows считаются:

TCP порт 445 (он используется для обмена файлами)
TCP порт 139 (предназначен для удаленного подключения к компьютеру)
UDP порт 137 (служит для поиска информации на других компьютерах)
TCP порт 135 (через него выполняются задания команд)

Как проверить, какие порты открыты

Чтобы узнать, есть ли на вашем устройстве отрытые уязвимые порты, воспользуйтесь сканером портов от Whoer.net. Определив ваш IP-адрес и используя nmap, сервис проверки открытых портов покажет, какие порты открыты на вашем устройстве и какие программы их используют. Вы получите взгляд извне, чтобы ясно представлять, насколько ваше устройство уязвимо и открыто опасностям большого Интернета.

scanner port

Как закрыть порты с 135 по 139 и 445 в Windows?

Есть множество вариантов закрытия портов Виндовс, но в статье мы рассмотрим самые простые способы это сделать.

Способ 1 – использование командной строки

Командная строка Windows используется для задания значений тем настройкам системы, у которых нет графического интерфейса. К таковым функциям и относятся рассматриваемые открытые порты подключений.

Командная строка запускается в несколько этапов:

Нажмите сочетание клавиш Win+R
В появившемся окне выполнения команд наберите CMD
Нажмите «ОК»

Использование командной строки

Перед вами появится окно с черным фоном. По очереди скопируйте в него представленные ниже строчки и нажмите клавишу ввода:

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=135 name=“Block1_TCP-135”

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=137 name=“Block1_TCP-137”

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=138 name=“Block1_TCP-138”

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=139 name=“Block_TCP-139” (команда помогает закрыть порт 139)

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=445 name=“Block_TCP-445” (команда помогает закрыть порт 445)

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=5000 name=“Block_TCP-5000”

Скопируйте в него представленные строчки и нажмите клавишу ввода

Эти шесть команд закрывают 4 перечисленных выше самых опасных открытых порта Windows, а также порт 5000, отвечающий за обнаружение открытых сервисов, и UDP порт 138 разрешения имен NetBIOS.

Способ 2 – использование сторонних программ

Чтобы не использовать ручную работу с командной строкой, можно использовать стороннее программное обеспечение. Суть его работы сводится к такой же правке реестра, как в способе выше, только в визуальном отображении.

Рекомендуем к использованию Windows Doors Cleaner, которая легко может закрыть порты на компьютере (в Windows 10 – 7: старые версии ОС данная программа не поддерживает).

Инструкция по работе с программой, закрывающей порты

  1. Скачайте и установите программу
  2. Установленную программу необходимо запустить с правами администратора
  3. В появившемся окне при нажатии кнопок «Сlose» или «Disable» отключаются и закрываются все уязвимые порты Windows

Инструкция по работе с программой, закрывающей порты

  1. После внесения необходимых изменений, перезагрузите Windows

Важно отметить, что с помощью этой программы можно не только закрыть, но и открыть порты.

Заключение

Помимо закрытия самых опасных сетевых портов компьютера необходимо не забывать, что этими действиями не достигается максимальная безопасность для операционной системы.

На вашей Windows необходимо устанавливать присылаемые Microsoft критические пакеты обновлений, антивирусные программы, безопасные браузеры и другое ПО, повышающее безопасность и анонимность.

Предлагаем обсудить в комментариях тему защиты сетевых портов и делиться полезными методами повышения конфиденциальности. Не забудьте отправить ссылку на эту статью вашим друзьям, чтобы они тоже знали, как закрыть открытые порты Windows.

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

  • Remove From My Forums
  • Question

  • Hello

    I don’t know how to close port 445. I tried to add a new registy in my GPO, in Computer Configuration/Preferences/Windows settings/Registry, on the key
    SYSTEMCurrentControlSetServicesNetBTParametersTransportBindName.

    I tried to delete the key, to delete the value but nothing worked  the registry value was not updated or deleted.

    How can I disable port 445? Disabling this port could affect my active directory network or WSUS server? Is windos using this port to propagate GPOs or to receive some updates? I don’t need to browse files on my network.

    Thank you.

    • Edited by

      Thursday, May 18, 2017 8:34 AM

  • Remove From My Forums
  • Question

  • Hello

    I don’t know how to close port 445. I tried to add a new registy in my GPO, in Computer Configuration/Preferences/Windows settings/Registry, on the key
    SYSTEMCurrentControlSetServicesNetBTParametersTransportBindName.

    I tried to delete the key, to delete the value but nothing worked  the registry value was not updated or deleted.

    How can I disable port 445? Disabling this port could affect my active directory network or WSUS server? Is windos using this port to propagate GPOs or to receive some updates? I don’t need to browse files on my network.

    Thank you.

    • Edited by

      Thursday, May 18, 2017 8:34 AM

SMB (Server Message Block) is a network protocol that provides communication between server and client for many years. It is mostly used for accessing shares, network connections or printer connections. Every port that you do not use and is open to the outside is exposed to brute force attacks by malicious people, and your system may infiltrate when a vulnerability occurs.

Especially the SMB port, which came to the fore with Wannacry Cyber Attacks, is exposed to a lot of brute force attacks these days. If you are using Windows Hosting and Windows Server Server, it would be useful to disable this port’s external access.

How to close port 445 on Windows?

To close port 445 in Windows operating systems, you can first turn off port 445 from the firewall. Second, you can turn it off from your personal computer. To do this operation, you must have “Administrator” user or “Administrator” authority.

After logging in, let’s open Regedit with “CTRL + R” keys or by saying “start> run“.

Regedit

Regedit
Regedit
Regedit

Then, we expand the statements such as “HKEY_LOCAL_MACHINE> System> CurrentControlSet> Services” on the screen that opens.

HKEY_LOCAL_MACHINE> System> CurrentControlSet> Services

HKEY_LOCAL_MACHINE> System> CurrentControlSet> Services

Under the Services tab, we open the “NetBT” and “Parameters” values.

"NetBT" and "Parameters"

“NetBT” and “Parameters”

We click and open the “TransportBindName” value in the Parameters section.

TransportBindName

TransportBindName

Here, we delete the “Device” data and save it with the “OK” button.

TransportBindName

TransportBindName
TransportBindName
TransportBindName

Then we restart our operating system and our port 445 is now closed.

Аннотация

Блок сообщений сервера (SMB) — это протокол сетевого обмена файлами и тканью данных. МБ используется десятками устройств в разных операционных системах, включая Windows, MacOS, iOS, Linux и Android. Клиенты используют SMB для доступа к данным на серверах. Это позволяет делиться файлами, централизованное управление данными и снизить объем памяти для мобильных устройств. Серверы также используют SMB как часть программного центра обработки данных для таких рабочих нагрузок, как кластеризация и репликация.

Так как SMB — это удаленная файловая система, она требует защиты от атак, при которых компьютеры с Windows могут быть обмануты в контакты с вредоносным сервером, работающим в доверенной сети, или с удаленным сервером за пределами периметра сети. Правила и конфигурации брандмауэра повышают безопасность и предотвращают выход вредоносного трафика с компьютера или из его сети.

Эффект изменений

Блокировка подключения к SMB может помешать работе различных приложений или служб. Список приложений и служб Windows и Windows Server, которые могут перестать работать в этой ситуации, см. в обзоре служб и требованиях к сетевому порту для Windows

Дополнительная информация

Подходы брандмауэра периметра

Брандмауэры оборудования и устройств периметра, которые находятся в границе сети, должны блокировать нежелательные сообщения (из Интернета) и исходяющий трафик (через Интернет) к следующим портам.
 

Протокол приложений

Протокол

Порт

 SMB

 TCP

445

Разрешение имен NetBIOS

UDP

137

Служба датаграмм NetBIOS

UDP

138

Служба сеансов NetBIOS

TCP

139


Маловероятно, что какие-либо SMB-сообщения, происходящие из Интернета или предназначенные для Интернета, являются законными. Основной случай может быть для облачного сервера или службы, например файлов Azure. В брандмауэре периметра следует создать ограничения на основе IP-адресов, чтобы разрешить только определенные конечные точки. Организации могут разрешить доступ через порт 445 к определенным центрам обработки данных Azure и диапазонам IP-адресов O365, чтобы включить гибридные сценарии, в которых клиенты локальной организации (за брандмауэром предприятия) используют порт SMB для разговора с хранилищем файлов Azure. Также следует разрешить только 3 МБ.x трафик и требуется шифрование SMB AES-128. Дополнительные сведениясм. вразделе «Ссылки».

Примечание. Использование транспорта NetBIOS для SMB прекратилось в Windows Vista, Windows Server 2008 и во всех более поздних операционных системах Майкрософт, когда корпорация Майкрософт представила SMB 2.02. Однако в вашей среде могут быть программное обеспечение и устройства, не в том числе Windows. Следует отключить и удалить SMB1, если вы еще не сделали этого, так как она по-прежнему использует NetBIOS. Более поздние версии Windows Server и Windows больше не устанавливают SMB1 по умолчанию и будут автоматически удалять его, если это разрешено.

Защитник Windows брандмауэра

Все поддерживаемые версии Windows и Windows Server включают брандмауэр Защитник Windows (ранее — брандмауэр Windows). Этот брандмауэр обеспечивает дополнительную защиту устройств, особенно если они перемещаются за пределы сети или запускаются в пределах одной из них.

Брандмауэр Защитник Windows имеет отдельные профили для определенных типов сетей: «Домен», «Частное» и «Гость/общедоступный». По умолчанию гостевой и общедоступный сети имеют гораздо более строгие параметры, чем для надежных доменных и частных сетей. Для этих сетей могут действовать различные ограничения SMB в зависимости от оценки угрозы и потребностей, необходимых для эксплуатации.

Входящие подключения к компьютеру

На клиентах и серверах Windows, на которые не были мб-серверы, можно заблокировать весь входящий трафик SMB с помощью брандмауэра Защитник Windows для предотвращения удаленного подключения от вредоносных или скомпрометнных устройств. В брандмауэре Защитник Windows правила для входящие данной службы.

Имя

Профиль

Включено

Общий доступ к файлам и принтерам (SMB-in)

Все

Нет

Служба Netlogon (NP-In)

Все

Нет

Удаленное управление журналами событий (NP-In)

Все

Нет

Удаленное управление службами (NP-In)

Все

Нет


Следует также создать новое правило блокировки, чтобы переопредить другие правила брандмауэра входящие. Используйте следующие рекомендуемые параметры для клиентов Или серверов Windows, на которые не указываются SMB-акции:

  • Name: Блокировать все входящие SMB 445

  • Описание:блокирует весь входящий трафик TCP 445 для SMB. Этот стандарт не должен применяться к контроллерам доменов или компьютерам, на компьютерах с доступом к SMB-данным.

  • Действие:блокировка подключения

  • Программы:все

  • Удаленные компьютеры:any

  • Тип протокола:TCP

  • Локальный порт:445

  • Удаленный порт:любой

  • Профили:все

  • Область (локальный IP-адрес):any

  • Область (удаленный IP-адрес):любой

  • Edge Traversal: Block edge traversal

Не следует глобально блокировать входящий трафик SMB на контроллеры доменов или файловые серверы. Однако вы можете ограничить доступ к ним из надежных диапазонов IP-адресов и устройств, чтобы онизить их уровень атак. Кроме того, они должны быть ограничены профилями домена или частного брандмауэра и не позволяют использовать гостевой или общедоступный трафик.

Примечание. Брандмауэр Windows по умолчанию блокирует все входящие SMB-сообщения, так как windows XP с пакетом обновления 2 (SP2) и Windows Server 2003 с пакетом обновления 1 (SP1). Устройства с Windows позволяют входящие средства связи с SMB только в том случае, если администратор создает долю SMB или изменяет параметры брандмауэра по умолчанию. Не следует доверять, что стандартный стандартный режим остается на месте на устройствах. Всегда проверять параметры и их состояние, а также управлять ими можно с помощью групповой политики или других средств управления.

Дополнительные сведения см. в Защитник Windows брандмауэра с помощью стратегии дополнительной безопасности и Защитник Windows брандмауэра с помощью руководства по развертыванию advanced Security Deployment

Исходящие подключения с компьютера

Клиентам и серверам Windows требуются исходящие подключения к SMB, чтобы применить групповую политику с контроллеров домена, пользователей и приложений для доступа к данным на файловых серверах, поэтому необходимо соблюдать правила брандмауэра для предотвращения вредоносных подключений через Интернет или через Интернет. По умолчанию в клиенте Windows или на сервере, подключающихся к SMB-серверам, нет исходящие блоки, поэтому вам придется создавать новые правила блокирования.

Следует также создать новое правило блокировки, чтобы переопредить другие правила брандмауэра входящие. Используйте следующие рекомендуемые параметры для клиентов Или серверов Windows, на которые не указываются SMB-акции.

Гостевых и общедоступных (неподтверщенных) сетей

  • Name: Block outbound guest/Public SMB 445

  • Описание:блокирует весь исходящие трафик TCP 445 для SMB в ненаверщенной сети

  • Действие:блокировка подключения

  • Программы:все

  • Удаленные компьютеры:any

  • Тип протокола:TCP

  • Локальный порт:любой

  • Удаленный порт:445

  • Профили:гость/общедоступный

  • Область (локальный IP-адрес):any

  • Область (удаленный IP-адрес):любой

  • Edge Traversal: Block edge traversal

Примечание. Небольшие пользователи office и office для дома, а также мобильные пользователи, которые работают в корпоративных доверенных сетях и подключаются к своим домашним сетям, следует соблюдать осторожность, прежде чем блокировать общедоступные исходящие сети. Это может препятствовать доступу к локальным naS-устройствам или определенным принтерам.

Частные/доменные (доверенные) сети

  • Name: Allow outbound Domain/Private SMB 445

  • Описание:позволяет исходящие трафик SMB TCP 445 только на DCS и файловые серверы в надежной сети

  • Действие:разрешить подключение, если оно защищено

  • Настройка параметра «Разрешить», если параметрыбезопасности: выберите один из вариантов, задайте правила блокировки переопределения = ON

  • Программы:все

  • Тип протокола:TCP

  • Локальный порт:any

  • Удаленный порт:445

  • Профили:частный/домен

  • Область (локальный IP-адрес):any

  • Область (удаленный IP-адрес):<список IP-адресов контроллера домена и файлового>

  • Edge Traversal: Block edge traversal

Примечание. Вы также можете использовать удаленные компьютеры вместо областей удаленных IP-адресов, если защищенное подключение использует проверку подлинности, которая содержит удостоверение компьютера. Дополнительные сведения о параметрах «Разрешить подключение, если безопасно» и «Удаленный компьютер» можно получить в документации брандмауэра Защитника.

  • Name: Block outbound Domain/Private SMB 445

  • Описание:блокирует исходящие SMB-трафик TCP 445. Переопределять с помощью правила «Разрешить исходящие домены и частные SMB 445»

  • Действие:блокировка подключения

  • Программы:все

  • Удаленные компьютеры:Н/П

  • Тип протокола:TCP

  • Локальный порт:any

  • Удаленный порт:445

  • Профили:частный/домен

  • Область (локальный IP-адрес):any

  • Область (удаленный IP-адрес):Н/П

  • Edge Traversal: Block edge traversal

Не следует блокировать глобальный трафик SMB с компьютеров на контроллеры доменов или файловые серверы. Однако вы можете ограничить доступ к ним из надежных диапазонов IP-адресов и устройств, чтобы онизить их уровень атак.

Дополнительные сведения см. в Защитник Windows брандмауэра с помощью стратегии дополнительной безопасности и Защитник Windows брандмауэра с помощью руководства по развертыванию advanced Security Deployment

Правила подключения к безопасности

Правило подключения к безопасности необходимо использовать для реализации исключений из правил брандмауэра для правил «Разрешить подключение, если оно безопасно» и «Разрешить подключение использовать Инкапсуляцию NULL». Если это правило не задалось на всех компьютерах на базе Windows и Windows Server, проверка подлинности будет невозможна и для SMB будет заблокирован исходящие исходящие точки. 

Например, требуются следующие параметры:

  • Тип правила:Изоляция

  • Требования:запрос проверки подлинности для входящие и исходящие подключения

  • Способ проверки подлинности:компьютер и пользователь (Kerberos V5)

  • Профиль:домен, частный, общедоступный

  • Name: Isolation ESP Authentication for SMB overrides

Дополнительные сведения о правилах подключения к безопасности см. в следующих статьях:

  • Разработка брандмауэра Защитник Windows с помощью стратегии

  • Контрольный список: настройка правил для изолированной зоны сервераhttps://docs.microsoft.com/windows/security/threat-protection/windows-firewall/checklist-configuring-rules-for-an-isolated-server-zone

Windows Workstation и Server Service

Для компьютеров с ограниченными возможностями или с высокой изолированной работой, на которые вообще не требуются SMB-серверы, можно отключить службы Сервера или Рабочей станции. Это можно сделать вручную с помощью оснастки Services (Services.msc) и cmdlet PowerShell Set-Service или с помощью настроек групповой политики. Если остановить и отключить эти службы, SMB больше не сможет делать исходящие подключения или получать входящие подключения.

Вы не должны отключать службу «Сервер» на контроллерах доменов или файловых серверах, иначе клиенты больше не смогут применять групповую политику или подключаться к своим данным. Вы не должны отключать службу Workstation на компьютерах, которые являются членами домена Active Directory, или они больше не будут применять групповую политику.

Ссылки

Разработка брандмауэра Защитник Windows с помощью стратегии расширенных мер безопасности

Защитник Windows брандмауэра с помощью руководства по развертыванию

advanced Security Удаленные приложения
Azure IP-адреса центра обработки данных
Azure IP-адреса Microsoft O365

Принуждение к аутентификации. Что это и как защищаться?

В этой статье нападающие узнают, что coerce можно осуществлять не только с 445/tcp порта, а защитники обнаружат, как можно надежно запретить принуждение к аутентификации.

Содержание

0.0 Intro
1.0 Техники принуждения к аутентификации
1.1 Принуждение к аутентификации -> SMB (NTLM)
1.2 Принуждение к аутентификации -> SMB (Kerberos)
1.3 Принуждение к аутентификации -> HTTP (NTLM)

2.0 Плохие примеры защиты
2.1 Закрываем 445/tcp порт
2.2 Обходим закрытый 445/tcp порт
2.3 Закрываем 139/tcp порт
2.4 Обходим закрытый 445/tcp и 139/tcp порты
2.5 Закрываем 135/tcp порт
2.6 Обходим закрытый 445/tcp, 139/tcp и 135/tcp порты
2.7 Отключение spooler
2.8 Обходим отключенный spooler

3.0 ЗАЩИТА (true way)
3.1 NETSH RPC filter
3.2 Тестирование защиты

0. Intro

Принуждение к аутентификации, или coerce в англоязычных источниках, – это особенность Windows-систем, которая сейчас достаточно активно используется в целом ряде атак на инфраструктуру Active Directory. Так с её помощью реализуются атаки:

  • ADCS ESC8 (уязвимость)

  • Kerberos Delegation abuse (мисконфиг)

  • LDAP abuse (мисконфиг)

  • разнообразные ACL abuse (мисконфиг)

  • наличие учеток компьютеров в локальных админах явно или через группы (мисконфиг)

  • и многое другое.

Все эти страшные слова часто приводят сразу к захвату контроллеров домена, а вместе с ними почти всей внутренней инфраструктуры…

Принуждение к аутентификации кроется в ряде RPC-функций, которые удаленно может вызвать любой пользователь (не администратор). В среде Active Directory каждая доменная учетка является пользователем по отношению к любому компу. В итоге все хосты находятся во взаимодоверительных отношениях и вызвать подобные RPC-функции вправе любой и на любом узле. Поведение же данных функций заключается в попытке обращения к сетевому диску по протоколу SMB либо HTTP с использованием WebDAV. А всякое подобное обращение происходит с использованием сквозной аутентификации и бессознательной отправки хэша пароля в виде NetNTLM либо же Kerberos-билета. При этом аутентификация осуществляется всегда под учетной записью компьютера . Далее хэш может быть повторно использован в атаке перенаправления (relay) и обходе аутентификации, либо происходит получение TGT-билета, в зависимости от реализуемой атаки. Тема relay-атак достаточно обширна и не входит в рамки данной статьи, более подробно о них можно почитать в Интернете, например, тут.

Если коротко, то благодаря технике принуждения к аутентификации мы вполне легитимно можем попросить любой комп аутентифицироваться на любом другом компе. Более того, мы можем попросить любой комп аутентифицироваться на нашем компе и перенаправить его аутентификацию на третий комп.

И вся беда в том, что компания Microsoft отказалась признавать данную «особенность» как уязвимость. А для атакующего такие трюки открывают немалые перспективы.

1.0 Техники принуждения к аутентификации

На данный момент существует 4 различных техники принуждения к аутентификации:

Протокол

SMB-пайпы

SMB-интерфейсы

Функции

Эксплойт

MS_RPRN

pipespoolss

12345678-1234-ABCD-EF00-0123456789AB

opnum=1 RpcOpenPrinter(*pPrinterName, *pDatatype, pDevModeContainer, AccessRequired)

printerbug

MS_EFSR

PIPElsarpc, PIPEsamr, PIPElsass, PIPEnetlogon, PIPEefsrpc

c681d488-d850-11d0-8c52-00c04fd90f7e, df1941c5-fe89-4e79-bf10-463657acf44d

opnum=0 — EfsRpcOpenFileRaw(*fileName, Flag),

petitpotam

MS_DFSNM

PIPEnetdfs

4fc742e0-4a10-11cf-8273-00aa004ae673

opnum=13 NetrDfsRemoveStdRoot(*ServerName, *RootShare, ApiFlags),

dfscoerce

MS_FSRVP

PIPEFssagentRpc

a8e0653c-2744-4389-a61d-7373df8b2292

opnum=8 IsPathSupported(*ShareName), opnum=9 IsPathShadowCopied(*ShareName),

….

shadowcoerce

Каждая из представленных RPC-функций принимает в одном из параметров полный путь вида «\IPSharepathtosomething», позволяющий указать удаленный узел (UNC), куда будет произведено обратное подключение. Реально же перечень RPC-функций, принимающих UNC-путь, шире, чем задействовано в эксплойтах, но их упоминание все равно можно увидеть в коде.

В зависимости, от того, в каком виде задается цель для обратного подключения возможны 3 различных поведения.

1.1 Принуждение к аутентификации -> SMB (NTLM)

Если адрес обратного подключения задан в виде IP, то подключение будет производиться на сетевой диск по протоколу SMB, с использованием NTLM:

Здесь и далее 10.0.0.1 – это атакующий, 10.0.0.10 – это цель атаки.

Здесь и далее 10.0.0.1 – это атакующий, 10.0.0.10 – это цель атаки.

Аутентификация на SMB – это, как правило, либо доступ к сетевым дискам, либо сразу компрометация системы, т.к. при наличии должных прав атакующий сможет запускать службы по MSRPC, который работает под SMB.

1.2 Принуждение к аутентификации -> SMB (Kerberos)

Если адрес обратного подключения указан в форме полного доменного имени (FQDN), то подключение произойдет также на сетевой диск по протоколу SMB, но уже с использованием протокола аутентификации Kerberos:

target.ussc.ru - узел с неограниченным делегированием Kerberos

target.ussc.ru — узел с неограниченным делегированием Kerberos

Данная аутентификация позволит захватить из трафика TGT-билет от хоста, аутентифицирующегося на узле с неограниченным делегированием. Это практически равносильно получению пароля от учетной записи.

1.3 Принуждение к аутентификации -> HTTP (NTLM)

Вся работа по MSRPC происходит через пайпы и полный список всех пайпов часто можно взять уже по SMB, с «как бы» сетевого диска IPC$:

Наличие пайпа «DAV RPC» означает запущенную службу WebClient, благодаря которой проводник Windows начинает работать с вебом, как с папками. Но это удобство кроет большую опасность, т.к. теперь атакующий может заставить аутентифицироваться такой узел уже с использованием HTTP. Чтобы обратное подключение происходило по протоколу HTTP, его адрес должен быть указан в форме сокращенного доменного имени (без суффикса) как на скрине:

Аутентификация с HTTP может быть перенаправлена практически куда угодно, где поддерживается NTLM, в частности, на LDAP, где злоумышленник при наличии прав сможет сделать достаточно многое. Но это уже совсем другая история (см. ldap abuse, например, https://www.thehacker.recipes/ad/movement/ntlm/relay). А вот на HTTP аутентификация для её байпаса перенаправлялась как раз в ADCS ESC8.

Теперь посмотрим, как можно защищать конечные рабочие станции и серверы от принуждения к аутентификации.

2.0 Плохие примеры защиты

Давайте посмотрим, насколько надежны популярные рекомендации по защите от принудительной аутентификации.

2.1 Закрываем 445/tcp порт

Достаточно частой рекомендацией является блокировка 445/tcp порта как источника разнообразных бед. Но тем не менее данный порт может быть реально нужен по причине тех же сетевых дисков, и закрывать его как-то не совсем правильно.

Проверим, насколько это надежное решение:

На стороне атакующего:

Да, атака не сработала.

2.2 Обходим закрытый 445/tcp порт

Но часто RPC можно использовать на 139/tcp порту (SMB over NetBIOS). Для этого мы должны обратиться к цели не по IP-адресу, а по NetBIOS-имени:

В результате принимаем аутентификацию от хоста:

Сетевой трафик наглядно демонстрирует обход использования 445/tcp-порта:

Видим, что 139/tcp порт тоже может быть SMB.

2.3 Закрываем 139/tcp порт

Закроем по аналогии и 139/tcp порт:

Теперь закрыты оба порта 445/tcp и 139/tcp, предоставляющие MSRPC.

2.4 Обходим закрытые 445/tcp и 139/tcp порты

Даже если вы решили все-таки закрыть 139 и 445 порты, то DCERPC всё так же в распоряжении атакующего:

Многие RPC-функции доступны разными транспортами – как по MSRPC (445/tcp), так и по DCERPC (135/tcp, 4915x/tcp, …):

С endpoint mapper (135/tcp) мы можем узнать номер динамического TCP-порта, где доступна нужная нам RPC-функция.

2.5 Закрываем 135/tcp порт

Закроем и 135/tcp порт:

Теперь закрыты 445/tcp, 139/tcp и 135/tcp.

2.6 Обходим закрытые 445/tcp, 139/tcp и 135/tcp порты

С блокировкой DCERPC не так все просто, т.к. он использует динамический пул TCP-портов. Закрытие 135/tcp порта ненадежная мера, т.к. перечень RPC-интерфейсов атакующий сможет получить с динамического пула портов, предварительно просканировав его с помощью nmap, а затем опросив каждый из найденных на наличие нужного UUID:

Теперь вызываем RPC-функцию по DCERPC:

На стороне атакующего снова принимаем аутентификацию:

Снова байпаснули

Снова байпаснули

В дампе трафика видно, что ни 135, ни 139, ни тем более 445 порты не были задействованы. Использован только динамический DCERPC порт, который на каждой машине может быть разным.

Выходит, выборочная блокировка портов – решение очень ненадежное.

2.7 Отключение spooler

Ещё одной старой рекомендацией является тупо отключение spooler:

2.8 Обходим отключенный spooler

Тут все просто. Как мы знаем printerbug далеко не единственный способ для coerce:

Аутентификация вновь успешно запрошена:

3.0 ЗАЩИТА (true way)

Встроенный в Windows фаервол, он же брандмауэр, обладает также некоторыми функциями application фаервола, и он как раз умеет фильтровать RPC.

Если мы взглянем на таблицу с опасными RPC-функциями, то заметим, что объединяет их как раз общий UUID.

3.1 NETSH RPC filter

Основываясь на рекомендации Benjamin Delpy всё, что требуется, это методично ввести данные команды для каждого RPC-интерфейса:

И так далее для интерфейсов:

  • 12345678-1234-ABCD-EF00-0123456789AB

  • c681d488-d850-11d0-8c52-00c04fd90f7e

  • df1941c5-fe89-4e79-bf10-463657acf44d

  • 4fc742e0-4a10-11cf-8273-00aa004ae673

  • a8e0653c-2744-4389-a61d-7373df8b2292

3.2 Тестирование защиты

А теперь проверим доступность всех 64 функций на заблокированном интерфейсе, одну из которых использует printerbug.

На MSRPC до и после включения фильтрации имеем:

В первом случае имеем rpc_x_bad_stub_data это ОК, т.к. были указаны некорректные аргументы функций, а во втором, ожидаемо, rpc_s_access_denied.

Для DCERPC аналогично доступ к функциям на интерфейсе до и после включения фильтрации:

Аналогично можно проверить доступность интерфейсов для petitpotam, dfscoerce и shadowcoerce.

И вполне закономерно, что сами эксплойты также не сработают:

И так далее для dfscoerce и shadowcoerce.

Ни один из способов принуждения к аутентификации теперь не работает. Защиту можно считать надежной.

Запретив coerce, вы повысите уровень безопасности серверов и рабочих станций во внутренней инфраструктуре своей компании, сильно осложнив жизнь потенциальным злоумышленникам.

Following is just quotation of two different sources which I used to successfully disable port 445 on Windows XP machines. I was closing port 445 and 135, 137 — 139, so I followed all instruction in the article and it worked for me.

General information about port 445 (archive link)

Among the new ports used by Windows 2000 is TCP port 445 which is used
for SMB over TCP. The SMB (Server Message Block) protocol is used
among other things for file sharing in Windows NT/2000/XP. In Windows
NT it ran on top of NetBT (NetBIOS over TCP/IP), which used the famous
ports 137, 138 (UDP) and 139 (TCP). In Windows 2000/XP, Microsoft
added the possibility to run SMB directly over TCP/IP, without the
extra layer of NetBT. For this they use TCP port 445.

At its simplest NetBIOS on your LAN may just be a necessary evil for
legacy software. NetBIOS on your WAN or over the Internet, however, is
an enormous (read foolish…) security risk. All sorts of information,
such as your domain, workgroup and system names, as well as account
information is obtainable via NetBIOS. It really is in your best
interests to ensure that NetBIOS never leaves your network.

If you are using a multi-homed machine i.e. more than 1 network
card, then you should disable NetBIOS on every network card, or
Dial-Up Connection under the TCP/IP properties, that is not part of
your local network.

How to disable port 445

To disable Port 445:

Add the following registry key:

Key:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters
Name: SMBDeviceEnabled Type: DWORD (REG_DWORD) Data: 0

Don’t forget to restart your computer after disabling the above ports
for effect. Also, to check that those ports are disabled, you can open
a command prompt and type netstat -an to confirm that your computer is
no longer listening to those ports.

(the registry keys are different for Windows 7 onwards, see this Microsoft article)

Понравилась статья? Поделить с друзьями:
  • Как закрыть 135 порт windows 10
  • Как закрывать порты на windows 10
  • Как закрывать всплывающее окошко громкости в windows 10
  • Как закруглить кнопку в windows forms
  • Как закриптовать стиллер от windows defender