注:本篇文章建立在有一定的內網滲透基礎前提下,所以翻譯時候有些詞匯顯得比較術語化,建議大家沒事可以多了解下內網滲透的知識
保護一個公司或者組織免受當今復雜的攻擊并非易事。除了管理保護組織安全的日常職責之外,通常還需要安全團隊隨時準備響應事件。為了有效管理,安全團隊必須具有良好定義的策略和可靠的檢測功能。這種功能和策略的實施常常會在藍隊和紅隊之間引發一場持續的軍備競賽,雙方都在尋求越來越復雜的工具和檢測能力。然而,安全專業人員通常可以通過預測可能的攻擊路徑并采取步驟阻止攻擊者使用這些路徑從而優化他們的工作并獲得優勢。
如何獲取隱藏到域控制器管理員賬戶?
首先我們得要先知道什么是隱藏的管理員帳戶?為什么要關心這個問題?
隱藏的管理員帳戶是域帳戶,提供對敏感系統(如域控制器、exchange服務器或數據庫服務器)的管理員訪問。這些帳戶可能不屬于特權Active Directory (AD)組(即域管理員),但是它們仍然可以訪問相同的系統。這些帳戶的權限是使用AD對象上的訪問控制列表(ACL)直接分配的。
這些隱藏的管理員帳戶通常是服務或維護帳戶,它們在環境中執行自動化的例行任務。此外,隱藏的管理員帳戶通常可以訪問環境中的多個系統。值得關注的是,在配置檢查或密碼管理和監視方面,這些帳戶通常不會得到與普通管理員賬戶相同的關注。
因此,他們經常作為一種弱點項來進行探測,紅隊利用這些服務帳戶進行橫向滲透并且訪問多個系統。
此外,隱藏的管理員帳戶也經常成為自我傳播的惡意軟件的目標,包括那些用于勒索軟件和加密攻擊的惡意軟件。利用這些管理員特權,惡意軟件可以很容易地在整個公司中傳播。
如何處理隱藏的管理帳戶?
我們這選擇是使用偵探犬。不,我說的不是耷拉著眼睛的氣味狗——我說的是現在很多紅色團隊使用的非常流行的內部AD偵察工具。
偵探犬是一個單頁JAVA web應用程序,帶有一個由PowerShell腳本提供的Neo4j數據庫。偵探犬使用圖論方式來揭示AD環境中隱藏的、常常是意想不到的關系圖。
它由Will Schroeder (@harmjoy)、Andrew Robbins (@_wald0)和Rohan Vazarkar (@CptJesus)開發。偵探犬可以在幾分鐘內完成以前需要滲透測試人員和分析人員幾周才能完成的工作。盡管該工具在滲透測試社區中非常流行,但是我們仍然發現一些安全性和IT團隊沒有意識到它對于保護他們的基礎設施有多么強大和有益。具體來說,偵探犬可以發現隱藏的關系和管理帳戶,如過不進行使用探測這些賬戶可能會被我們忽略掉。要使用偵探犬,您必須設置Neo4j community edition數據庫。然后需要將偵探犬web應用程序連接到Neo4j數據庫。有關完整的安裝說明,請訪問偵探犬Wiki
(https://github.com/BloodHoundAD/BloodHound/wiki/Getting-started)
設置好數據庫并登錄到偵探犬web應用程序之后,需要使用Bloodhound PowerShell ingestor選項從AD中提取AD數據。
圖1顯示了一個示例命令,它搜索林(-SearchForest)中的所有域,以及用于保存生成的CSV文件的文件夾位置。
圖1:運行偵探犬的Bloodhound PowerShell Ingestor
一旦ingestor完成,您將看到三個CSV文件,它們可以上傳到偵探犬中,如圖2所示:
A.group_membership.csv B.local_admins.csv C.Sessions.csv
圖2:偵探犬web應用的上傳界面
上傳這些文件后,利用偵探犬內部的預構建查詢。這些查詢是開始獲取有關環境的重要信息的好方法。查詢包括:
查看所有域管理員; 查看具有最多本地管理員權限的用戶; 或查看具有最多管理用戶訪問權限的計算機。
其中一個查詢使我們能夠得到域信任關系,如圖3所示。
圖 3:偵探犬預構建分析查詢
在查找隱藏的管理員帳戶和信任錯誤配置時,我們通常使用預先構建的查詢“查找擁有最多本地管理權限的前10個用戶”和“映射域信任”。
這些查詢將提供一些快速的結果,并向我們展示哪些帳戶可以訪問最多的系統,以及域之間是否存在雙向信任,從而允許對環境進行更大程度的訪問。找到隱藏的管理員帳戶的另一個好方法是直接查看系統、組或用戶節點信息。我們只需輸入環境中的任何用戶、組或系統名稱的前幾個字符,就可以調查該環境中的任何用戶、組或系統名稱。
一旦您選擇了一個節點,左側面板中的“node Info”字段就會填充。您還可以右鍵單擊一個節點并選擇子選項“Expand”,以查看該節點的成員,如圖4所示。
圖4:偵探犬用戶交互界面
我們能夠輕松發現隱藏管理員帳戶的另一種方法是搜索敏感的系統,比如域控制器。這可以通過簡單地搜索“域控制器”組并左鍵單擊組節點來實現。左邊的“Node Info”字段將被填充。接下來,在“群組成員”部分中,左鍵單擊“直接成員”旁邊的數字。將看到該組下的所有域控制器系統節點,如圖5所示。
圖5:偵探犬顯示的域控制器組的成員
接下來,左鍵單擊其中一個系統節點(例如:“GOAT-DC”),并在“Local Admins”部分中,左鍵單擊“Derivative Local Admins”旁邊的數字,如圖6所示。
圖6:偵探犬顯示的GOAT-DC 派生的本地管理員
現在,我們可以看到有兩個帳戶具有對域控制器的本地管理員訪問權,它們不在“域管理員”組中,甚至沒有顯示在圖4中。。
結論
環境中隱藏的管理員帳戶常常被遺忘,或者完全不為人知。它們可以為攻擊者提供一種獨特的方式來獲得域管理員權限并不破壞環境。 偵探犬在識別隱藏的管理員帳戶方面非常有效,而且功能強大且易于使用。它可以在幾分鐘內提供對你的域環境的關系圖譜,在你尋找隱藏的域關系時,它是一個很好的工具。我們建議安全公司經常使用像偵探犬這樣的免費工具進行威脅探測,并將它們作為定期的、主動的安全評估的一部分。我們在安全方面越主動,就越能更好地預測威脅,為我們的團隊做好準備,并提高我們阻止入侵的能力。
*本文作者:130421106,轉載請注明來自FreeBuf.COM