Windows как закрыть порт 445

Содержание

  1. Самые уязвимые порты Windows 7 – 10
  2. Как проверить, какие порты открыты
  3. Как закрыть порты с 135 по 139 и 445 в Windows?
  4. Инструкция по работе с программой, закрывающей порты
  5. Заключение

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

Чаще всего вирусы атакуют компьютеры с операционной системой Windows. Это объясняется тем, что большинство вирусов проникают в операционную систему через определенные входящие соединения, называемые «портами», которые, к сожалению, обычно активированы по умолчанию.

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

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

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

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

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

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

Для определения наличия открытых уязвимых портов на вашем устройстве, вы можете воспользоваться сканером портов от Whoer.net. Путем идентификации вашего IP-адреса и использования инструмента nmap, этот сервис проверки открытых портов предоставит вам информацию о том, какие порты открыты на вашем устройстве и какие программы ими пользуются. Это даст вам возможность оценить уровень уязвимости вашего устройства и насколько оно подвержено потенциальным угрозам в сети Интернет.

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

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

Первый способ — использование командной строки

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

Для запуска командной строки можно выполнить следующие шаги:

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

Вы увидите окно с черным фоном. Поступите следующим образом: последовательно скопируйте строки, представленные ниже, и нажмите клавишу «Enter»:

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”

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

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

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

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

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

  1. Сначала загрузите и установите программу.
  2. После установки, запустите программу с правами администратора.
  3. В окне программы, нажмите кнопки «Закрыть» или «Отключить» для блокировки всех уязвимых портов Windows.

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

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

Заключение

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

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

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

If you have come across the term port 445 or 135, then you are probably a hardcore techie. But if you are reading this article thinking that it is something about USB ports then turn back now.

In this article, we will go over some basic terms concerning all ports in general. Then we will take a deeper look at port 445 and also look at its vulnerabilities and ways to deal with the port.

Contents

  • 1 What exactly is a port?
    • 1.1 TCP and UDP
  • 2 What is Port 445?
    • 2.1 SMB Port 445
    • 2.2 Threats against port 445 
  • 3 How to check if port 445 is enabled?
  • 4 How to disable port 445 Windows?
    • 4.1 Method 1: Using Windows Firewall
    • 4.2 Method 2: Using Command Prompt
    • 4.3 Method 3: Using Registry Editor

What exactly is a port?

The subject of the article is not probably the first thing that comes to your mind when you hear the term ‘Port’. As most of us are only familiar with it from a hardware perspective. In such a case, a port refers to a hole that allows you to connect it to other devices with the help of data cables or chords.

It can be used to access printers, projectors, or such, or to hook your PC to a bigger network. On the other hand, ports mean a different thing when it comes to the software side. But they do somewhat share the same meaning.

The ports that we are talking about are logical constructs within an OS that help to recognize a particular process or network. In simpler words, it is a location to which information can be sent. It can also identify the information that it receives and take necessary actions.

TCP and UDP

You will see these two terms pop up a lot if you are reading about any kind of port. Hence, it is pretty useful to just go over them. Both of these are used for sending pieces of data otherwise called packets. And these packets that they sent go on to reach a specific IP address. The packets cover the journey from your computer to the router to its destination.

TCP vs UDP

TCP stands for Transmission Control Protocol. This one is working behind most of the things you do with the internet. When you use your browser to enter a page, TCP sends these packets to that server’s address. And if it receives the data, the server returns a stream of data back to the port. This is then rearranged to present the webpage to you. If the other side does not respond, TCP sends the packets again. Furthermore, there is a provision to check for errors as well.

In contrast, a datagram is used in UDP which stands for User Datagram Protocol. The datagram is much similar to the packets of information mentioned above. However, the key difference between TCP and UDP is that it does not check if the other party receives the data or not. It does not account for errors either. Hence it is a lot quicker than TCP. But at the same time, you can say that TCP is more responsible.

Port 445 is one of several Microsoft Networking ports that are used today as well as in the older versions of Windows. They were used well with the NetBIOS services in the older versions. Whereas in the newer versions, it is used for direct TCP/IP without the help of NetBIOS.

NetBIOS stands for Network Basic Input/Output System. Basically, it is a program that helps all the computers in a LAN or local area network to communicate with each other. It is also a file-sharing port 445.

Speaking about the port in the discussion, it is used for running Server Message Block (SMB) over TCP/IP in several versions. In any case, the main function of the port is that it serves as a key way of communicating across a Microsoft-based LAN.

SMB Port 445

As mentioned above SMB stands for Service Message Block. This protocol basically lets computers within a network to share information. It is used for a client-server type of communication where the client is the one who asks for the information and the server provides access to it. Such as someone trying to get on a web page and getting access.

Threats against port 445 

Though ports are very useful, there exist port 445 vulnerabilities and they are essentially holes in your firewall and security protocols. So open ports mean that there are ways for an outsider to access or corrupt important files in your system. Hackers can use them to spread malware or to exploit vulnerabilities in services or applications.

Port 445 faces several scanning attacks via LAN. And the port is pretty vulnerable and has many weak points. Examples of threats include the appearance of NetBIOS worms and attacks like Wanna Cry.

How to check if port 445 is enabled?

Normally the port is kept open by windows, but you do have to check it on your host. This can be done easily with the help of Command Prompt. Additionally, the Command Prompt can be used for blocking or closing the same port but we will discuss that in the next section.

Follow the steps below to find out if port 445 is enabled or not

  1. Press the Windows key + R key on your keyboard.
  2. The run dialogue box opens. In the space provided, type in cmd and then hit Enter or choose OK.
  3. You can also use the Windows search bar to look for cmd or Command prompt.
  4. Type the following command and hit Enter: netstat -na

tcp port 445

This command does the job of scanning all the ports that are connected. The scan is quite quick and soon the results will show up on your screen. Now look for 445 under the local address column. If its state is shown as “LISTENING” then the port is open.

How to disable port 445 Windows?

Method 1: Using Windows Firewall

This is the simplest out of the three that we are going to discuss down here. Don’t be alarmed by the number of steps though. Because most of them just include a click here and a tap there.

  1. Go to the Windows Search bar.
  2. Type in Control Panel and hit Enter.
  3. Open the app from the search results.
  4. Out of all the options in this window,  choose the System and Security option.
  5. Choose the Windows Defender Firewall option.
  6. Now select the Advanced Settings option from the left pane.
  7. On the left side of the new window, you will see several tiles. One of them being Inbound Rules. Click it.
  8. Next, click the New Rule option on the right side.
  9. A pop window will appear. On that Window, choose the Port option and click on Next.
  10. Select TCP out of the two options of the former question.
  11. Choose the specific local ports option for the latter and in the space provided type in 445. Then click on Next.
  12. Things are much simpler on the next page. Just go for the Block the connection option and then hit Next.
  13. Tick the three against the three checkboxes and move to the next page yet again.
  14. Fill in the name and description according to your wish and click on Finish.
  15.  To check the rule you just set up, open its properties.
  16.  Choose the Protocols and Ports tab.
  17.  Check under Local Port.

what is port 445

Method 2: Using Command Prompt

People who have a good handle on using command prompt will find this method more to their liking. The command prompt is a pretty good tool that can be used to run commands on Windows OS.

  1. Press the Windows key + R key on your keyboard.
  2. In the run dialogue box type in cmd and click OK.
  3. Choose to run it as an administrator.
  4. Alternatively, you can use the windows search bar to look for cmd or Command prompt. Then you can right-click the search result to run it as an administrator.
  5. Type the following command below and click Enter: Netsh advfirewall set all profile state on
  6. After that, enter the following command and press Enter yet again.
Netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=445 name=”Block_TCP-445”

Method 3: Using Registry Editor

The Registry is a database for system files and installed applications. So be careful while messing around with it. If you happen to delete any important files you will be in a bit of trouble for sure.

  1. Once again open the Run dialogue box by pressing the Windows key + R key on the keyboard.
  2. Type in Regedit in the space provided and press OK.
  3. Alternatively, you can use the windows search bar to look for the Registry editor or Regedit. Then you can open it from the search results.
  4. On the navigation pane on the left side choose open HKEY_LOCAL_MACHINE by double-clicking it.
  5. Similarly, open the SYSTEM option under it. It is probably going to be near the end of all the expanded files.
  6. Continue the process along the path as follows: CurrentControlSet\services\NetBT\Parameters
  7. Now right-click anywhere on the blank area on the right pane and choose New.
  8. Choose a DWORD (32-bit) Value or QWORD (62-bit) value according to your system (32-bit or 64-bit).
  9. Set the name of the new value to SMBDeviceEnabled.
  10.  Now right click it and choose the option Modify.
  11. In the window that appears, change its Value data from 1 to 0.
  12. Hit OK and you are done.

tcp 445

Wrapping up,

We have discussed a good deal about port 445. By now you probably got a good handle on what the port is, how it is vulnerable, and how to close it. Do keep in mind to know what you are dealing with while you work with ports.

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 data-lazy-src=

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.

Рассмотрим как можно закрыть порты 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. Даём название, нажимаем «готово»

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

Время на прочтение6 мин

Количество просмотров24K

В этой статье нападающие узнают, что 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

\pipe\spoolss

12345678-1234-ABCD-EF00-0123456789AB

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

printerbug

MS_EFSR

\PIPE\lsarpc, \PIPE\samr, \PIPE\lsass, \PIPE\netlogon, \PIPE\efsrpc

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

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

petitpotam

MS_DFSNM

\PIPE\netdfs

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

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

dfscoerce

MS_FSRVP

\PIPE\FssagentRpc

a8e0653c-2744-4389-a61d-7373df8b2292

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

….

shadowcoerce

Каждая из представленных RPC-функций принимает в одном из параметров полный путь вида «\\IP\Share\path\to\something», позволяющий указать удаленный узел (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, вы повысите уровень безопасности серверов и рабочих станций во внутренней инфраструктуре своей компании, сильно осложнив жизнь потенциальным злоумышленникам.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Этот компьютер не отвечает минимальным требованиям для установки windows 11
  • Недоступна вся оперативная память windows 11
  • Critical process died windows 10 при загрузке как исправить через командную строку
  • Windows could not retrieve information about the disks on this computer как исправить
  • Не удалось активировать windows на этом устройстве так как у вас нет действительной цифровой версии