NetrServerAuthenticate3 messages that, on average, succeed within 256 attempts (often fewer), establishing an authenticated Netlogon session without any credentials.
Once authenticated, the attacker can call NetrServerPasswordSet2 to set the DC machine account password to an empty string, effectively taking over the domain controller.
Navigate to AD Unauthenticated and select Zerologon to run this check.
How the check works
EtherReaper runs the Zerologon check via thezerologon NetExec module:
Request parameters
The UI submits toPOST /api/zerologon/run:
| Field | Required | Description |
|---|---|---|
target | Recommended | IP address of the domain controller. If omitted, the backend auto-populates from the dc_ip value in the Network Info bar. |
target is not provided in the request, the endpoint falls back to the stored DC IP automatically.
Running the check
Set DC IP in Network Info
Confirm the DC IP is filled in the Network Info bar at the top of the page. This is used as the default target.
Navigate to AD Unauthenticated
Open the AD Unauthenticated section in the sidebar and select Zerologon.
Confirm target
Verify the target IP is correct. This will be the domain controller whose machine account password will be reset if the exploit succeeds.
Output file
Results are written to:Post-exploitation
After a successful Zerologon, the DC machine account password is empty. From here, you can use the empty password to authenticate as the DC machine account and perform a DCSync to dump all domain hashes:Affected systems
| Windows version | Vulnerable without patch |
|---|---|
| Windows Server 2008 R2 | Yes |
| Windows Server 2012 / 2012 R2 | Yes |
| Windows Server 2016 | Yes |
| Windows Server 2019 | Yes (before August 2020 patch) |
The NetExec module reports whether the target is patched or vulnerable without actually completing the exploit if the system is patched. Review the output carefully to distinguish a detection result from a successful exploitation.