针对 CVE-2020-7388 的概念验证利用代码,实现 Sage X3 的 AdxDSrv 服务上以 SYSTEM 权限进行的未认证远程代码执行
Sage X3 在 "AdxDSrv.exe" 进程(AdxAdmin 组件的一部分)上暴露了一个管理服务,默认监听 TCP 1818 端口(可更改)。该服务用于通过 Sage X3 控制台对 Sage ERP 解决方案进行远程管理。服务中的一个漏洞允许恶意攻击者向该暴露的服务发送精心构造的请求,以 "NT AUTHORITY/SYSTEM" 用户身份在服务器上执行命令。
详细的利用说明可在我们最初发布于 Rapid7 博客的文章中找到:https://www.rapid7.com/blog/post/2021/07/07/cve-2020-7387-7390-multiple-sage-x3-vulnerabilities/
AdxDSrv 默认运行在 TCP 1818 端口,在 Nmap 中显示为未知服务。本仓库包含两个 NSE 脚本,用于识别易受攻击的服务以及 AdxdSrv 本身。
python3 adxsrv_bypass.py --cmd <以 SYSTEM 权限运行的命令> --ip <远程目标> --port <AdxDSrv 服务的端口>
注意:这是一个粗糙的 PoC,按特定顺序发送字节流,可能需要进行调整。由于我们接触该软件的时间有限,未能对利用程序进行精细调整。如果你遇到一个易受攻击的实例并且修复了 PoC,请提交 PR!或者如果你正尝试修复并希望协作,欢迎随时联系我们。
在 2020 年的一次网络渗透测试中,Cale Black 发现了 Sage X3 ERP 的 Web 管理面板中的新漏洞。这促使 Jonathan Peterson (@deadjakk)、Aaron Herndon (@ac3lives)、Cale Black、Ryan Villarreal (@XjCrazy09) 和 William Vu 对该应用程序进行了进一步调查。我们深入挖掘并识别出 AdxDSrv 自定义 Sage X3 服务,该服务用于远程管理。经过一些逆向工程和模糊测试,我们获得了四个 CVE,其中一个是 CVSS 10 分的未认证远程代码执行。特别感谢 @Deadjakk 在逆向工程和初始 PoC 原型设计方面所做的重大贡献。