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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sccmsqlclient | Kitploit
도구/GitHubGitHub/synacktiv/sccmsqlclient
Privilege EscalationReconnaissanceExploitationLateral MovementInformation GatheringPost-ExploitationPenetration TestingSecret DetectionDatabase Security
GitHubsynacktiv/sccmsqlclient

sccmsqlclient

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

sccmsqlclient

SCCM 데이터베이스 탐색 및 공격을 위한 전용 MSSQL 클라이언트입니다.

  • 정찰 쿼리
  • 관리 대상 클라이언트에서 PowerShell 스크립트 실행
  • 비밀 정보 추출

설치

PIPX

root@kitploit:~
$ pipx install git+https://github.com/synacktiv/sccmsqlclient/

PIP

저장소를 클론하고 의존성을 설치하여 설치할 수 있습니다.

root@kitploit:~
$ git clone https://github.com/synacktiv/sccmsqlclient
$ cd sccmsqlclient
$ python3 -m venv .venv && source .venv/bin/activate
$ python3 -m pip install -r requirements.txt

사용법

인증 / 로그인

sccmsqlclient.py는 동일한 TDS(Tabular Data Stream) MSSQL 프로토콜 구현을 기반으로 하므로 Impacket의 mssqlclient.py와 동일한 인증 모델 및 구문을 사용합니다. 이미 Impacket 도구에 익숙하다면 사용법과 로그인 형식은 동일합니다.

root@kitploit:~
$ python3 sccmsqlclient.py -windows-auth 'DOMAIN/USER:password'@mp.local

SCCM 정찰

사이트 및 서버 목록

멀티사이트 계층 구조에서 SCCM 사이트와 서버를 나열합니다.

root@kitploit:~
> sccm_sites
> sccm_servers

서버 및 역할 목록

계층 구조 내에서 SCCM 인프라 서버와 할당된 역할을 열거합니다.

root@kitploit:~
> sccm_sysreslist [ROLE_NAME]
> sccm_mp
> sccm_dp

이 명령 집합은 인프라 구성 요소와 그 역할을 파악하기 위해 SCCM 시스템 리소스 및 역할 할당 데이터를 조회합니다.

  • sccm_sysreslist → 등록된 모든 SCCM 시스템 리소스와 해당 역할을 나열합니다.
  • sccm_sysreslist [ROLE_NAME] → 역할 이름으로 결과를 필터링합니다(예: 관리 지점(Management Point), 배포 지점(Distribution Point)).
  • sccm_mp → 모든 관리 지점을 나열하는 바로가기입니다.
  • sccm_dp → 모든 배포 지점을 나열하는 바로가기입니다.

관리 대상 디바이스 목록

이름 또는 IP 주소로 부분 필터링하여 알려진 디바이스를 나열합니다.

root@kitploit:~
> sccm_devices [FILTER]

BGB / 알림 채널 상태(OnlineStatus=0|1)와 함께 클라이언트를 나열합니다.

root@kitploit:~
> sccm_devices_bgbstatus [FILTER]

SCCM Run Scripts

Run Scripts 기능을 악용하여 관리 대상 디바이스에서 PowerShell 스크립트를 실행합니다.

PowerShell 스크립트 설정

문자열에서 직접 PowerShell 스크립트를 정의합니다.

root@kitploit:~
> set_ps1_script "<string>"

예시:

root@kitploit:~
> set_ps1_script "Get-Process | Select-Object -First 10"

파일에서 PowerShell 스크립트 로드

로컬 .ps1 파일에서 스크립트를 로드합니다.

예시:

root@kitploit:~
> load_ps1_script ./script.ps1

SCCM Run Script 실행

이전에 정의한 스크립트를 대상 SCCM 리소스에 대해 실행합니다.

root@kitploit:~
> sccm_run_script <RESOURCE_ID>

예시:

root@kitploit:~
> sccm_run_script 16777219

실행 시 이 명령은 두 개의 GUID를 생성합니다:

  • TASK_GUID(실행 작업 식별자)
  • SCRIPT_GUID(SCCM Run Script 객체 식별자)

이 식별자는 자동으로 메모리에 저장되며 다음 명령에서 재사용됩니다:

  • last_task_output
  • llast_task_output_print
  • last_task_clean

이를 통해 GUID를 수동으로 지정하지 않고 가장 최근 실행을 대상으로 작업할 수 있습니다.


마지막 실행 출력 가져오기

sccm_run_script로 시작된 가장 최근 작업의 결과를 표시합니다.

root@kitploit:~
> last_task_output

이는 마지막 SCCM Run Script 실행에서 메모리에 저장된 원시 실행 출력을 검색합니다.


마지막 실행 출력 보기 좋게 출력

마지막 작업의 실행 출력을 사람이 읽기 쉬운 형식으로 표시합니다.

root@kitploit:~
> last_task_output_print

이 명령은 마지막 SCCM Run Script 실행의 원시 출력을 읽고 해석하기 쉽도록 형식을 정리합니다.


스크립트 실행 상태 확인

작업 또는 스크립트의 실행 상태를 검색합니다.

root@kitploit:~
> sccm_ScriptsExecutionStatus [TASK_GUID|SCRIPT_GUID]

예시:

root@kitploit:~
> sccm_ScriptsExecutionStatus
> sccm_ScriptsExecutionStatus 4F3A1B2C-AAAA-BBBB-CCCC-1234567890AB

마지막 작업 정리

가장 최근에 추적된 SCCM 작업을 제거합니다.

root@kitploit:~
> last_task_clean

특정 BGB 작업 정리

특정 BGB(Background Group) 작업을 제거합니다.

root@kitploit:~
> sccm_BGB_Tasks_clean <TASK_GUID>

예시:

root@kitploit:~
> sccm_BGB_Tasks_clean 4F3A1B2C-AAAA-BBBB-CCCC-1234567890AB

SCCM 스크립트 삭제

SCCM에서 Run Script 객체를 삭제합니다.

root@kitploit:~
> sccm_script_delete <SCRIPT_GUID>

예시:

root@kitploit:~
> sccm_script_delete 7F2C9D11-1111-2222-3333-ABCDEF987654

SCCM 비밀 정보 추출

이 명령들은 NAA(Network Access Account), Client Push 자격 증명, Azure AD 애플리케이션 구성과 같은 민감한 SCCM 관련 비밀 정보를 열거하고 추출할 수 있게 해줍니다. 복호화는 SCCM Run Scripts를 통해 원격 스크립트를 실행하는 방식에 의존합니다.


사용자 계정 목록 (NAA / Client Push)

NAA(Network Access Account) 또는 Client Push 설치 계정과 같은 권한 있는 작업에 사용하도록 구성된 SCCM 사용자 계정을 검색합니다.

root@kitploit:~
> sccm_useraccounts

Azure AD 애플리케이션 목록

SCCM 내에 저장된 Azure AD 애플리케이션 구성을 열거합니다.

root@kitploit:~
> sccm_add_apps

Management Point 실행을 통한 비밀 Blob 복호화

저장된 비밀 Blob을 복호화하기 위해 SCCM 관리 지점(Management Point) 또는 관리 대상 클라이언트에서 원격 스크립트를 실행합니다.

root@kitploit:~
> sccm_decrypt_blob [RESOURCE_ID] [HEXBLOB]

이 명령은:

  • SCCM Run Scripts를 통해 대상 시스템에서 복호화 루틴을 실행합니다.
  • 에이전트 상태가 정상인 사이트 서버 또는 관리 대상 클라이언트의 유효한 RESOURCE_ID가 필요합니다(sccm_devices_bgbstatus 참조).
  • sccm_add_apps 또는 sccm_useraccounts에서 검색한 16진수 인코딩 Blob을 복호화합니다.

실행은 원격으로 수행되며, 복호화된 결과는 SCCM Run Script 실행 채널을 통해 반환됩니다.

참고 자료

  • https://www.synacktiv.com/sites/default/files/2025-06/x33fcon2025_owning_sccm_a_journey_from_research_to_critical_discovery.pdf#page=38
  • https://www.synacktiv.com/sites/default/files/2025-08/def-con-33-mehdi-elyassa-sccm-the-tree-that-always-bears-bad-fruits.pdf#page=35
도구 다운로드