taibeihacker
Moderator
DCShadow 攻击
2018 年1 月24 日,Benjamin Delpy(神器Mimikatz 的作者)和Vincent Le Toux 在BlueHat IL 會議期間公佈了針對域活動目錄的一種新型攻擊技術DCShadow在具備域管理員權限條件下,攻擊者可以創建偽造的域控制器,將預先設定的對像或對象屬性複製到正在運行域服務器中
DCSync 從域服務器複製出東西,DCShadow 是將數據複製至域服務器
Luc Delsalle 對這種技術進行了驗證和詳細的描述,並就紅藍對抗中藍隊對抗此種攻擊技術的缺陷和補救方法。
從DCShadow 目前展示的功能來看,主要只能用於紅藍對抗的隱蔽後門。但是DCShadow 第一次澄清和實現了偽造一個DC 的最小需求合集,這個貢獻非常大。以前很多攻擊方法都卡在不能偽造域服務器,例如MS15-011 和MS15-014 等,有了DCShadow 的基礎,相信將來會有很多新的攻擊方法。
流程
根據Luc Delsalle 的描述,DCShadow 的攻擊過程包括3 個主要個步驟:1、在目標域的AD 活動目錄註冊一個偽造的DC 中;
2、使偽造的DC 被其他的DC 認可,能夠參與域複製;
3、強制觸發域複製,將指定的新對像或修改後的對象屬性同步複製到其他DC 中;
注册伪造的 DC
一台機器要想註冊成為域中的一台DC 服務器,需要在域的活動目錄中註冊一個NTDS-DSA(nTDSDSA)類對象。註冊的位置為CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adsec,DC=com
adsec.com 域有3 台域服務器,分別是LABDC01、RESDC01 及WIN2016-DC01,標紅的正是我們實驗環境的域服務器。我們測試的機器為Win7X86cn04,測試成功的則會生成一個新的NTDS-DSA(nTDSDSA)類對象

查看CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adsec,DC=com的安全描述符,可知必須有域管理員權限才具備寫權限
所以發動DCShadow 攻擊首先必須具備域管理員權限,但是我們可以通實驗,做點手腳,就會好辦一些,例如將完全權限賦予普通用戶,則普通用戶也可以修改


DC Shadow 源碼:

注册的 DC 被其他 DC 认可,能够参与域复制
一個剛註冊的DC 要想被域中其他DC認可,能夠參與域複製,需要滿足3 個條件:1、這台偽造DC 具備認證憑證,能認證到域,即有域內賬號,可以使用機器賬號,實驗環境中為WIN7X86CN04$;
2、偽造DC 能認證其他DC 來訪問的賬號,如果我們給WIN7X86CN04$ 添加SPN,則可以實現這一點。關鍵是需要添加哪些SPN,DCShadow 的一個大貢獻是找到了SPN 的最小合集,只需要2 個即可


3、運行DRS 服務,最少需要實現IDL_DRSBind、IDL_DRSUnbind、IDL_DRSGetNCChanges、IDL_DRSUpdateRefs 這4 個RPC 接口,以便其他DC 能夠通過RPC 獲取需要復制的數據。 Mimikatz 工具的最新版已經集成了這4 個接口
强制立即发起域复制
通常負責域複製和同步的進程是KCC 進程,默認時間是15 分鐘校驗一次,如果需要復制則發起;也可以使用Windows 域服務器自帶的系統工具repadmin,該工具會調用DRSReplicaAdd 函數接口強制立即發起域複製,DCShadow 正是通過調用DRSReplicaAdd 函數強制立即發起域複製
攻击复现
查看CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adsec,DC=com 的安全描述符,可知必須有域管理員權限才具備寫權限所以發動DCShadow 攻擊首先必須具備域管理員權限,但是我們可以通實驗,做點手腳,就會好辦一些,例如將完全權限賦予普通用戶,則普通用戶也可以修改

攻击时注意防火墙的设置