close

1.RBCD簡介

本篇文章是在基於資源的約束委派的基礎上的一個利用,篇幅會比較短,但個人認為利用面還是挺廣泛的。於是就寫一下。

首先,需要了解的是RBCD的基礎知識:

可以參考我的這本篇文章,如果你還不了解Kerberos,可以看一下這篇

簡單回顧一下:

基於資源的約束委派(RBCD)只支持2012及2012以上,它與非約束委派,約束委派有個一個很大的區別,就是不需要管理員去單獨配置。RBCD把設置的權限給了計算機本身,那麼,既計算機本身可以決定『我』可以委派誰來控制我,換句話說就是計算機自身可以直接在自己賬戶上配置msDS-AllowedToActOnBehalfOfOtherIdentity屬性來設置RBCD。2.S4U2Self和S4U2Proxy

既然是RBCD,就一定繞不開兩個協議,S4U2Self和S4U2Proxy,這兩個協議的作用,主要是解決計算機以自己身份申請票據已達到完成認證的目的。

2.1.S4U2Self

• S4U2Self 通過此擴展可以拿到一張標識任意用戶身份的ST,使用S4U2Self的原因,是因為,如果用戶非Kerberos協議登錄網站,那麼就涉及到協議轉換的問題,因此需要使用S4USelf。如果用戶是使用Kerberos協議進行認證並登錄該服務器的,那麼,在該服務器上會有該用戶的ST,就不需要使用S4USelf去申請ST,直接使用該的ST。這個協議的本質,其實是解決協議轉換問題。當該用戶user使用非Kerberos協議請求Server A的時候,Server A是沒有user用戶的ST的,但是Server A要去獲取Server B的訪問權限需要user用戶的ST,因此S4U2Self解決了這個問題,Server A服務器可以使用它去向KDC請求一張user身份的ST,Server A服務器再用這張ST去發起S4U2proxy請求。

• S4U2proxy該拓展作用是使用一張user用戶身份的ST去向KDC請求一張用於訪問Server B的ST,這張ST的身份還是user用戶,這樣Server A就可以利用uesr用戶的權限去訪問Server B上的文件了。

3.msDS-AllowedToActOnBehalfOfOtherIdentity默認情況下,屬性在ldap中是查不到的,需要單獨配置才可以。誰配置了msDS-AllowedToActOnBehalfOfOtherIdentity屬性,就說明誰配置了RBCD。

msDS-AllowedToActOnBehalfOfOtherIdentity的values是這樣的:

O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;serverA的sid)

其中O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO未固定寫法,;;;後面為被委派的用戶的SID

如上圖,values:D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-5199876-230042057-2391242617-1113)

說明:CN=SR,CN=Computers,DC=test,DC=org配置了S-1-5-21-5199876-230042057-2391242617-1113的委派

針對這,可以根據rabbit大佬的思路來理解:配置了msDS-AllowedToActOnBehalfOfOtherIdentity,values指向域內某個用戶,就可以理解為,該計算機將鑑定權能力交出去,相當於,該計算機完全信任委派的用戶。

按照上圖就是:

CN=SR,CN=Computers,DC=test,DC=org配置了S-1-5-21-5199876-230042057-2391242617-1113的委派,就相當於CN=SR,CN=Computers,DC=test,DC=org信任S-1-5-21-5199876-230042057-2391242617-1113

3.1.誰可以配置?

既然知道了配置了RBCD的具體表現以及含義,那麼問題來了,誰能修改msDS-AllowedToActOnBehalfOfOtherIdentity的values,準確的來講,應該是:誰可以添加msDS-AllowedToActOnBehalfOfOtherIdentity的values並修改values

這裡直接拋結論:

• 機器用戶

• mS-DS-CreatorSID 賬號(mS-DS-CreatorSID的valuse的值對應的objectSid)

4.攻擊利用

這裡復盤一下攻擊步驟:

• 第一步,連接域控ldap創建計算機賬戶xiaolongxia

• 第二步,通過ldap協議在域控上設置sr的msds-allowedtoactonbehalfofotheridentity的值為O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;xiaolongxia的sid)

• 第三步,使用xiaolongxia憑據拿到一張TGT

該工具集成上面的前三步,唯一不同的是,該工具將所有計算機的msds-allowedtoactonbehalfofotheridentity的值都設置成了新建的機器用戶xiaolongxia

PS:這裡感謝rabbit師傅提供的工具

• 第四步,使用s4u2self代表administrator拿到一張ST

• 第五步,拿從s4u2self那裡獲取到的ST作為驗證信息再去請求一張用於訪問sr機器CIFS spn的ST票據。

• 第六步,提升權限

5.數據包分析

這個數據包,表示第三步:使用xiaolongxia

這裡表示,通過s4u2self代表administrator拿到一張ST,對自己進行請求。

拿到的ST是由xiaolongxia的hash加密,s4u2self這個步驟作用是xiaolongxia拿自己的tgt票據請求一張訪問xiaolongxia的ST,且該ST的身份是administrator,而這張ST是用xiaolongxia

最後一步,我們拿從s4u2self那裡獲取到的ST作為驗證信息再去請求一張用於訪問sr機器CIFS spn的ST票據,也就是s4u2proxy這一步。6.攻擊面

• 企業可能會有一個專門的賬號,用來拉新用戶加入域,該賬號通常只有普通域用戶權限,如果我們控制了這個賬戶呢?

• 當我們滲透進入一個域環境,發現並沒有足夠的權限擴,行動有限,那麼我們可以查看,當前機器是誰拉進來的,如果我們能控制該用戶呢?

• 一個域用戶X可能會在域中創建多台機器(比如筆記本和台式機都需要加入域),當我們有了改用戶的權限時,可以利用RBCD繼續攻擊其他mS-DS-CreatorSID是該域用戶的機器。

E



N



D












Tide安全團隊正式成立於2019年1月,是新潮信息旗下以互聯網攻防技術研究為目標的安全團隊,團隊致力於分享高質量原創文章、開源安全工具、交流安全技術,研究方向覆蓋網絡攻防、系統安全、Web安全、移動終端、安全開發、物聯網/工控安全/AI安全等多個領域。

團隊作為「省級等保關鍵技術實驗室」先後與哈工大、齊魯銀行、聊城大學、交通學院等多個高校名企建立聯合技術實驗室,近三年來在網絡安全技術方面開展研發項目60餘項,獲得各類自主知識產權30餘項,省市級科技項目立項20餘項,研究成果應用於產品核心技術研究、國家重點科技項目攻關、專業安全服務等。對安全感興趣的小夥伴可以加入或關注我們。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()