
adPEAS v2.5.0
Powershell 도구로 Active Directory 열거를 자동화합니다.
adPEAS v2 — Active Directory 권한 상승 Awesome Scripts
포괄적인 Active Directory 보안 평가 — 의존성 없음, 단일 파일, 즉시 사용 가능.
adPEAS란 무엇인가?
adPEAS는 Active Directory 환경에서 잘못된 구성, 취약점, 권한 상승 경로를 식별하는 PowerShell 기반 보안 평가 도구입니다. RSAT, ActiveDirectory 모듈, 타사 의존성 없이 모든 Windows 시스템에서 작동하는 신뢰할 수 있는 독립형 도구가 필요한 침투 테스터, 보안 감사자, 레드 팀을 위해 설계되었습니다.
adPEAS v2는 adPEAS v1의 완전한 재작성 버전입니다. 레거시 DirectoryEntry/DirectorySearcher 방식을 통합된 System.DirectoryServices.Protocols.LdapConnection 아키텍처로 대체하고, 네이티브 Kerberos 인증, 고급 보고, 공격적 작업을 순수 PowerShell로 추가했습니다.
v2의 새로운 기능
- 네이티브 Kerberos 스택 — AS-REQ/AS-REP, TGS-REQ/TGS-REP, Pass-the-Ticket, PKINIT, 모두 순수 PowerShell로 구현
- 다중 인증 방식 — 비밀번호, NT-Hash (OPtH), AES 키 (PtK), 인증서 (PKINIT 및 Pass-the-Cert/Schannel), Windows 통합 인증
- 9개 카테고리, 40개 이상의 보안 검사 — 심각도 점수 포함
- 대화형 HTML 보고서 — 검색, 필터링, 위험 점수, 툴팁 지원
- JSON 내보내기 — 오프라인 보고서 변환, 증분 스캔, 스캔 비교용
- BloodHound CE 수집기 — 공격 경로 분석을 위한 내장 데이터 수집
- 공격적 작업 — Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD 악용, Shadow Credentials 등
- 세션 기반 워크플로우 — 한 번 연결하고 여러 검사를 대화형으로 실행
- 탭 완성 — 대화형 탐색을 위한 AD 개체 이름 자동 완성
adPEAS가 처음이신가요? 빠른 시작 가이드를 확인하거나 blog.sekurity.de 블로그 시리즈에서 아키텍처, 인증, 내부 동작에 대한 심층 분석을 읽어보세요.
주요 기능 한눈에 보기
| 카테고리 | 주요 기능 |
|---|---|
| 인증 | 자격 증명, PKINIT, Pass-the-Cert, NT-Hash, AES 키, Windows 인증, Kerberos 우선 및 자동 폴백 |
| 보안 검사 | 도메인 구성, Kerberoast, ASREPRoast, ACL, DCSync, 위임, AD CS 권한 상승 경로, GPO 악용, LAPS, BitLocker 복구 키, 오래된 시스템 |
| 보고 | 콘솔(색상 구분), 일반 텍스트, 대화형 HTML, JSON 내보내기 |
| 공격적 작업 | Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD, Shadow Credentials, Pass-the-Ticket |
| BloodHound | 내장 BloodHound CE 수집기 (ZIP 내보내기) |
| OPSEC 모드 | 능동 테스트 건너뛰기 (Kerberoast, ASREPRoast, BloodHound) |
| 배포 | 단일 .ps1 파일, RSAT 불필요, 외부 모듈 불필요, 오프라인 및 에어갭 환경에서 작동 |
요구 사항
- OS: Windows 10/11, Windows Server 2016/2019/2022/2025
- PowerShell: 5.1 이상 (Windows PowerShell)
- .NET Framework: 4.5 이상 (Windows에 포함)
- 네트워크: LDAP (389), LDAPS (636), Kerberos (88), SMB (445)
ActiveDirectory 모듈, RSAT 또는 외부 PowerShell 모듈이 필요하지 않습니다.
다운로드
릴리스 버전
| 파일 | 크기 | 사용 사례 |
|---|---|---|
adPEAS.ps1 | ~4.5 MB | 개발, 디버깅, 코드 검토 |
adPEAS_min.ps1 | ~3-4 MB | 더 작은 용량의 일반 사용 |
adPEAS_ultra.ps1 | ~3 MB | 최소 크기, 주석 없음 |
adPEAS_obf.ps1 | <1 MB | 가장 작은 크기, 전송용 난독화 |
네 가지 버전 모두 기능적으로 동일합니다. 배포 시나리오에 따라 선택하세요.
# 저장소 복제
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
소스에서 빌드
main 브랜치에는 소스 파일(src/)만 포함되어 있습니다. 릴리스 빌드는 각 GitHub Release에 첨부되어 있습니다. 최신 소스에서 빌드하려면 포함된 빌드 스크립트를 사용하세요:
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
.\Build-Release.ps1
이 스크립트는 저장소 루트에 네 가지 변형(adPEAS.ps1, adPEAS_min.ps1, adPEAS_ultra.ps1, adPEAS_obf.ps1)을 생성합니다. Windows PowerShell 5.1이 필요하며 추가 의존성은 없습니다.
빠른 시작
# 옵션 1: 모듈로 가져오기 (권장)
Import-Module .\adPEAS.ps1
# 옵션 2: Dot-sourcing
. .\adPEAS.ps1
# 옵션 3: 읽고 메모리에서 실행
Get-Content -Raw .\adPEAS.ps1 | Invoke-Expression
# 옵션 4: GitHub에서 직접 메모리로 로드 (디스크에 파일 없음)
Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/61106960/adPEAS/main/adPEAS_obf.ps1" -UseBasicParsing).Content
원라이너 (v1 호환)
# 도메인 가입 머신 (현재 사용자)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth
# 자격 증명 사용
Invoke-adPEAS -Domain "contoso.com" -Username "john.doe" -Password "P@ssw0rd!"
# OPSEC 모드 (Kerberoast, ASREPRoast, BloodHound 건너뛰기)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -OPSEC
세션 기반 (v2 스타일)
# 한 번 연결
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth
# 전체 스캔 실행
Invoke-adPEAS
# 또는 개별 검사 실행
Get-KerberoastableAccounts
Get-ADCSVulnerabilities
Get-DangerousACLs
# 완료 후 연결 해제
Disconnect-adPEAS
인증 방법
# 자격 증명
Connect-adPEAS -Domain "contoso.com" -Credential (Get-Credential)
# Overpass-the-Hash (NT-Hash)
Connect-adPEAS -Domain "contoso.com" -Username "admin" -NTHash "32ED87BDB5FDC5E9CBA88547376818D4"
# Pass-the-Key (AES256)
Connect-adPEAS -Domain "contoso.com" -Username "admin" -AES256Key "4a3b2c1d5e6f..."
# PKINIT (인증서)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx"
# Pass-the-Cert / Schannel (LDAPS, Kerberos 없음)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx" -PassTheCert
# LDAPS
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth -UseLDAPS
출력 및 보고
# 모든 형식 (기본값) — .txt, .html, .json 생성
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report
# HTML만
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report -Format HTML
# JSON에서 오프라인 보고서 변환
Convert-adPEASReport -InputJson ".\report.json" -OutputPath ".\new_report"
# 두 스캔 비교 (차이 보고서)
Compare-adPEASReport -Baseline ".\scan_q1.json" -Current ".\scan_q2.json" -OutputPath ".\diff"
보안 검사 모듈
| 모듈 | 설명 |
|---|---|
Domain | 도메인 구성, 트러스트, 암호 정책, LDAP 서명, SMB 서명 |
Creds | Kerberoast, ASREPRoast, LAPS 및 BitLocker 복구 키 접근, SYSVOL의 자격 증명 노출 |
Rights | ACL, DCSync, 암호 재설정 권한, 위험한 OU 권한 |
Delegation | 무제한, 제한, 리소스 기반 제한 위임 |
ADCS | 인증서 템플릿 및 CA: ESC1-ESC5, ESC8, ESC9, ESC13, ESC14, ESC15 (ESC10은 GPO 검사를 통해). CA 호스트에 대한 관리자 접근이 필요한 권한 상승 경로는 범위에서 제외됩니다 — 보안 검사 참조 |
Accounts | 권한 있는 계정, 보호된 사용자, 서비스 계정, SID 히스토리 |
GPO | GPO 권한, 로컬 그룹 구성원, 예약된 작업, 스크립트, 위험한 레지스트리 설정 (WDigest, AlwaysInstallElevated, OneLogon/Zerologon 등) 및 GPO를 통해 배포된 Point and Print 프린터 드라이버 정책 (PrintNightmare) |
Computer | LAPS, 오래된 시스템, 인프라 서버 |
Application | Exchange, SCCM, SCOM 인프라 |
Bloodhound | BloodHound CE 데이터 수집 |
특정 모듈 실행:
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Module Domain,Creds,ADCS
또는 나머지를 나열하지 않고 일부만 제외하고 모두 실행:
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -ExcludeModule Bloodhound,Computer
문서
전체 문서는 docs/ 디렉토리에서 확인할 수 있습니다:
| 문서 | 주제 |
|---|---|
| 설치 | 다운로드, 설정, 실행 정책 |
| 빠른 시작 | 5분 안에 시작하기 |
| 인증 | 모든 인증 옵션 |
| 보안 검사 | 전체 검사 참조 |
| BloodHound 수집기 | BloodHound CE 내보내기 |
| 핵심 함수 | LDAP 쿼리 함수 |
| Set- 및 New- 모듈 | AD 수정 함수 |
| 헬퍼 함수 | 유틸리티 함수 |
| 아키텍처 | 기술 아키텍처 |
| 위험 점수 | 심각도 및 위험 점수 |
| 문제 해결 | 일반적인 문제 및 해결 방법 |
| FAQ | 자주 묻는 질문 |
블로그 시리즈
adPEAS v2 내부 동작을 다루는 상세 블로그 시리즈가 blog.sekurity.de에 게시되어 있습니다.
라이선스
adPEAS는 소스 공개(source-available) 방식입니다. 자체 조직에 대한 내부 보안 평가는 무료입니다. 상업적 사용(컨설팅, MSP, 유료 계약)에는 상업용 라이선스가 필요합니다.
전체 약관은 LICENSE, 상업 계약은 COMMERCIAL_AGREEMENT, 라이선스 옵션은 PRICING을 참조하세요.
- 라이선스 문의: [email protected]
- 기술 지원: [email protected]
법적 고지
adPEAS는 승인된 보안 테스트 전용입니다. 테스트 전에 항상 서면 승인을 받으십시오. 소유하지 않았거나 테스트 권한이 없는 시스템에는 절대 사용하지 마십시오. 작성자는 이 도구의 오용에 대해 책임을 지지 않습니다. 모든 관련 법률 및 규정을 준수하십시오.
작성자
Alexander Sturz — SEKurity GmbH
- GitHub: @61106960
- 블로그: blog.sekurity.de