CVE-2017-0145
Microsoft SMBv1
2022-02-10
The SMBv1 server in multiple Microsoft Windows versions allows remote attackers to execute arbitrary code via crafted packets.
Технический анализ и план устранения
Суть уязвимости
Уязвимость в протоколе SMBv1 позволяет удаленному злоумышленнику выполнить произвольный код на целевой системе. Для эксплуатации атакующему достаточно отправить специально сформированные пакеты на сервер с включенной поддержкой SMBv1. Эта уязвимость является частью семейства EternalBlue и активно использовалась в атаках вымогателей (например, WannaCry).
Как исправить
Основной метод — установка обновлений безопасности от Microsoft.
-
Для Windows 10, Windows 8.1, Windows Server 2012 R2, Windows Server 2016:
- Установите обновление MS17-010 от марта 2017 года.
- Конкретные номера KB:
- Windows 10: KB4012606
- Windows 8.1 / Windows Server 2012 R2: KB4012213
- Windows Server 2016: KB4013429
-
Для более старых систем (Windows 7, Windows Server 2008 R2):
- Установите обновление MS17-010.
- Конкретный номер KB: KB4012212.
Порядок действий: * Запустите Центр обновления Windows и установите все доступные обновления. * Или скачайте и установите соответствующий пакет обновления вручную с каталога обновлений Microsoft.
После установки обновлений перезагрузите систему.
Временное решение
Если немедленная установка патчей невозможна, выполните следующие шаги для снижения риска:
-
Отключите протокол SMBv1 (рекомендуется Microsoft для всех современных систем).
- Через PowerShell (от имени администратора):
powershell Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol - Через реестр (для всех версий Windows):
Создайте или измените DWORD-параметр:
Путь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Имя: SMB1 Значение: 0После изменения перезапустите службуServerили перезагрузите компьютер.
- Через PowerShell (от имени администратора):
-
Заблокируйте на сетевом уровне:
- На межсетевом экране (брандмауэре) заблокируйте входящие соединения на порты, используемые SMB:
- TCP 445
- UDP 137, UDP 138
- TCP 139
- Пример правила для брандмауэра Windows (PowerShell от администратора):
powershell New-NetFirewallRule -DisplayName "Block SMB inbound" -Direction Inbound -LocalPort 445,139 -Protocol TCP -Action Block New-NetFirewallRule -DisplayName "Block NetBIOS inbound" -Direction Inbound -LocalPort 137,138 -Protocol UDP -Action Block
- На межсетевом экране (брандмауэре) заблокируйте входящие соединения на порты, используемые SMB:
-
Используйте сегментацию сети:
- Ограничьте доступ к системам с включенным SMB (файловым серверам, контроллерам домена) только с доверенных подсетей (например, административных рабочих станций).