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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sccmhound — Microsoft Configuration Manager용 BloodHound 수집기 | Kitploit
도구/GitHubGitHub/crowdstrike/sccmhound
ReconnaissanceLateral MovementInformation GatheringPenetration Testing
GitHubcrowdstrike/sccmhound

sccmhound

Microsoft Configuration Manager용 BloodHound 수집기

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SCCMHound

SCCMHound는 Microsoft Configuration Manager(MCM)용 C# BloodHound 수집기입니다. Configuration Manager의 사용자와 컴퓨터에서 BloodHound 세션 정보를 수집할 방법을 찾고 있다면 바로 이 도구입니다!

다른 수집기(SharpHound, SOAPHound 등)의 데이터와 함께 수집된 데이터를 가져오는 것을 적극 권장합니다. 다른 데이터셋보다 먼저 또는 나중에 가져와도 상관없습니다. 이렇게 하면 Configuration Manager에서 수집한 정보로 보완된 대상 조직의 Active Directory 관계에 대한 광범위한 개요를 얻을 수 있습니다.

지원 설명

SCCMHound는 오픈 소스 프로젝트이지 CrowdStrike 제품이 아닙니다. 따라서 명시적이든 묵시적이든 공식적인 지원이 제공되지 않습니다.

요구 사항

SCCMHound는 Windows 10 버전 1607 이상과의 호환성을 보장하기 위해 .NET 4.6.2를 대상으로 합니다.

사용자 및 컴퓨터 정보를 쿼리할 수 있는 충분한 권한을 가진 MCM 관리자 계정이 필요합니다. 수집 방법에 따라 CMPivot 쿼리를 실행할 수 있는 권한도 필요합니다. 이 도구는 MCM "전체 관리자(Full Administrator)" 역할이 할당된 사용자로 테스트되었습니다.

서버와 사이트 코드는 MCM 콘솔에서 확인하거나 SharpSCCM과 같은 다른 도구를 사용하여 얻을 수 있습니다. console

빌드 방법은?

먼저 저장소를 클론해야 합니다. SCCMHound는 SharpHoundCommon을 서브모듈로 사용하므로 --recursive를 지정해야 합니다.

예: git clone [email protected]:CrowdStrike/sccmhound.git --recursive

로컬 복사본을 확보한 후 Visual Studio에서 SCCMHound.sln을 열고 컴파일하세요!

실행 방법은?

기본 수집 방법을 사용하려면 서버와 사이트 코드 인수를 지정하기만 하면 됩니다. SCCMHound는 호출된 실행 컨텍스트를 사용하여 MCM에 인증합니다. 예:

root@kitploit:~
SCCMHound.exe --server <server> --sitecode <sitecode>

다른 사용자의 컨텍스트 또는 도메인에 가입되지 않은 컴퓨터에서 SCCMHound를 실행하려면 -u(--username), -p(--password), -d(--domain) 인수가 필요합니다. 예:

root@kitploit:~
SCCMHound.exe --server <server> --sitecode <sitecode> -u <username> -p <password> -d <domain>

또는 SCCMHound를 호출하기 전에 runas /netonly를 사용할 수 있습니다:

root@kitploit:~
runas /netonly /user:[email protected] cmd.exe
cd C:\path\to\SCCMHound
SCCMHound.exe --server <server> --sitecode <sitecode>

이것이 왜 유용한가요?

BloodHound 세션 데이터를 쉽게 수집하던 때를 기억하시나요? 음... beforeafter

멋진 자격 증명 탈취 및 횡적 이동 그래프!!! graph

이 괴물을 누구에게 탓해야 하나요?

저자 및 기여자

유지관리자가 수집 데이터 소스를 확장하고 버그를 해결하는 동안 친절하게 대해주세요 :)

그냥 실행해서 모든 것을 수집하고 싶어요!!!

알겠어요, 알겠어요... 다음 명령은 모든 수집 방법(CMPivot 수집 방법 포함)을 호출합니다:

root@kitploit:~
SCCMHound.exe --server <server> --sitecode <sitecode> -c All

CLI 인수

root@kitploit:~
  --server                   Required. SCCM server hostname/IP address.

  --sitecode                 Required. SCCM sitecode.

  -c, --collectionmethods    (Default: Default) (LocalAdmins, CurrentSessions, All)

  --loop                     (Default: false) Enable loop collection.

  --loopduration             (Default: 00:30:00) Loop Duration.

  --loopsleep                (Default: 60) Sleep time between loops in seconds.

  --hc                       (Default: false) Health check. Simply tests authentication and exits.

  -u, --username             SCCM administrator username.

  -p, --password             SCCM administrator password.

  -d, --domain               SCCM administrator domain.

  -v, --verbose              (Default: false) Print verbose information to help with troubleshooting.

  --help                     Display this help screen.

  --version                  Display version information.

수집 방법

기본값

기본 수집 방법(-c 인수 미지정/불필요)은 지정된 MCM 사이트 서버에 대한 WMI 연결만 사용하여 BloodHound 데이터셋을 구성합니다. 이 수집 방법은 다음을 수집합니다:

  • MCM 데이터셋의 도메인
  • MCM 데이터셋의 사용자
  • MCM 데이터셋의 그룹
  • MCM 데이터셋의 컴퓨터

이 수집 방법은 MCM의 각 Computer 개체에 대해 현재 로그온한 사용자 정보를 수집합니다. 이 방법은 여러 사용자가 인증되었는지 여부와 관계없이 MCM에서 보고한 로그온 사용자만 수집한다는 제한이 있습니다.

SCCMHound는 자동으로 사용자(Users)에 대해서만 그룹 멤버십을 채웁니다. ConfigMgr의 Group 개체에는 하위 그룹 또는 상위 그룹 정보가 포함되어 있지 않은 것으로 보이므로 BloodHound의 그룹에는 User 구성원만 표시됩니다. 이 부분은 추가 조사가 필요하며 다른 데이터셋(SharpHound, SOAPHound 등)과 함께 가져오는 경우 문제가 되지 않습니다.

이 수집 방법으로 더 넓은 세션 범위를 확보하려면 --loop 인수를 사용하여 세션 정보를 주기적으로 수집할 수 있습니다.

LocalAdmins (CMPivot 메커니즘)

이 수집 방법(-c LocalAdmins)은 "Default" 수집 방법의 동작을 수행하고, "All Systems" 컬렉션을 쿼리하여 MCM에서 관리하는 모든 컴퓨터의 로컬 Administrators 그룹 내용을 수집합니다.

참고 (1): 이 수집 방법은 온라인 상태인 장치만 쿼리합니다. --loop 인수와 함께 사용하면 더 나은 범위를 얻을 수 있습니다. 참고 (2): 이 수집 방법은 CMPivot을 사용하여 모든 구성원에 대해 쿼리를 실행합니다.

CurrentSessions (CMPivot 메커니즘)

이 수집 방법(-c CurrentSessions)은 "Default" 수집 방법의 동작을 수행하고, "All Systems" 컬렉션을 쿼리하여 MCM에서 관리하는 모든 컴퓨터의 실시간 세션 정보를 수집합니다.

이 수집 방법은 현재 온라인 상태인 장치만 쿼리합니다. --loop 인수와 함께 사용하면 더 나은 범위를 얻을 수 있습니다.

참고 (1): 이 수집 방법은 온라인 상태인 장치만 쿼리합니다. --loop 인수와 함께 사용하면 더 나은 범위를 얻을 수 있습니다. 참고 (2): 이 수집 방법은 CMPivot을 사용하여 모든 구성원에 대해 쿼리를 실행합니다.

모든 수집 방법

모든 수집 방법을 한 번에 실행하려면 수집 방법으로 All(-c All)을 지정하면 됩니다.

CMPivot 기반 수집 방법에 관한 정보

CMPivot 작동 방식을 더 잘 이해하려면 다음 Microsoft 문서를 읽어보시기 바랍니다: https://learn.microsoft.com/en-us/mem/configmgr/core/servers/manage/cmpivot

요약 - CMPivot 수집 방법은 최대 50,000개 클라이언트가 있는 환경에서 Microsoft에 의해 테스트되었으며 네트워크 전체에서 50MB 미만의 트래픽이 발생했습니다. SCCMHound의 수집 방법은 약 1,000대의 컴퓨터가 있는 환경에서 테스트되었으며 확인된 문제나 서비스 저하가 없었습니다.

대규모 환경에서 이러한 수집 방법에 대한 피드백이 있으면 언제든지 보고해 주세요. 여기에 반영될 수 있습니다.

이 데이터셋을 어떻게 사용할 수 있나요?

훌륭한 세션 및 로컬 Administrator 범위에 더해, SCCMHound는 수집된 개체에 추가 속성을 채웁니다. 이 속성들은 BloodHound의 "Node Info" 탭에서 "sccm" 접두사가 붙은 형태로 확인할 수 있습니다. 예: sccmADSiteName.

수집되는 속성은 다음과 같습니다:

  • SCCM 폐기 상태
  • 컴퓨터에 대해 보고된 IP 주소(IPv4 및 IPv6)
  • 마지막 로그온 타임스탬프
  • 마지막으로 로그온한 사용자가 속해 있던 도메인
  • 마지막으로 로그온한 사용자의 이름
  • 확인할 수 없는 열거 세션(해당 BloodHound 개체를 생성할 수 없는 세션, 예: 로컬 계정)

SCCMHound 데이터셋용 사용자 지정 BloodHound 쿼리

customqueries.json은 가져온 SCCMHound 데이터셋으로 실행할 수 있는 Cypher 쿼리를 제공합니다. SCCMHound에 추가 기능이 추가됨에 따라 확장될 예정입니다.

사용하려면 customqueries.json을 ~/.config/bloodhound/customqueries.json에 복사하고 BloodHound를 다시 시작하기만 하면 됩니다. 그러면 쿼리가 BloodHound의 "Analysis" 탭에 표시됩니다.

도구 다운로드