最近有网友爆出WindowsSMB协议相关的0Day漏洞。该漏洞可被利用进行远程DOS攻击,造成Windows系统内存耗尽崩溃。目前微软官方认为该漏洞属于中等问题,不会修复此漏洞,并建议用户通过禁用SMBv1协议进行规避。小编今天就来给大家详细讲一讲问题。
漏洞信息
[CVE-ID]:无
[漏洞类型]:远程拒绝服务漏洞
[危害等级]:高危
[影响版本]:Windows2000及以上版本运行SMBv1协议的系统
漏洞分析
与利用常见的botnet方式发起的DDoS攻击不同,攻击者通过单台机器就可以利用该漏洞导致目标Windows系统崩溃。根据安全狗初步分析,Windows内核的非分页池(non-pagedpool)上处理内存分配的方式存在问题,可能导致内存池耗尽。远程攻击者可以通过向开放了139或445端口的目标Windows系统发送特制SMB报文导致分配所有可用内存,操作系统在耗尽所有内存后会僵死,但不会记录下日志或使系统蓝屏,因此远程攻击者可以利用该漏洞实施DoS攻击。
1、WindowsServer2012检查SMBv1状态的方法:
打开“开始菜单”中的“WindowsPowerShell”程序,在命令行输入并执行以下指令:
Get-SmbServerConfiguration|SelectEnableSMB1Protocol
如果打印“Ture”,则说明SMBv1为开启状态。
2、WindowsServer2008检查SMBv1状态的方法:
打开“开始”菜单中的“运行”程序,执行“regedit”命令打开注册表,以下注册表子项中添加SMB1,类型为REG_DWORD,将值设置为0:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
当SMB1值为0时,SMBv1状态为已禁用
当SMB1值为1时,SMBv1状态为已启用
应急处理方式
注意:修复漏洞前请将资料备份,并进行充分测试。
1.关闭SMBv1
a)WindowsServer2012关闭SMBv1的方法
在powershell中运行命令:
Set-SmbServerConfiguration-EnableSMB1Protocol$false
b)WindowsServer2008禁用SMBv1的方法
请使用WindowsPowerShell或注册表编辑器