当前位置:网站首页>CVE-2015-1635(MS15-034 )远程代码执行漏洞复现
CVE-2015-1635(MS15-034 )远程代码执行漏洞复现
2022-07-02 06:23:00 【徐记荣】
目录
1 漏洞背景
2 漏洞影响
3 漏洞利用
3.1 服务器配置与搭建
3.2 测试
3.2.1 curl命令
3.2.2 Host字段
3.2.3 Range字段
3.3 攻击利用
4 防御措施
1 漏洞背景
2015年04月14日,微软发布严重级别的安全公告 MS15-034,编号为 CVE-2015-1635,据称在 Http.sys 中的漏洞可能允许远程执行代码
Http.sys 是一个位于 Windows 操作系统核心组件,能够让任何应用程序通过它提供的接口,以 Http 协议进行信息通讯。
HTTP.sys会错误解析某些特殊构造的HTTP请求,导致远程代码执行漏洞。成功利用此漏洞后,攻击者可在System帐户上下文中执行任意代码。
由于此漏洞存在于内核驱动程序中,攻击者也可以远程导致操作系统蓝屏。远程攻击者可以通过IIS 7(或更高版本)服务将恶意的HTTP请求传递给HTTP.sys驱动。
2 漏洞影响
IIS 7.0以上的Windows 7/8/8.1和Windows Server 2008 R2/Server 2012/Server 2012 R2等操作系统。
3 漏洞利用
3.1 服务器配置与搭建
ip:192.168.52.131
操作系统:win7
中间件:IIS7.0
win7我们如何开启iis服务呢
控制面板>程序和功能>打开或关闭windows功能>Internet信息服务>勾选Web管理工具和万维网服务

我们访问一下
http://127.0.0.1/

如上所示证明开启了iis服务
3.2 测试
我们在攻击机发送如下代码
curl -v 192.168.52.131 -H "Host:irrelevant" -H "Range:bytes=0-18446744073709551615"

返回如下信息证明存在此漏洞
3.2.1 curl命令
详见Linux curl命令最全详解
| 参数 | 描述 |
|---|---|
| -v | 显示更详细的信息,调试时使用; |
| -H “name:value” | (HTTP)添加一个http header(http请求头); |
3.2.2 Host字段
一个IP可以对应多个域名,但我们为了区分不同域名显示的不同内容,此时引用host概念,所以每个域名对应不同的host,通过host可以区分出访问的是服务器上的哪个站点。(但此处我们直接访问的IP,默认80端口,我试了下,-H "Host:irrelevant"不加也是可以的)
没搞明白
3.2.3 Range字段
在原来网络不是很好的时候,下载大型文件很不容易,如果下载中断 ,那么只能重头开始下载,为了解决这个问题 HTTP/1.1引入的范围请求。即请求这个文件x~y的字节,指定范围,在请求报文的首部添加Range字段,此字段指定资源的byte范围,告诉服务器,请求资源是哪个范围的内容,让断点续传和并行下载得以实现。
例如:
Range: bytes=5001-10000
并不是所有的服务器都支持此要求
如果不支持服务器会返回400状态码,意思是客户端请求异常
这里我们的测试命令给的是
-H "Range:bytes=0-18446744073709551615"
18446744073709551615转为十六进制是 0xFFFFFFFFFFFFFFFF(16个F),是64位无符号整型所能表达的最大整数,整数溢出和这个超大整数有关
发送请求包就会返回416状态码
如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。
这个漏洞是整除溢出型漏洞,服务器端怎么处理这个请求,我也没搞懂,我现在只知道整数溢出报416状态码,证明此处存在此漏洞
3.3 攻击利用
工具用Metasploit(MSF)
安装使用方法自己搞

两个模块
0 ddos攻击
1 读取内存信息
试试第二个模块


不行不知道为什么
我们试试第一个模块ddos攻击


这里有个东西叫therads,上面说是并发线程数,我试了一下,如果是默认,直接run,服务器会瞬间蓝屏,然后重启,如果是改成set therads 10,服务器会长时间蓝屏
4 防御措施
1.打补丁
https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2015/ms15-034
2.临时禁用IIS内核缓存

参考
Microsoft安全公告MS15-034 -严重
HTTP.sys远程代码执行(CVE2015-1635,MS15-034)
什么是整数溢出漏洞以及它带来的后果
边栏推荐
- 20201002 VS 2019 QT5.14 开发的程序打包
- Warp matrix functions in CUDA
- Alibaba cloud MFA binding Chrome browser
- ctf三计
- Pytest (3) parameterize
- PgSQL学习笔记
- VSCODE 安装LATEX环境,参数配置,常见问题解决
- ModuleNotFoundError: No module named ‘jieba. analyse‘; ‘ jieba‘ is not a package
- Linux MySQL 5.6.51 community generic installation tutorial
- 看完有用的blog
猜你喜欢

Latex compilation error I found no \bibstyle &\bibdata &\citation command

Apt command reports certificate error certificate verification failed: the certificate is not trusted

The table component specifies the concatenation parallel method

Win10: add or delete boot items, and add user-defined boot files to boot items

Alibaba cloud MFA binding Chrome browser

js中对于返回Promise对象的语句如何try catch

Pytest (1) case collection rules

ZZQ的博客目录--更新于20210601

The use of regular expressions in JS

Shardingsphere JDBC
随机推荐
PIP install
[self cultivation of programmers] - Reflection on job hunting Part II
Thread hierarchy in CUDA
Apt command reports certificate error certificate verification failed: the certificate is not trusted
Linux MySQL 5.6.51 community generic installation tutorial
Selenium memo: selenium\webdriver\remote\remote_ connection. Py:374: resourcewarning: unclosed < XXXX > solution
奇葩pip install
js中map和forEach的用法
20201002 VS 2019 QT5.14 开发的程序打包
微信小程序基础
Cglib agent - Code enhancement test
Latex参考文献引用失败 报错 LaTeX Warning: Citation “*****” on page y undefined on input line *
Redis - grande question clé
CTF three count
[literature reading and thought notes 13] unprocessing images for learned raw denoising
Virtualenv and pipenv installation
Eslint configuration code auto format
qq邮箱接收不到jenkins构建后使用email extension 发送的邮件(timestamp 或 auth.......)
CUDA and Direct3D consistency
如何调试微信内置浏览器应用(企业号、公众号、订阅号)