中新网安安全研究院SMBLoris漏洞分析报告

近日,在DEF CON黑客大会上,有人曝光了Windows系统上一个隐藏了20年的漏洞,安全研究人员称他作“SMBLoris”,利用这个漏洞可以发起“拒绝服务”(DoS攻击),影响Windws 2000及以上系统任一版本的SMB协议。

【风险等级】高危

【风险等级】运行在Windows 2000及以上版本系统上的SMBv1协议。

【漏洞危害】远程攻击者可以导致系统内存资源耗尽。

【漏洞利用前置条件】系统开放TCP139或445端口。

【漏洞分析】

NBSS是NetBIOS会话服务协议,每个连接都会分配128KB的内存,在连接关闭时释放内存。当没有活动执行的时候,连接会在30秒后关闭。

使用65535个TCP端口,攻击者可以填充超过8GB的数据,在IPv4和IPv6协议下,DDoS攻击可以达到16GB数据,两个IP的话,攻击流量可以翻倍,即达到32GB。

【漏洞实现】

一台普通的PC计算机最大只能覆盖目标机器8G内存,IPv6协议暂不讨论,但是现在的高性能服务器动辄几十甚至上百G内存,一台普通PC也就无法造成拒绝服务。其实我们可以使用原始套接字构造伪造攻击源IP突破8G内存限制

源IP范围1.1.1.1-255.255.255.255 端口:1-65535

1502255624958392.png

如上图所示 每伪造一次IP就可以发送65535次数据包填充目标服务器8G内存,一个for循环不间断伪造IP发送数据,最终导致操作系统通过很长的内存列表来寻找未分配的内存,而这样会使操作系统崩溃,CPU占用率也会达到峰值。

【效果演示】

2.png

1502255644302795.png

【修复建议】

禁用SMBv1协议或使用联机设备(包括防火墙)来限制单个IP地址到SMB端口的活动连接数来缓解这种情况。