hilwa24/CVE-2026-23760_SmarterMail-Auth-Bypass-and-RCE

GitHub: hilwa24/CVE-2026-23760_SmarterMail-Auth-Bypass-and-RCE

针对 SmarterMail CVE-2026-23760 的 Python 漏洞利用脚本,通过串联认证绕过与挂载命令执行实现未授权远程代码执行。

Stars: 3 | Forks: 0

# SmarterMail 认证绕过与 RCE 漏洞利用 **⚠️ 本项目仅供安全研究与测试使用。请勿在您不拥有或未获得明确测试授权的系统上使用。** ## 概述 本仓库包含一个简短的 Python 脚本,演示了如何: 1. 通过 `force-reset-password` 端点**重置管理员密码** —— 实际上绕过了身份验证。 2. 利用 `AddOrUpdateMount` 端点在 SmarterMail 服务器上**执行任意命令**,该端点接受命令字符串并以系统权限运行它。 通过结合这两个步骤,攻击者可以在 SmarterMail 实例上实现远程代码执行。 ## 前置条件 ``` pip install -r requirements.txt ``` ## 用法 ``` python exploit.py --url http://: --newpass --cmd "" --username ``` | 参数 | 描述 | |----------|-------------| | `--url` | SmarterMail 实例的基础 URL。例如:`http://localhost:17017`。 | | `--newpass` | 为目标用户设置的密码。 | | `--cmd` | 在服务器上运行的 Shell 命令。在 Windows 上可以使用 `curl requestrepo.com`。 | | `--username` | 目标用户名(默认为 `admin`)。 | ### 示例 ``` python exploit.py --url http://localhost:17017 --newpass Password456@ --cmd "curl requestrepo.com" --username admin ``` 该脚本将: 1. 将 `admin` 的密码重置为 `Password456@`。 2. 使用新密码登录。 3. 发送一个在主机上运行 `curl requestrepo.com` 的挂载请求。 ## 工作原理 1. **密码重置** `reset_password()` 向 `/api/v1/auth/force-reset-password` 发送 POST 请求。 该 payload 设置 `IsSysAdmin:true`,允许在不知道旧密码的情况下更改任何用户的密码。 2. **挂载与执行** `exp()` 向 `/api/v1/settings/sysadmin/AddOrUpdateMount` 发送 POST 请求。 该 API 接受 `MountPath`、`commandMount` 和 `commandUnmount`。 `commandMount` 会立即以服务器的系统权限执行。 ## 示例 ![exploit](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/72368ce7af185330.png) ![demo](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2d3a15619c185331.png) ## 参考资料 https://labs.watchtowr.com/attackers-with-decompilers-strike-again-smartertools-smartermail-wt-2026-0001-auth-bypass/
标签:API安全, CISA项目, Exploit, JSON输出, Python脚本, RCE漏洞, SmarterMail, 企业邮箱安全, 协议分析, 命令注入, 密码重置漏洞, 权限提升, 漏洞复现, 白帽测试, 系统提权, 编程工具, 网络安全, 认证绕过, 远程代码执行, 逆向工具, 逻辑漏洞, 隐私保护