當前位置:
首頁 > 新聞 > 域滲透測試指南之GPO和OU詳解(上)

域滲透測試指南之GPO和OU詳解(上)

介紹

活動目錄是由用戶,計算機和用戶組組成的龐大而複雜的環境,並且在這之間存在著複雜的交織許可權和特權將它們連接起來。BloodHound的最初發布側重於衍生本地管理的概念,然後BloodHound 1.3引入了基於ACL的攻擊路徑。現在,隨著BloodHound 1.5的發布,測試人員和紅軍團隊可以輕鬆找到包括濫用組策略控制的攻擊路徑以及這些組策略有效應用的對象。

在本篇博文中,我將回顧GPO(組策略對象)執行的工作原理以及如何使用BloodHound查找基於GPO控制的攻擊路徑,並解釋執行這些攻擊的幾種方法。

之前所做的一些工作

Lucas Bouillot和Emmanuel Gras在他們的開創性工作「Chemins decontr?leen environnement Active Directory」中包含了GPO控制和OU結構。他們使用攻擊圖來映射哪些主體可以控制GPO,以及哪些OU應用到這些GPO,然後將這些GP溯源到受這些GPO影響的對象。我們從Lucas和Emannuel的白皮書(法語)學到了很多,我強烈建議你閱讀它。

有幾位重要的作者和資源在我們研究GPO的工作方式時需要提及:微軟組策略團隊在TechNet上的文章,Sean Metcalf在adsecurity.org的一些研究工作,榮獲過14次微軟MVP的「GPO Guy「 Darren Mar-Elia,微軟的組策略功能規範,最後但也是最重要的,Will Schroeder關於濫用GPO許可權的開創性博客文章。特別感謝Darren Mar-Elia回答了許多關於組策略的問題。其他資源和引用鏈接可以在這篇博文的底部找到。

組策略中的活動部分

沒有兩種方式:GPO執法是一個複雜的野獸,有很多活動部分。有了這些說明,我們先從基本知識和其他文章中使用的辭彙開始,然後逐步解釋這些活動部分是如何相互影響的:

GPO:組策略對象。首次創建Active Directory域時,還會創建兩個GPO:「默認域策略」和「默認域控制器」。GPO包含一組影響計算機和用戶的策略。例如,你可以使用GPO策略來控制計算機上的Windows桌面背景。GPO在組策略管理GUI中是可見的:

上圖所示:我們的測試域中的GPO列表。

從技術上講,「默認域控制器策略」是GPO 的顯示名稱,而GPO的名稱是一個GPO花括弧「GUID」。我把「GUID」放在引號中,因為這個標識符實際上並不是全局唯一的。每個Active Directory域中的「默認域控制器策略」將具有相同的「名稱」(讀作:花括弧GUID):。出於這個原因,GPO有一個名為objectguid的附加參數,它實際上是全局唯一的。任何給定GPO的策略文件都位於域中的SYSVOL中策略的gpcfilesyspath中(例如:\contoso.localsysvolcontoso.localPolicies)。

上圖:「默認域控制器策略」GPO的相關屬性以及SYSVOL中的GPO策略文件位置。

OU:組織單位。根據微軟的TechNet文章,OU是「可用於將大多數其他對象和類出於管理目的組合在一起的通用容器」。基本上,OU是你將主體(用戶,組和計算機)放入的一個容器。組織通常會使用OU來組織基於部門和/或地理位置的實體。此外,OU當然可以嵌套在其他OU中。這通常會導致域內相對複雜的OU樹結構,如果不先熟悉樹,則很難進行導航。你可以在ADUC(Active Directory用戶和計算機)的GUI中看到OU。在下面的屏幕截圖中,「ContosoUsers」是CONTOSO.LOCAL域的子OU,「幫助台」是「ContosoUsers」OU中的子OU,「Alice Admin」是「Helpdesk」OU的子用戶:

上圖:OU樹中的Alice Admin用戶。

GpLink:一個組策略鏈接。GPO可以「鏈接」到域,站點和OU。默認情況下,鏈接到OU的GPO將應用於該OU的子對象。例如,默認情況下,「默認域策略」GPO鏈接到域對象,而默認情況下,「默認域控制器策略」鏈接到域控制器OU。在下面的屏幕截圖中,你可以看到,如果我們展開「contoso.local」域和「域控制器」OU,則鏈接到這些對象的GPO則會顯示在其下方:

上圖:「默認域策略」鏈接到域「contoso.local」。「默認域控制器」策略鏈接到「域控制器」OU。

GpLinks存儲在GPO鏈接的對象上,名為「gplink」。「gplink」屬性值的格式是[;如果鏈接未強制執行,則為

上圖:「默認域控制器策略」GPO鏈接到「域控制器」OU,並未執行。

這三個部分 - GPO,OU和GpLinks - 構成了我們正在處理的主要活動部分。在理解GPO執行邏輯和如何使用BloodHound查找攻擊路徑之前,了解這三個概念很重要,因此在繼續之前,請確保你對這些攻擊有信心。最後一個注意事項:GPO也可以鏈接到站點,但由於站點成員資格和收集挑戰的複雜性,我們在本文將不包括這些內容。

GPO執行邏輯

現在你知道基本的活動部分,讓我們仔細看看它們是如何連接的。很簡單,GPO執行邏輯的工作原理如下:

·GpLinks可以執行,或不執行。

·OU可以阻止繼承,也可以不阻止。

·如果強制執行GpLink,則關聯的GPO將應用於鏈接的OU和所有子對象,而不管該樹中的任何OU是否阻止繼承。

·如果未強制執行GpLink,則關聯的GPO將應用於鏈接的OU和所有子對象,除非該樹中的任何OU阻止繼承。

最重要的還有更多的複雜問題,我們稍後會介紹。首先,我們來看看上述規則中關於GpLink強制和OU阻止繼承的內容。回想一下,我有一個用戶在HelpDesk OU中叫做Alice Admin。然而,我們不要在ADUC中看到這一點,而是開始考慮下面這個圖表:

上圖:域/ OU樹中的Alice Admin。

域對象Contoso.Local是一個容器對象。它包含名為ContosoUsers的OU。OU ContosoUsers包含OU幫助台。最後,OU HelpDesk包含用戶Alice Admin。

現在,將我們的默認域策略GPO添加到組合中。回想一下,在我的測試域中,該GPO鏈接到域對象:

上圖:「默認域策略」GPO鏈接到域對象。

現在,在默認情況下,你可以簡單地從左至右閱讀,以確定默認域策略將應用於用戶Alice Admin。這裡的「默認情況」是GpLink關係沒有被執行,並且這個路徑中的容器都沒有阻止繼承。讓我們將這些信息添加到上面的圖表中:

在這種情況下,沒有強制執行GpLink邊緣,因為沒有任何OU阻止繼承。在我們的測試域中,我們在ContosoUsers下有另一個名為「Accounting」的OU,在該OU中有一個用戶:Bob User。舉例來說,我們會認為Accounting OU會阻止繼承。讓我們將其添加到我們現有的圖表中:

同樣,我們可以看到默認域策略GPO鏈接到域對象,Bob用戶包含在域對象下的OU樹中; 但是,由於「Accounting」這個OU會阻止繼承,並且由於未強制實施GpLink邊緣,所以默認域策略將不適用於Bob用戶。

還能跟上我的節奏嗎?

讓我們在混合中添加另一個GPO並將其鏈接到域對象,這次我們將強制執行GpLink:

我們稱為「自定義密碼策略」的新GPO鏈接到域對象,該對象又包含它下面的整個OU樹。現在,因為GPLink被強制執行,所以此策略將應用於OU樹中的所有子對象,而不管這些OU中的任何一個是否阻止繼承。這意味著儘管「Accounting」這個OU阻止繼承,「自定義密碼策略」GPO將同時應用於「Alice管理員」 和「Bob用戶」 。

根據我們的經驗,這些信息將涵蓋你在真實企業網路中遇到的95%以上的情況; 但是,還有三件事需要了解,這可能會影響你在滲透測試和紅隊評估過程中濫用GPO控制路徑:WMI篩選,安全篩選和組策略鏈接順序和優先順序。

·WMI篩選允許管理員根據某個WMI查詢是返回True還是False來進一步限制GPO將應用於哪些計算機和用戶。例如,當計算機正在處理組策略時,它可以運行WMI查詢來檢查操作系統是否為Windows 7,並且只有在該查詢返回true時才應用組策略。請參閱Darren Mar-Elia的優秀博客文章以了解更多詳情。

·安全篩選允許管理員進一步限制GPO將應用哪些主體。管理員可以限制GPO應用於特定的計算機,用戶或特定安全組的成員。默認情況下,每個GPO都應用於「Authenticated Users」這個主體,其中包括任何成功通過域身份驗證的主體。有關更多詳細信息,請參閱TechGenix站點上的這篇文章。

·組策略鏈接順序決定了在出現衝突的非合併策略時哪個組策略「獲勝」。假設你有兩個「密碼策略」GPO:一個要求用戶每30天更改密碼,另一個要求用戶每60天更改一次密碼。無論優先順序中哪一項策略更高,都是「贏」的策略。組策略客戶端通過以相反的優先順序處理策略來強制執行此「獲勝」條件,因此最高優先順序策略最後處理,並且「勝出」。幸運的是,對於幾乎所有的濫用原語來說,你都不必擔心這一點。有關更多信息,請查看此博客文章。

就像我上面所說的,我們的經驗是,在真實的企業網路中,你不必擔心在遇到95%或更多的情況下的WMI過濾、安全過濾或GpLink順序,但我會提及它們。如果你的濫用行為無效,請了解從何處開始進行疑難解答。我們可能會嘗試將這三個項目在未來推入BloodHound界面。同時,確保你的目標計算機和用戶對象不會被WMI或安全過濾器過濾掉,或者嘗試推送將被更高優先順序策略推翻的惡意組策略。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

偽造代碼簽名證書的發展史
配置錯誤的Django應用程序可暴露秘密API密鑰和資料庫密碼

TAG:嘶吼RoarTalk |