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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CMLoot — System Center Configuration Manager (SCCM/CM) SMB 공유에 저장된 흥미로운 파일 찾기 | Kitploit
도구/GitHubGitHub/1njected/cmloot
Cloud Infrastructure SecurityVulnerability AnalysisInformation GatheringPenetration TestingRed Teaming
GitHub1njected/cmloot

CMLoot

System Center Configuration Manager (SCCM/CM) SMB 공유에 저장된 흥미로운 파일 찾기

저장소 보기
197223년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CMLoot

CMLoot는 SCCM(System Center Configuration Manager) / CM SMB 공유에 저장된 흥미로운 파일을 쉽게 찾기 위해 만들어졌습니다. 이 공유는 Windows 엔터프라이즈 환경의 Windows 클라이언트에 소프트웨어를 배포하는 데 사용되며, 암호, 인증서(pfx) 등이 포함된 스크립트/구성 파일이 있을 수 있습니다. 대부분의 SCCM 배포는 모든 사용자가 공유의 파일을 읽을 수 있도록 구성되어 있으며, 때로는 컴퓨터 계정으로 제한되기도 합니다.

SCCM/CM의 콘텐츠 라이브러리는 CMLoot가 풀어줄 "복잡한"(짜증나는) 파일 구조를 가지고 있습니다: https://techcommunity.microsoft.com/t5/configuration-manager-archive/understanding-the-configuration-manager-content-library/ba-p/273349

기본적으로 DataLib 폴더에는 .INI 파일이 포함되어 있으며, .INI 파일의 이름은 원래 파일 이름 + .INI 형식입니다. .INI 파일에는 파일의 해시가 포함되어 있으며, 파일 자체는 <폴더 이름: 해시의 처음 4자>\fullhash 형식으로 FileLib에 저장됩니다.

CM 접근 계정

CM의 패키지에 접근 제어를 적용하는 것이 가능합니다. 하지만 이는 파일 설명자(DataLib)의 폴더만 보호하며 실제 파일 자체는 보호하지 않습니다. CMLoot는 인벤토리 중에 접근할 수 없는 패키지(액세스 거부됨)를 파일 _noaccess.txt에 기록합니다. 그런 다음 Invoke-CMLootHunt는 이 파일을 사용하여 접근 제어가 보호하려는 실제 파일을 열거할 수 있습니다.

OPSEC

Windows Defender for Endpoint (EDR) 또는 기타 보안 메커니즘이 스크립트가 SMB를 통해 많은 파일을 구문 분석하기 때문에 트리거될 수 있습니다.

HOWTO

Active Directory에서 CM 서버를 검색하거나 System Center가 설치된 워크스테이션에서 다음 레지스트리 키를 가져와서 CM 서버를 찾으십시오:

root@kitploit:~
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\SMS\DP -Name ManagementPoints).ManagementPoints

여러 개의 CM 서버가 배포될 수 있으며 서로 다른 파일을 포함할 수 있으므로 모두 찾아야 합니다.

그런 다음 파일 설명자(.INI)에 대한 참조를 포함하는 텍스트 파일인 인벤토리 파일을 생성해야 합니다. 다음 명령은 SCCM 서버에서 모든 .INI 파일을 구문 분석하여 사용 가능한 파일 목록을 만듭니다.

root@kitploit:~
PS> Invoke-CMLootInventory -SCCMHost sccm01.domain.local -Outfile sccmfiles.txt

그런 다음 위에서 만든 인벤토리 파일을 사용하여 관심 있는 파일을 다운로드합니다:

GridView를 사용하여 파일 선택 (대용량 인벤토리 파일에서는 성능이 다를 수 있음):

root@kitploit:~
PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -GridSelect

인벤토리 텍스트에서 한 줄을 복사하여 단일 파일 다운로드:

root@kitploit:~
PS> Invoke-CMLootDownload -SingleFile \\sccm\SCCMContentLib$\DataLib\SC100001.1\x86\MigApp.xml

특정 파일 확장자를 가진 모든 파일 다운로드:

root@kitploit:~
PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -Extension ps1

파일은 기본적으로 스크립트를 실행하는 폴더의 CMLootOut에 다운로드되며, -OutFolder 매개변수로 변경할 수 있습니다. 파일은 (폴더: filext)(해시의 처음 4자_원본 파일 이름) 형식으로 저장됩니다.

CMLootInventory가 액세스할 수 없다고 찾은 파일 검색:

root@kitploit:~
Invoke-CMLootHunt -SCCMHost sccm -NoAccessFile sccmfiles_noaccess.txt

MSI 파일 대량 추출:

root@kitploit:~
Invoke-CMLootExtract -Path .\CMLootOut\msi

데모

인벤토리 실행, 사용 가능한 파일 스캔:

GridView를 사용하여 파일 선택:

모든 확장자 다운로드:

"액세스 불가능" 파일 검색 및 MSI 추출:

작성자

Tomas Rzepka / WithSecure

도구 다운로드