|
| 1 | +--- |
| 2 | +title: "Zerologon Exploiter" |
| 3 | +draft: false |
| 4 | +description: "Exploits the Zerologon vulnerability" |
| 5 | +tags: ["exploiter", "zerologon", "cve-2020-1472"] |
| 6 | +pre: "<i class='fa fa-right-to-bracket'></i> " |
| 7 | +--- |
| 8 | + |
| 9 | +{{% notice warning %}} |
| 10 | +This exploiter is [unsafe for production](#a-note-on-safety)! |
| 11 | +{{% /notice %}} |
| 12 | + |
| 13 | +{{% notice info %}} |
| 14 | +The Zerologon exploiter exploits [CVE-2020-1472]( |
| 15 | +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1472). |
| 16 | +{{% /notice %}} |
| 17 | + |
| 18 | +## Netlogon Remote Protocol |
| 19 | + |
| 20 | +The [Netlogon Remote Protocol (MS-NRPC)]( |
| 21 | +https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-nrpc) is a |
| 22 | +Windows Server process that authenticates users and other services within a |
| 23 | +domain. If the Netlogon service is interrupted, the functionality of the domain |
| 24 | +controller, whose responsibilities include user authentication, authorization, |
| 25 | +and account management, is severely affected. |
| 26 | + |
| 27 | +## Exploitation |
| 28 | + |
| 29 | +<!-- TODO --> |
| 30 | + |
| 31 | +An elevation of privilege vulnerability exists when an attacker establishes a vulnerable Netlogon secure channel connection to a domain controller, using the Netlogon Remote Protocol (MS-NRPC). The Zerologon exploiter takes advantage of this vulnerability to steal credentials from the domain controller. This allows the Infection Monkey to propagate to the machine using one of the brute force exploiters (for example, the SMB Exploiter). |
| 32 | + |
| 33 | + |
| 36 | + |
| 37 | +## Mitigation |
| 38 | + |
| 39 | +To download the relevant security update and read more, click [here]( |
| 40 | +https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-1472). |
| 41 | + |
| 42 | +## A note on safety |
| 43 | + |
| 44 | +This exploiter is not safe for production or other sensitive environments. It |
| 45 | +is, therefore, **not** enabled by default. |
| 46 | + |
| 47 | +During successful exploitation, the Zerologon exploiter: |
| 48 | + |
| 49 | +* Will temporarily change the target domain controller's password. |
| 50 | +* May break the target domain controller's communication with other systems in the network, affecting functionality. |
| 51 | +* May change the administrator's password. |
| 52 | +* Will *attempt* to revert all changes. |
| 53 | + |
| 54 | +While the Zerologon exploiter is usually successful in reverting its changes |
| 55 | +and restoring the original passwords, it sometimes fails. Restoring passwords |
| 56 | +manually after the Zerologon exploiter has run is nontrivial. For information |
| 57 | +on restoring the original passwords, see the section on manually restoring your |
| 58 | +passwords. |
| 59 | + |
| 60 | +To minimize the risk posed by this exploiter, it is recommended that this |
| 61 | +exploiter be run _only_ against VMs with a recent snapshot and _only_ in |
| 62 | +testing or staging environments. |
| 63 | + |
| 64 | +## Manually restoring your password |
| 65 | + |
| 66 | +This exploiter attempts to restore the original passwords after exploitation. |
| 67 | +It is usually successful, but it sometimes fails. If this exploiter has changed |
| 68 | +a password but was unable to restore the original, you can try the following |
| 69 | +methods to restore the original password. |
| 70 | + |
| 71 | +### Restore the VM from a recent snapshot |
| 72 | + |
| 73 | +If the affected system is a virtual machine, the simplest way to restore it to |
| 74 | +a working state is to revert to a recent snapshot. |
| 75 | + |
| 76 | +### Restore the administrator's password |
| 77 | + |
| 78 | +If you are unable to log in as the administrator, you can follow the |
| 79 | +instructions |
| 80 | +[here](https://www.top-password.com/knowledge/reset-windows-server-2019-password.html) |
| 81 | +to regain access to the system. |
| 82 | + |
| 83 | +### Use Reset-ComputerMachinePassword |
| 84 | + |
| 85 | +If you are able to log in as the administrator, you can use the |
| 86 | +[Reset-ComputerMachinePassword](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/reset-computermachinepassword?view=powershell-5.1) |
| 87 | +powershell command to restore the domain controller's password. |
| 88 | + |
| 89 | +### Try a Zerologon password restoration tool |
| 90 | +If all other approaches fail, you can try the tools and steps found |
| 91 | +[here](https://github.com/risksense/zerologon). |
0 commit comments