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

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

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

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

도구 디렉토리

카테고리

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

DPAT

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

저장소 보기
1.1k16658개월 전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 해시 지원용)

설치

기본 설치

핵심 종속성 설치:

root@kitploit:~
pip install -r requirements.txt

개발 및 테스트용:

root@kitploit:~
pip install -r requirements-dev.txt

수동 설치

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

root@kitploit:~
pip install pycryptodome

Poetry 사용

root@kitploit:~
poetry install

빠른 시작

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

사용법

기본 명령

root@kitploit:~
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: 디버그 출력 활성화

예제 명령

기본 분석:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8

그룹 분석 포함:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -g /path/to/groups

정제된 보고서:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s

Kerberoastable 계정 포함:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -kz kerberoastable.txt

입력 파일 형식

NTDS 파일 형식

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

root@kitploit:~
domain\username:RID:lmhash:nthash:::

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

Hashcat 형식:

root@kitploit:~
nthash:password
lmhash:password

John the Ripper 형식:

root@kitploit:~
$NT$nthash:password
$LM$lmhash:password

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

root@kitploit:~
nthash:$HEX[68656c6c6f]

그룹 파일 형식

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

root@kitploit:~
domain\username

데이터 추출

1단계: NTDS 데이터 추출

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

root@kitploit:~
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를 사용하여 백업을 변환합니다:

root@kitploit:~
secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer

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

root@kitploit:~
secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer -history

3단계: 비밀번호 크래킹

Hashcat 사용:

root@kitploit:~
hashcat -m 1000 customer.ntds /path/to/wordlist

John the Ripper 사용:

root@kitploit:~
john --format=NT customer.ntds

보고서 섹션

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

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

샘플 데이터

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

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

샘플 데이터로 테스트:

root@kitploit:~
python dpat.py -n sample_data/customer.ntds -c sample_data/oclHashcat.pot -p 8

고급 기능

그룹 분석

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

root@kitploit:~
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 플래그를 사용하여 공유에 적합한 정제된 보고서를 생성합니다:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s

문제 해결

일반적인 문제

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

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

빈 보고서

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

세부정보 링크 누락

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

디버그 모드

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

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -dbg

테스트

테스트 스위트 실행:

root@kitploit:~
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 이슈 트래커를 사용해 주세요.

도구 다운로드