当前位置:网站首页>CVE-2015-1635(MS15-034 )遠程代碼執行漏洞複現
CVE-2015-1635(MS15-034 )遠程代碼執行漏洞複現
2022-07-02 06:49: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)
什麼是整數溢出漏洞以及它帶來的後果
边栏推荐
- Présence d'une panne de courant anormale; Problème de gestion de la fsck d'exécution résolu
- ZZQ的博客目录--更新于20210601
- table 组件指定列合并行方法
- qq邮箱接收不到jenkins构建后使用email extension 发送的邮件(timestamp 或 auth.......)
- js删除字符串的最后一个字符
- Latex error: the font size command \normalsize is not defined problem solved
- js中map和forEach的用法
- Sentry construction and use
- 看完有用的blog
- PgSQL learning notes
猜你喜欢

Summary of advertisement business bug replay

由於不正常斷電導致的unexpected inconsistency;RUN fsck MANUALLY問題已解决

VSCODE 安装LATEX环境,参数配置,常见问题解决

Warp shuffle in CUDA

Latex error: the font size command \normalsize is not defined problem solved

解决微信小程序swiper组件bindchange事件抖动问题

A preliminary study on ant group G6

Win10网络图标消失,网络图标变成灰色,打开网络设置闪退等问题解决

AWD learning

sqli-labs通关汇总-page3
随机推荐
Dynamic global memory allocation and operation in CUDA
Name six schemes to realize delayed messages at one go
Latex compilation error I found no \bibstyle &\bibdata &\citation command
Build learning tensorflow
Linux MySQL 5.6.51 community generic installation tutorial
Automation - when Jenkins pipline executes the nodejs command, it prompts node: command not found
PgSQL learning notes
Solution to the black screen of win computer screenshot
virtualenv和pipenv安装
Distributed transactions: the final consistency scheme of reliable messages
Loops in tensorrt
Atcoder beginer contest 253 F - operations on a matrix / / tree array
Warp shuffle in CUDA
Selenium memo: selenium\webdriver\remote\remote_ connection. Py:374: resourcewarning: unclosed < XXXX > solution
table 组件指定列合并行方法
Win10桌面图标没有办法拖动(可以选中可以打开可以删除新建等操作但是不能拖动)
AWD learning
Virtualenv and pipenv installation
PIP install
Redis -- cache breakdown, penetration, avalanche