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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ldapdomaindump — LDAP를 통한 Active Directory 정보 덤퍼 | Kitploit
도구/GitHubGitHub/dirkjanm/ldapdomaindump
ReconnaissanceInformation GatheringPenetration Testing
GitHubdirkjanm/ldapdomaindump

ldapdomaindump

LDAP를 통한 Active Directory 정보 덤퍼

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

LDAPDomainDump

LDAP을 이용한 Active Directory 정보 덤퍼

소개

Active Directory 도메인에서는 인증된 사용자(또는 머신)가 LDAP을 통해 많은 흥미로운 정보를 검색할 수 있습니다. 이로 인해 LDAP은 내부 네트워크 침투 테스트의 정찰 단계에서 정보를 수집하는 데 유용한 프로토콜이 됩니다. 문제는 LDAP의 데이터가 종종 읽기 쉬운 형식으로 제공되지 않는다는 점입니다.

ldapdomaindump는 이 문제를 해결하기 위해 설계된 도구로, LDAP을 통해 사용 가능한 정보를 수집하고 파싱하여 사람이 읽을 수 있는 HTML 형식과 기계가 읽을 수 있는 JSON 및 csv/tsv/greppable 파일로 출력합니다.

이 도구는 다음과 같은 목표를 염두에 두고 설계되었습니다:

  • 도메인의 모든 사용자/그룹/컴퓨터/정책을 쉽게 개괄적으로 파악
  • 사용자 이름과 비밀번호, 또는 NTLM 해시를 통한 인증 모두 지원 (ldap3 >=1.3.1 필요)
  • 기존 인증된 LDAP 서비스 연결을 통해 도구를 실행할 수 있어 impacket의 ntlmrelayx와 같은 릴레이 도구와 통합 가능

도구는 도메인의 객체 개요를 포함한 여러 파일을 출력합니다:

  • domain_groups: 도메인의 그룹 목록
  • domain_users: 도메인의 사용자 목록
  • domain_computers: 도메인의 컴퓨터 계정 목록
  • domain_policy: 비밀번호 요구 사항 및 잠금 정책과 같은 도메인 정책
  • domain_trusts: 들어오고 나가는 도메인 트러스트 및 해당 속성

또한 두 가지 그룹화된 파일:

  • domain_users_by_group: 사용자가 속한 그룹별 도메인 사용자
  • domain_computers_by_os: 운영 체제별로 정렬된 도메인 컴퓨터

종속성 및 설치

ldap3 > 2.0 및 dnspython이 필요합니다. ldapdomaindump는 Python 3.6 이상이 필요합니다.

종속성은 수동으로 pip install ldap3 dnspython future로 설치할 수 있지만, 대부분의 경우 git 또는 pypi에서 메인 패키지를 설치할 때 pip가 처리합니다.

ldapdomaindump 패키지는 git 소스에서 python setup.py install로 설치하거나, 최신 릴리스의 경우 pip install ldapdomaindump로 설치할 수 있습니다.

사용법

도구를 사용하는 세 가지 방법이 있습니다:

  • 소스만 있는 경우 python ldapdomaindump.py 실행
  • 설치 후 python -m ldapdomaindump 실행
  • 설치 후 ldapdomaindump 실행

도움말은 -h 스위치로 얻을 수 있습니다:

root@kitploit:~
usage: ldapdomaindump.py [-h] [-u USERNAME] [-p PASSWORD] [-at {NTLM,SIMPLE}]
                         [-o DIRECTORY] [--no-html] [--no-json] [--no-grep]
                         [--grouped-json] [-d DELIMITER] [-r] [-n DNS_SERVER]
                         [-m]
                         HOSTNAME

Domain information dumper via LDAP. Dumps users/computers/groups and
OS/membership information to HTML/JSON/greppable output.

Required options:
  HOSTNAME              Hostname/ip or ldap://host:port connection string to
                        connect to (use ldaps:// to use SSL)

Main options:
  -h, --help            show this help message and exit
  -u USERNAME, --user USERNAME
                        DOMAIN\username for authentication, leave empty for
                        anonymous authentication
  -p PASSWORD, --password PASSWORD
                        Password or LM:NTLM hash, will prompt if not specified
  -at {NTLM,SIMPLE}, --authtype {NTLM,SIMPLE}
                        Authentication type (NTLM or SIMPLE, default: NTLM)

Output options:
  -o DIRECTORY, --outdir DIRECTORY
                        Directory in which the dump will be saved (default:
                        current)
  --no-html             Disable HTML output
  --no-json             Disable JSON output
  --no-grep             Disable Greppable output
  --grouped-json        Also write json files for grouped files (default:
                        disabled)
  -d DELIMITER, --delimiter DELIMITER
                        Field delimiter for greppable output (default: tab)

Misc options:
  -r, --resolve         Resolve computer hostnames (might take a while and
                        cause high traffic on large networks)
  -n DNS_SERVER, --dns-server DNS_SERVER
                        Use custom DNS resolver instead of system DNS (try a
                        domain controller IP)
  -m, --minimal         Only query minimal set of attributes to limit memmory
                        usage

옵션

인증

대부분의 AD 서버는 NTLM 인증을 지원합니다. 드물게 지원하지 않는 경우 --authtype SIMPLE을 사용하세요.

출력 형식

기본적으로 도구는 모든 파일을 HTML, JSON 및 탭으로 구분된 출력(greppable)으로 출력합니다. 또한 편의를 위해 두 가지 그룹화된 파일(users_by_group 및 computers_by_os)이 있습니다. 이러한 파일에는 greppable 출력이 없습니다. 그룹화된 파일의 JSON 출력은 기본적으로 비활성화되어 있으며, 이미 다른 파일에 없는 데이터 없이 매우 큰 파일을 생성하기 때문입니다.

DNS 확인

중요한 옵션은 -r 옵션으로, 컴퓨터의 DNSHostName 속성을 IPv4 주소로 확인할지 결정합니다. 이는 매우 유용할 수 있지만 DNSHostName 속성은 자동으로 업데이트되지 않습니다. AD 도메인이 컴퓨터 호스트 이름에 하위 도메인을 사용하는 경우 DNSHostName이 종종 올바르지 않아 확인되지 않습니다. 또한 도메인의 모든 호스트 이름을 확인하면 도메인 컨트롤러에 높은 부하가 발생할 수 있습니다.

네트워크 및 메모리 사용 최소화

기본적으로 ldapdomaindump는 읽을 수 있는 모든 속성을 .json 파일로 디스크에 덤프하려고 시도합니다. 대규모 네트워크에서는 그룹 관계가 디스크에 기록되기 전에 현재 메모리에서 계산되므로 많은 메모리를 사용합니다. 최소한의 필수 속성(.html 및 .grep 파일에 기본적으로 표시되는 속성)만 덤프하려면 --minimal 스위치를 사용하세요.

BloodHound를 이용한 그룹 시각화

LDAPDomainDump에는 ldapdomaindump의 .json 파일을 BloodHound에 적합한 CSV 파일로 변환하는 유틸리티가 포함되어 있습니다. 유틸리티 이름은 ldd2bloodhound이며 설치 시 경로에 추가됩니다. 또는 소스에서 실행하는 경우 python -m ldapdomaindump.convert 또는 python ldapdomaindump/convert.py로 실행할 수 있습니다. 변환 도구는 users/groups/computers/trusts .json 파일을 가져와 group_membership.csv 및 trust.csv로 변환하며, 이를 BloodHound에 추가할 수 있습니다. 이 파일은 BloodHound 1.x와만 호환되며 상당히 오래된 버전입니다. 최신 버전은 BloodHound.py 프로젝트가 이를 위해 만들어졌기 때문에 지원할 계획이 없습니다. DCOnly 수집 방법을 사용하면 이 도구도 LDAP에만 연결하고 ldapdomaindump보다 더 많은 정보를 수집합니다.

enum4linux와 같은 예쁜 출력으로 덤프 시각화

LDAPDomainDump에는 ldapdomaindump의 .json 파일을 enum4linux 스타일 출력으로 변환하는 유틸리티가 포함되어 있습니다. 유틸리티 이름은 ldd2pretty이며 설치 시 경로에 추가됩니다. 또는 소스에서 실행하는 경우 python -m ldapdomaindump.pretty 또는 python ldapdomaindump/pretty.py로 실행할 수 있습니다.

라이선스

MIT

도구 다운로드