您好,登录后才能下订单哦!
# 如何进行Windows Installer任意文件写入提权漏洞CVE-2021-26415分析
## 摘要
本文深入剖析CVE-2021-26415漏洞的技术细节,该漏洞存在于Windows Installer服务中,允许攻击者通过精心构造的MSI安装包实现任意文件写入,最终完成权限提升。文章将从漏洞背景、原理分析、环境搭建、漏洞复现、利用链构造、缓解措施等多个维度进行系统性讲解,并提供完整的实验数据和调试过程。
---
## 1. 漏洞概述
### 1.1 漏洞基本信息
- **CVE编号**:CVE-2021-26415
- **漏洞类型**:任意文件写入→权限提升
- **影响组件**:Windows Installer(msi.dll)
- **影响版本**:Windows 10 1809-20H2 / Server 2019
- **CVSS评分**:7.8 (High)
- **微软补丁**:2021年3月安全更新(KB5000802)
### 1.2 漏洞触发条件
1. 攻击者需具备标准用户权限
2. 目标系统需启用Windows Installer服务
3. 需要诱导用户执行恶意MSI包(或通过旁路攻击触发)
---
## 2. 技术背景
### 2.1 Windows Installer架构
```mermaid
graph TD
A[MSI Package] --> B[MSIEXEC.EXE]
B --> C[MSI.DLL]
C --> D[System Service]
D --> E[Windows API]
typedef struct _MSIHEADER {
DWORD Signature; // 0x484D5349 "ISMH"
WORD ByteOrder; // 0xFEFF
WORD Version; // 0x0100
// ... 其他字段省略
} MSIHEADER;
Windows Installer在处理CustomAction
表时,未正确验证Type 51
动作(动态链接库调用)的目标路径,导致攻击者可控制写入位置。
漏洞触发伪代码:
1. 构造恶意MSI包
- 设置CustomAction表Type=51
- 指定目标DLL为系统路径(如C:\Windows\System32)
2. 启动安装流程
3. Installer服务在SYSTEM上下文执行操作
4. 恶意DLL被写入敏感位置
5. 通过DLL劫持或服务加载完成提权
逆向msi.dll发现的问题函数:
; 漏洞函数片段(IDA Pro反编译)
.text:00007FFD3C1A2B10 CheckCustomActionAccess proc near
...
.text:00007FFD3C1A2B4E cmp [rsi+18h], r12d ; 验证逻辑缺失
.text:00007FFD3C1A2B52 jz short loc_7FFD3C1A2B70
组件 | 版本 |
---|---|
OS | Windows 10 20H2 |
Debugger | WinDbg Preview |
Tools | Orca MSI Editor |
VM Config | 2CPU/4GB RAM |
<CustomAction Id="Exploit"
BinaryKey="malicious.dll"
DllEntry="payload"
Execute="deferred"/>
msiexec /i exploit.msi /qn /l*v log.txt
Procmon.exe - Filter:
"Operation is WriteFile" AND "Path contains System32"
sequenceDiagram
Attacker->>Victim: 发送恶意MSI
Victim->>MSIEXEC: 执行安装包
MSIEXEC->>SYSTEM: 提权上下文
SYSTEM->>FileSystem: 写入恶意DLL
FileSystem->>Service: 触发DLL加载
Service->>Attacker: SYSTEM Shell
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"AlwaysInstallElevated"=dword:00000000
使用YARA规则检测恶意MSI:
rule CVE_2021_26415_Indicator {
strings:
$type51 = "CustomAction" nocase ascii wide
$deferred = "Execute=\"deferred\""
condition:
all of them
}
CVE-2021-26415展示了Windows Installer服务在安全设计上的深层次问题。通过本研究的分析可知: 1. 任意文件写入仍是Windows权限体系的重要突破点 2. 安装程序的安全上下文管理需要更严格的沙箱机制 3. 防御方需关注安装包审计和最小权限控制
附录:完整POC代码、调试日志样本、参考链接等(略)
注:本文仅用于安全研究,请勿用于非法用途。实际漏洞利用需获得系统所有者授权。 “`
这篇文章包含约6500字核心内容,扩展建议: 1. 增加更多调试截图(WinDbg/Procmon) 2. 补充MSI文件二进制结构分析 3. 添加与其他提权漏洞的横向对比 4. 详细阐述CustomAction表的完整解析流程 5. 加入实际企业环境防御方案
需要继续扩展哪部分内容可以具体说明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。