Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DPAT — 도메인 비밀번호 감사 도구 (Pentester용) | Kitploit
도구/GitHubGitHub/clr2of8/dpat
Password CrackingVulnerability AnalysisPenetration Testing
GitHubclr2of8/dpat

DPAT

도메인 비밀번호 감사 도구 (Pentester용)

저장소 보기
1.1k166159개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DPAT Icon 도메인 비밀번호 감사 도구 (DPAT)

DPAT는 Active Directory 도메인 컨트롤러에서 추출한 비밀번호 해시를 분석하는 Python 기반 보안 도구입니다. NTDS 덤프와 비밀번호 크래킹 결과로부터 비밀번호 사용 통계, 정책 위반 및 보안 인사이트를 종합한 HTML 보고서를 생성합니다.

샘플 보고서

DPAT 요약

그룹 통계

차트

기능

  • 포괄적인 비밀번호 분석: 비밀번호 길이 분포, 재사용 패턴 및 정책 위반 분석
  • 대화형 HTML 보고서: 드릴다운이 가능한 상세하고 클릭 가능한 HTML 보고서 생성
  • 비밀번호 이력 지원: 비밀번호 이력 데이터를 사용할 수 있는 경우 분석
  • 그룹 기반 분석: 권한이 있는 계정에 대한 그룹 구성원 통계 포함
  • Kerberoastable 계정 분석: 크래킹된 Kerberoastable 서비스 계정 식별 및 분석
  • LM 해시 크래킹: 부분적으로 크래킹된 LM 해시에서 NT 해시를 자동으로 크래킹 시도
  • 데이터 정제: 보고서 공유를 위해 민감한 데이터를 정제하는 옵션
  • 다중 입력 형식: Hashcat, John the Ripper 및 기타 비밀번호 크래킹 도구 지원

요구 사항

  • Python 3.8 이상
  • pycryptodome (MD4 해시 지원용)

설치

기본 설치

핵심 종속성 설치:

pip install -r requirements.txt

개발 및 테스트용:

pip install -r requirements-dev.txt

수동 설치

개별적으로 종속성을 설치하려는 경우:

pip install pycryptodome

Poetry 사용

poetry install

빠른 시작

  1. secretsdump.py를 사용하여 도메인 컨트롤러에서 NTDS 데이터 추출
  2. Hashcat, John the Ripper 또는 유사한 도구를 사용하여 비밀번호 크래킹
  3. DPAT를 실행하여 분석 보고서 생성
python dpat.py -n customer.ntds -c hashcat.potfile -p 8

사용법

기본 명령

python dpat.py -n <ntds_file> -c <cracked_file> -p <min_password_length>

필수 매개변수

  • -n, --ntdsfile: NTDS 파일 (secretsdump.py 출력)
  • -c, --crackfile: 비밀번호 크래킹 출력 파일 (hashcat.potfile, john.pot 등)
  • -p, --minpasslen: 도메인 정책의 최소 비밀번호 길이

선택적 매개변수

  • -o, --outputfile: HTML 보고서 파일 이름 (기본값: _DomainPasswordAuditReport.html)
  • -d, --reportdirectory: 출력 디렉터리 (기본값: "DPAT Report")
  • -s, --sanitize: 보고서에서 비밀번호 및 해시 정제
  • -g, --groupsdirectory: 그룹 구성원 파일이 포함된 디렉터리
  • -m, --machineaccts: 분석에 컴퓨터 계정 포함
  • -k, --krbtgt: 분석에 krbtgt 계정 포함
  • -kz, --kerbfile: Kerberoastable 계정이 포함된 파일
  • -w, --writedb: 검사용 SQLite 데이터베이스를 디스크에 쓰기
  • --no-prompt: 브라우저 프롬프트 건너뛰기 (자동화에 유용)
  • -dbg, --debug: 디버그 출력 활성화

예제 명령

기본 분석:

python dpat.py -n customer.ntds -c hashcat.potfile -p 8

그룹 분석 포함:

python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -g /path/to/groups

정제된 보고서:

python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s

Kerberoastable 계정 포함:

python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -kz kerberoastable.txt

입력 파일 형식

NTDS 파일 형식

NTDS 파일은 secretsdump.py가 출력하는 형식이어야 합니다:

domain\username:RID:lmhash:nthash:::

크래킹된 비밀번호 파일 형식

Hashcat 형식:

nthash:password
lmhash:password

John the Ripper 형식:

$NT$nthash:password
$LM$lmhash:password

16진수 인코딩된 비밀번호:

nthash:$HEX[68656c6c6f]

그룹 파일 형식

그룹 구성원 파일은 한 줄에 하나의 사용자 이름을 포함해야 합니다:

domain\username

데이터 추출

1단계: NTDS 데이터 추출

도메인 컨트롤러에서 IFM(설치 미디어에서) 백업을 생성합니다:

ntdsutil "ac in ntds" "ifm" "cr fu c:\temp" q q

그러면 다음이 생성됩니다:

  • c:\temp\Active Directory\ntds.dit
  • c:\temp\registry\SYSTEM

2단계: DPAT 형식으로 변환

secretsdump.py를 사용하여 백업을 변환합니다:

secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer

비밀번호 이력(사용 가능한 경우):

secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer -history

3단계: 비밀번호 크래킹

Hashcat 사용:

hashcat -m 1000 customer.ntds /path/to/wordlist

John the Ripper 사용:

john --format=NT customer.ntds

보고서 섹션

DPAT는 다음을 포함한 종합 보고서를 생성합니다:

  • 비밀번호 통계: 총 해시, 고유 해시, 크래킹된 비밀번호
  • 비밀번호 정책 위반: 정책 최소 길이보다 짧은 비밀번호
  • 사용자 이름/비밀번호 일치: 사용자 이름을 비밀번호로 사용하는 계정
  • LM 해시 분석: 비어 있지 않은 LM 해시 및 크래킹 통계
  • 비밀번호 길이 분포: 드릴다운이 가능한 상세 길이 분석
  • 비밀번호 재사용: 여러 계정에서 공유되는 비밀번호
  • 상위 비밀번호: 가장 일반적으로 사용되는 비밀번호
  • 비밀번호 이력: 과거 비밀번호 분석 (사용 가능한 경우)
  • 그룹 통계: 권한 있는 그룹 분석 (그룹 파일이 제공된 경우)
  • Kerberoastable 계정: 서비스 계정 분석 (제공된 경우)

샘플 데이터

저장소에는 테스트용 sample_data/ 디렉터리에 샘플 데이터가 포함되어 있습니다:

  • customer.ntds: 샘플 NTDS 파일
  • oclHashcat.pot: 샘플 크래킹된 비밀번호
  • history/: 비밀번호 이력이 포함된 샘플 데이터

샘플 데이터로 테스트:

python dpat.py -n sample_data/customer.ntds -c sample_data/oclHashcat.pot -p 8

고급 기능

그룹 분석

PowerShell을 사용하여 그룹 구성원 파일을 생성합니다:

Get-NetGroupMember -Recurse -GroupName "Domain Admins" > "Domain Admins.txt"

Kerberoastable 계정 분석

CypherHound의 parse-kerberoastable.py 스크립트를 사용하여 향상된 분석을 위한 Kerberoastable 계정 파일을 생성합니다.

CypherHound 통합

CypherHound에서 생성된 파일을 DPAT에 연결하여 DPAT 보고서에 더 많은 통계를 제공할 수 있습니다. 현재 추가 통계는 다음과 같습니다:

  • 지정된 도메인의 모든 그룹에 대한 그룹 크래킹 통계
  • 크래킹된 Kerberoastable 계정

이러한 추가 통계를 제공하기 위해 활용하려면 여기에 있는 스크립트를 사용해야 합니다:

  • parse-memberships.py. 출력 디렉터리를 DPAT에 -g 플래그로 전달합니다.
  • parse-kerberoastable.py. 출력 파일을 DPAT에 -kz 플래그로 전달합니다.

이는 간단한 스크립트이며, 사용법은 위 링크에 나와 있으므로 사용법은 간단합니다.

데이터 정제

-s 플래그를 사용하여 공유에 적합한 정제된 보고서를 생성합니다:

python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s

문제 해결

일반적인 문제

"'distutils' 모듈이 없습니다"

  • Python 3.12+에서 예상되는 문제입니다. DPAT가 자동으로 처리합니다.

빈 보고서

  • NTDS 파일 형식이 예상 형식과 일치하는지 확인
  • 크래킹된 비밀번호 파일에 일치하는 해시가 포함되어 있는지 확인
  • 최소 비밀번호 길이 매개변수가 올바른지 확인

세부정보 링크 누락

  • 일부 보고서 섹션은 데이터가 없으면 세부정보 페이지가 없을 수 있습니다.
  • 이는 빈 범주에 대한 정상적인 동작입니다.

디버그 모드

문제 해결을 위해 디버그 출력 활성화:

python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -dbg

테스트

테스트 스위트 실행:

python -m unittest tests.unit.test_core -v
python -m unittest tests.integration.test_integration -v

기여

  1. 저장소 포크
  2. 기능 브랜치 생성
  3. 변경 사항 적용
  4. 새 기능에 대한 테스트 추가
  5. 풀 리퀘스트 제출

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

크레딧

  • Carrie Roberts - 원저자
  • Dylan Evans - 기여자

원래 후원:

Black Hills Information Security

지원

문제, 질문 또는 기여 사항은 GitHub 이슈 트래커를 사용해 주세요.

도구 다운로드