CVE-2017-0148

Microsoft SMBv1 server

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-04-06

Официальное описание

The SMBv1 server in Microsoft allows remote attackers to execute arbitrary code via crafted packets.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость в протоколе SMBv1 (Server Message Block version 1) позволяет удаленному злоумышленнику выполнить произвольный код на целевой системе. Это достигается путем отправки специально сформированных (crafted) сетевых пакетов на сервер, использующий уязвимую версию протокола. Данная уязвимость была использована в глобальных атаках вымогателей WannaCry и Petya.

Как исправить

Основное решение — отключить SMBv1 и установить обновления безопасности.

Для Windows: 1. Установите обновления безопасности. Конкретные номера KB зависят от версии ОС: * Windows Vista, Windows Server 2008: KB4012598 * Windows 7, Windows Server 2008 R2: KB4012212 (или более поздние ежемесячные накопительные обновления) * Windows 8.1, Windows Server 2012 R2: KB4012213 (или более поздние ежемесячные накопительные обновления) * Windows 10, Windows Server 2016: KB4012606 (или более поздние накопительные обновления) 2. Отключите протокол SMBv1 через PowerShell (от имени администратора): powershell Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol Или через реестр, создав DWORD-параметр SMB1 со значением 0 в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters.

Для Linux (Samba): 1. Обновите пакет Samba до исправленной версии (например, для Ubuntu 16.04 LTS): bash sudo apt update sudo apt install samba Актуальные исправленные версии: samba 4.4.5, 4.5.1, 4.6.1 и выше. 2. В конфигурационном файле Samba (/etc/samba/smb.conf) в секции [global] явно укажите минимальную поддерживаемую версию протокола SMB2: ini [global] server min protocol = SMB2_02

Временное решение

Если немедленная установка обновлений невозможна, выполните следующие действия для снижения риска:

  1. Заблокируйте на сетевом периметре входящие соединения на порты, используемые SMB:
    • TCP/445, TCP/139, UDP/137, UDP/138.
    • Пример правила для iptables (Linux): bash sudo iptables -A INPUT -p tcp --dport 445 -j DROP sudo iptables -A INPUT -p tcp --dport 139 -j DROP
  2. Отключите службу SMBv1 без удаления обновлений (Windows). Используйте команду PowerShell: powershell Set-SmbServerConfiguration -EnableSMB1Protocol $false
  3. Используйте сегментацию сети. Ограничьте доступ к серверам с общими ресурсами (файловым серверам, контроллерам домена) только с доверенных подсетей.
  4. Настройте правила на межсетевом экране (NGFW) или WAF для обнаружения и блокировки аномальных или подозрительных пакетов SMB.