
ProfileHound - 도메인 머신에 저장된 사용자 프로필을 수집하는 BloodHound OpenGraph 수집기입니다. 도메인 머신에서 활성 사용자 프로필을 식별하여 비밀 탈취에 대한 정보에 기반한 결정을 내릴 수 있습니다.
____ _____ __ __ __ __
/ __ \_________ / __(_) /__ / / / /___ __ ______ ____/ /
/ /_/ / ___/ __ \/ /_/ / / _ \/ /_/ / __ \/ / / / __ \/ __ /
/ ____/ / / /_/ / __/ / / __/ __ / /_/ / /_/ / / / / /_/ /
/_/ /_/ \____/_/ /_/_/\___/_/ /_/\____/\__,_/_/ /_/\__,_/
ProfileHound는 권한 상승 후(post-escalation) 도구로, 머신에서 도메인 사용자 프로필을 찾아 레드팀 목표를 달성하는 데 도움을 줍니다. BloodHound OpenGraph 형식을 사용하여 HasUserProfile이라는 새 엣지를 구축하며, 이 엣지는 컴퓨터에 사용자 프로필이 존재하는지 확인합니다. 이 엣지를 통해 운영자는 비밀을 약탈하기 위해 어떤 컴퓨터를 대상으로 할지 정보에 기반한 결정을 내릴 수 있습니다.
이 도구는 사용자 프로필을 열거하기 위해 대상 컴퓨터의 C$ 공유에 대한 관리자 액세스가 필요합니다.
Remi Gascou (@podalirius) 님의 ShareHound 및 bhopengraph 도구에 큰 감사를 드립니다. 이 데이터를 수집하는 도구를 오랫동안 만들고 싶었는데, 이 라이브러리들을 사용하여 기반 작업 대신 구축에 집중할 수 있었습니다.
[!WARNING] ProfileHound는 개발 초기 단계에 있으며 아직 모든 수집 모드가 구현되지 않았습니다. 프로덕션 환경에서 사용 시 주의하십시오. 이 도구 사용에 따른 위험은 사용자가 부담합니다.
Active Directory에서 포스트 익스플로잇 목표는 사내 데이터에서 SaaS 애플리케이션과 클라우드로 이동했습니다. 오프섹(offsec)에서 가치를 입증하려면 이러한 서비스에 대한 액세스가 어떻게 손상될 수 있는지 보여줘야 합니다. 대부분의 경우 이러한 서비스는 HR, 재무 등 특정 그룹이나 사용자만 사용합니다. 일부 시나리오에서는 특정 SaaS 애플리케이션에 특정 머신에서만 액세스할 수 있습니다.
BloodHound의 HasSession 엣지는 훌륭하지만, 사용자가 머신에 로그인한 경우에만 유용합니다. 데이터 수집 시점에 사용자가 머신에 로그인하지 않은 경우, 추가 익스플로잇을 용이하게 할 비밀이 포함된 컴퓨터를 찾기 어려울 수 있습니다. 사용자 프로필에는 DPAPI, 캐시된 자격 증명, SSH 키, 클라우드 키 등 상당량의 중요한 정보가 포함될 수 있습니다. 이러한 정보는 활성 사용자 세션이 없어도 액세스할 수 있습니다.

ProfileHound는 BloodHound의 OpenGraph 형식을 사용하여 HasUserProfile이라는 새 그래프 엣지를 구축하며, 이 엣지는 도메인 머신에 사용자 프로필이 존재하는지 확인합니다. 이는 운영자가 고가치 사용자나 그룹의 프로필이 있는 컴퓨터에 집중할 수 있도록 도와줍니다.
HasUserProfile 엣지에는 프로필 생성일 및 최종 수정일 속성이 포함됩니다. 이 정보를 통해 다음을 판단할 수 있습니다.

pipx를 사용하여 ProfileHound 설치 (의존성 지옥을 피하려는 경우):
pipx install profilehound
최신 버전을 사용하려면 소스에서 설치할 수 있습니다:
pipx install git+https://github.com/m4lwhere/profilehound.git
컨테이너화된 접근 방식을 사용하려면 다음 명령어로 이미지를 빌드하고 도구를 실행하십시오:
docker build -t profilehound .
docker run --rm profilehound --help
docker run --rm -v ${PWD}:/profilehound profilehound --auth-user alice --auth-password whiteRabbit --auth-domain sccm.lab --dns 192.168.57.10 --auth-dc-ip 192.168.57.10
예를 들어, 도메인 관리자 계정 sccm.lab\alice와 비밀번호 whiteRabbit을 사용하여 실행하려면:
$ profilehound --auth-user alice --auth-password whiteRabbit --auth-domain sccm.lab --target 192.168.57.0/27
____ _____ __ __ __ __
/ __ \_________ / __(_) /__ / / / /___ __ ______ ____/ /
/ /_/ / ___/ __ \/ /_/ / / _ \/ /_/ / __ \/ / / / __ \/ __ /
/ ____/ / / /_/ / __/ / / __/ __ / /_/ / /_/ / / / / /_/ /
/_/ /_/ \____/_/ /_/_/\___/_/ /_/\____/\__,_/_/ /_/\__,_/ v0.1.1
@m4lwhere
BloodHound CE OpenGraph collector for user profiles stored on domain machines.
[12/30/25 11:58:05] INFO Loaded 32 targets
[12/30/25 11:58:08] INFO Successful authentication on 192.168.57.10 (192.168.57.10) as sccm.lab\alice
INFO Successfully connected to share \\192.168.57.10\C$ as sccm.lab\alice
INFO Enumerating profiles in \\192.168.57.10\C$\Users\...
INFO vagrant: S-1-5-21-3016982856-3796307652-1246469985-1000 created:2025-11-07 modified:2025-11-07
INFO Found 1 domain profile(s) for 192.168.57.10
INFO Successful authentication on 192.168.57.11 (192.168.57.11) as sccm.lab\alice
[12/30/25 11:58:09] INFO Successfully connected to share \\192.168.57.11\C$ as sccm.lab\alice
INFO Enumerating profiles in \\192.168.57.11\C$\Users\...
INFO administrator: S-1-5-21-3016982856-3796307652-1246469985-500 created:2025-11-07 modified:2025-11-07
INFO alice: S-1-5-21-3016982856-3796307652-1246469985-1112 created:2025-12-28 modified:2025-11-07
INFO eve: S-1-5-21-3016982856-3796307652-1246469985-1116 created:2025-12-27 modified:2025-11-07
INFO Found 3 domain profile(s) for 192.168.57.11
INFO Successful authentication on 192.168.57.12 (192.168.57.12) as sccm.lab\alice
INFO Successfully connected to share \\192.168.57.12\C$ as sccm.lab\alice
INFO Enumerating profiles in \\192.168.57.12\C$\Users\...
INFO alice: S-1-5-21-3016982856-3796307652-1246469985-1112 created:2025-12-28 modified:2025-12-28
INFO franck: S-1-5-21-3016982856-3796307652-1246469985-1117 created:2025-12-27 modified:2025-11-07
INFO sccm-sql: S-1-5-21-3016982856-3796307652-1246469985-1121 created:2025-11-07 modified:2025-11-07
INFO Found 3 domain profile(s) for 192.168.57.12
INFO Successful authentication on 192.168.57.13 (192.168.57.13) as sccm.lab\alice
INFO Successfully connected to share \\192.168.57.13\C$ as sccm.lab\alice
INFO Enumerating profiles in \\192.168.57.13\C$\Users\...
INFO alice: S-1-5-21-3016982856-3796307652-1246469985-1112 created:2025-12-26 modified:2025-12-28
INFO sccm-account-da: S-1-5-21-3016982856-3796307652-1246469985-1119 created:2025-12-26 modified:2025-11-07
INFO Found 2 domain profile(s) for 192.168.57.13
[12/30/25 11:59:27] INFO Found 4 machines with profiles
INFO Exported OpenGraph intel to profilehound_20251230-115805.json
이렇게 하면 현재 디렉토리에 profilehound_20251230-115805.json 파일이 생성됩니다. 이 파일을 BloodHound UI로 드래그 앤 드롭하여 BHCE에 직접 가져올 수 있습니다. 자동으로 파싱되어 SID를 통해 노드를 연결합니다. 새 엣지 HasUserProfile이 생성되어 사용자와 프로필 간의 관계를 보여줍니다.