最近有网友爆出Windows SMB协议相关的0 Day漏洞。该漏洞可被利用进行远程DOS攻击,造成Windows系统内存耗尽崩溃。目前微软官方认为该漏洞属于中等问题,不会修复此漏洞,并建议用户通过禁用SMBv1协议进行规避。小编今天就来给大家详细讲一讲问题。

漏洞信息

[CVE-ID]:无

[漏洞类型]:远程拒绝服务漏洞

[危害等级]:高危

[影响版本]:Windows 2000及以上版本运行SMBv1协议的系统

漏洞分析

与利用常见的botnet方式发起的DDoS攻击不同,攻击者通过单台机器就可以利用该漏洞导致目标Windows系统崩溃。根据安全狗初步分析,Windows内核的非分页池(non-paged pool)上处理内存分配的方式存在问题,可能导致内存池耗尽。远程攻击者可以通过向开放了139或445端口的目标Windows系统发送特制SMB报文导致分配所有可用内存,操作系统在耗尽所有内存后会僵死,但不会记录下日志或使系统蓝屏,因此远程攻击者可以利用该漏洞实施DoS攻击。

排查方法

1、Windows Server 2012检查SMBv1状态的方法:

打开“开始菜单”中的 “Windows PowerShell”程序,在命令行输入并执行以下指令:

Get-SmbServerConfiguration | Select EnableSMB1Protocol

如果打印“Ture”,则说明SMBv1为开启状态。

2、Windows Server 2008检查SMBv1状态的方法:

打开“开始”菜单中的“运行”程序,执行“regedit”命令打开注册表,以下注册表子项中添加SMB1,类型为REG_DWORD,将值设置为0:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters

当SMB1值为0时,SMBv1状态为已禁用

当SMB1值为1时,SMBv1状态为已启用

应急处理方式

注意:修复漏洞前请将资料备份,并进行充分测试。

1. 关闭SMBv1

a)Windows Server 2012关闭SMBv1的方法

在power shell中运行命令:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

b)Windows Server 2008禁用SMBv1的方法

请使用 Windows PowerShell 或注册表编辑器