
회피 목적을 위한 ADWS를 통한 Active Directory 정보 덤퍼
Active Directory 정보 덤퍼 via ADWS (Active Directory Web Services).

권장 설치 방법:
pipx install git+https://github.com/mverschu/adwsdomaindump
# 또는
pipx install .
adwsdomaindump -u 'corp.local\jsmith' -p 'password' -n 10.0.0.1 dc01.corp.local
[*] Connecting to ADWS host...
[+] ADWS port 9389 is reachable
[*] Binding to ADWS host
[+] Bind OK
[*] Starting domain dump
[+] Domain dump finished
--force를 사용하여 ADWS 포트 연결 확인을 건너뜁니다.
모든 데이터는 LDAP가 아닌 ADWS (포트 9389)를 통해 쿼리됩니다.
| 데이터 | 기본 | --all 사용 시 | BloodHound 추가 |
|---|---|---|---|
| 사용자, 그룹, 컴퓨터 | 예 | 예 | --bloodhound |
| 도메인 정책, 트러스트 | 예 | 예 | --bloodhound |
| GPO, OU, 컨테이너 | 아니오 | 예 | --bloodhound --all |
| DACL / 개체 제어 에지 | 아니오 | 예 (--bloodhound 및/또는 --markdown 사용 시) | --bloodhound 또는 --markdown --acl |
| AD CS (템플릿, 엔터프라이즈 CA, …) | 아니오 | 예* | --bloodhound --all 또는 --adcs |
* AD CS는 --bloodhound가 필요합니다. --all은 자동으로 --adcs를 활성화합니다.
수집되지 않음 (ADWS / 디렉터리 데이터 전용 — SharpHound와 달리): 로그온 세션, 로컬 그룹 멤버십, AdminTo, RDP/PSRemote, CA 레지스트리 플래그(ESC6/11/16) 또는 HTTP 등록 확인(ESC8).
--no-html, --no-json 또는 --no-grep으로 기본값을 비활성화합니다. GPO, OU, 컨테이너, AD CS(--bloodhound 사용 시) 및 DACL 구문 분석을 위해 --all을 사용하세요. 기본 개체 집합에서 ACL 전용 수집을 위해 --all 없이 --acl을 사용하세요.
BloodHound 예제 (ACL + AD CS, 모두 ADWS 통해):
adwsdomaindump -u 'corp.local\Administrator' -p 'password' dc01.corp.local \
--all --bloodhound -o ./out
Markdown ACL 예제 (BloodHound 없음):
adwsdomaindump -u 'corp.local\Administrator' -p 'password' dc01.corp.local \
--markdown --all -o ./out
자세한 내용(플래그, 파일 목록, BloodHound/AD CS): wiki.
--full-build)Active Directory는 operatingSystemVersion에 주 빌드 번호만 저장합니다(예: 10.0 (14393)). --full-build를 사용하여 SMB를 통해 원격 레지스트리를 쿼리하여 각 컴퓨터에 전체 누적 업데이트 빌드 번호(예: 14393.8246)를 추가합니다.
adwsdomaindump -u 'corp.local\jsmith' -p 'password' dc01.corp.local --full-build
operatingSystemBuildNumber 열 (HTML/Markdown에서 OS Build로 표시)은 다음과 같은 값을 표시합니다:
관리자 권한 필요 없음 — HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion은 기본적으로 모든 인증된 사용자에게 읽기 권한을 부여합니다. 모든 표준 도메인 사용자 계정이 이 조회를 수행할 수 있습니다.
요구 사항:
RemoteRegistry 서비스가 각 대상에서 실행 중이어야 합니다(Windows Server에서는 기본값, 워크스테이션에서는 비활성화된 경우가 많음)조회에 실패한 호스트(연결 불가, RemoteRegistry 중지됨)는 자동으로 건너뛰며, 해당 항목에 대해 operatingSystemBuildNumber 열이 존재하지 않습니다.
현재 테스트 완료:
| EDR | 우회됨 |
|---|---|
| Microsoft Defender for Endpoint | 예 |
| CrowdStrike Falcon | 예 |
이 프로젝트는 Dirk-jan Mollema의 ldapdomaindump를 포크/변형한 것으로, LDAP 대신 ADWS를 사용하도록 변환되었습니다.
원본 저작물: Copyright (c) 2017 Dirk-jan Mollema
MIT
| 형식 | 플래그 | 용도 |
|---|
| HTML | 기본 | 브라우저에서 사용자, 그룹, 컴퓨터, 정책, 트러스트 탐색 |
| JSON | 기본 | 원시 AD 속성에 대한 스크립팅 및 자동화 |
| Greppable | 기본 | grep / cut 파이프라인 (-d는 구분자 설정) |
| Markdown | --markdown | HTML과 동일한 데이터의 노트 또는 문서 |
| Markdown ACL | --markdown --all | 사람이 읽을 수 있는 DACL / ACE 테이블 (domain_*_aces.md) |
| BloodHound | --bloodhound | BloodHound CE로 가져오기 (bloodhound_<domain>.zip) |
| OS | operatingSystemVersion | operatingSystemBuildNumber |
|---|
| Windows Server 2016 | 10.0 (14393) | 14393.8246 |
| Windows Server 2019 | 10.0 (17763) | 17763.8644 |
| Windows Server 2022 | 10.0 (20348) | 20348.5020 |
| Windows Server 2025 | 10.0 (26100) | 26100.32690 |