前言
在企業內網滲透測試中,Active Directory 域控制器 (Domain Controller, DC) 是攻擊者的終極目標。一旦攻破域控,攻擊者便能掌控整個企業網路環境。本文將詳細介紹針對域控制器的常見攻擊手法及相應的防禦措施。
域控制器概述
什麼是域控制器?
域控制器是 Active Directory (AD) 環境中的核心伺服器,負責:
- 身份驗證:驗證使用者和電腦的登入請求
- 授權管理:控制資源存取權限
- 群組原則:推送和管理安全策略
- 目錄服務:儲存整個網域的使用者、群組、電腦等物件資訊
關鍵檔案與服務
| 元件 | 說明 |
|---|---|
| NTDS.dit | AD 資料庫,儲存所有帳號和密碼雜湊 |
| SYSVOL | 存放群組原則和登入指令碼 |
| Kerberos | 預設的身份驗證協定 |
| LDAP | 目錄查詢協定 (預設 389/636 埠) |
常見攻擊路徑
攻擊者通常透過以下路徑取得域控制權:
- 憑證竊取 → 提權至域管理員
- Kerberos 攻擊 → Golden/Silver Ticket
- 資料庫提取 → NTDS.dit 離線破解
- 複寫攻擊 → DCSync/DCShadow
DCSync 攻擊
攻擊原理
DCSync 利用 MS-DRSR (Directory Replication Service Remote Protocol) 協定,模擬域控制器向目標 DC 請求密碼資料複寫。
前置條件
攻擊者需具備以下權限之一:
- Domain Admins
- Enterprise Admins
- Replicating Directory Changes + Replicating Directory Changes All
攻擊指令
使用 Mimikatz 執行 DCSync:
| |
防禦建議
- 監控事件 ID 4662(存取目錄服務物件)
- 限制具有 Replicating Directory Changes 權限的帳號
- 使用 Microsoft ATA 或 Defender for Identity 偵測異常複寫行為
DCShadow 攻擊
攻擊原理
DCShadow 允許攻擊者在網路中註冊一台偽造的域控制器,然後將惡意變更(如後門帳號)複寫到真正的 DC。
攻擊步驟
| |
防禦建議
- 監控 SPN 註冊異常(E3514235-4B06-11D1-AB04-00C04FC2DCD2)
- 監控非 DC 主機的複寫流量
- 啟用 AdminSDHolder 保護關鍵帳號
NTDS.dit 提取
攻擊原理
NTDS.dit 是 AD 資料庫檔案,包含所有使用者的密碼雜湊。攻擊者可透過多種方式提取此檔案。
攻擊方法
方法一:Volume Shadow Copy
| |
方法二:ntdsutil
| |
方法三:Impacket secretsdump
| |
防禦建議
- 監控 vssadmin 和 ntdsutil 的執行
- 限制域控制器的本機登入權限
- 啟用 Credential Guard
Golden Ticket 攻擊
攻擊原理
Golden Ticket 利用 Kerberos TGT (Ticket Granting Ticket) 的生成機制,使用竊取的 krbtgt 帳號密碼雜湊偽造任意使用者的 TGT。
攻擊指令
| |
防禦建議
- 定期重設 krbtgt 密碼(每 180 天,需重設兩次)
- 監控 TGT 的異常有效期限(預設 10 小時)
- 使用 Privileged Access Workstation (PAW)
Silver Ticket 攻擊
攻擊原理
Silver Ticket 偽造特定服務的 TGS (Ticket Granting Service),使用服務帳號的密碼雜湊。與 Golden Ticket 不同,它不經過 KDC 驗證。
攻擊指令
| |
常見服務 SPN
| 服務 | SPN |
|---|---|
| 檔案共享 | CIFS |
| WMI | HOST, RPCSS |
| PowerShell Remoting | HTTP, WSMAN |
| LDAP | LDAP |
防禦建議
- 監控未經 KDC 的服務票證使用
- 啟用 PAC 驗證
- 使用 Group Managed Service Accounts (gMSA)
Skeleton Key 攻擊
攻擊原理
Skeleton Key 在域控制器記憶體中注入萬能密碼,允許攻擊者使用「萬能鑰匙」密碼以任何使用者身份登入。
攻擊指令
| |
特性
- 僅存在於記憶體中,重開機後失效
- 不修改使用者實際密碼
- 原始密碼仍可正常使用
防禦建議
- 啟用 LSA 保護(RunAsPPL)
- 定期重新啟動域控制器
- 監控 lsass.exe 的異常載入模組
防禦與偵測
關鍵事件 ID 監控
| 事件 ID | 說明 |
|---|---|
| 4662 | 存取目錄服務物件(DCSync 偵測) |
| 4672 | 特殊權限登入 |
| 4768 | Kerberos TGT 請求 |
| 4769 | Kerberos TGS 請求 |
| 4776 | NTLM 驗證 |
綜合防禦策略
- 最小權限原則:限制 Domain Admins 成員數量
- 分層管理模型:實施 Tier 0/1/2 隔離架構
- 特權存取工作站:使用 PAW 管理敏感系統
- 憑證保護:啟用 Credential Guard 和 LAPS
- 持續監控:部署 SIEM 和 EDR 解決方案
- 定期稽核:審查 AD 權限和群組成員資格
偵測工具
- Microsoft Defender for Identity:偵測橫向移動和憑證竊取
- BloodHound:分析 AD 攻擊路徑
- PingCastle:AD 安全評估
- Purple Knight:AD 安全健康檢查
總結
域控制器攻擊是內網滲透的核心環節。了解這些攻擊手法有助於:
- 紅隊人員:規劃有效的攻擊路徑
- 藍隊人員:建立相應的偵測和防禦機制
- 安全管理員:強化 AD 環境的安全配置
建議定期進行 AD 安全評估,及時修補漏洞,並建立完善的監控體系。