
Empire和BloodHound這兩個Github項目極大程度地簡化了針對活動目錄(AD)的滲透測試過程,至少在我當前所遇到的95%的環境中是這樣的。隨著年月的積累,我發現很多事情都是自己一直在重復地做著,因此我打算將它們通過自動化的方式來實現。畢竟,通過“即發即棄”的腳本來自動化獲取域管理員權限(Domain Admin)是大家都想實現的一個目標,沒錯吧?
幸運的是,前人已經幫我們完成了很多非常困難的任務。除此之外,Empire不久之前還引入了一個RESTful API,因此開發者可以輕而易舉地創建一個第三方腳本并與之進行交互。
但在我開始之前我還想提醒一下各位,拿到域管理員權限并不是你滲透測試的唯一目標,如果你是這樣想的話,那你就大錯特錯了。你應該把重點放在Post-Exploitation(發現漏洞并利用)上,并嘗試查找機密數據和文檔等敏感信息。你的目標是要找出任何能夠證明組織管理漏洞的證據,你要能夠證明當網絡攻擊真正發生時,這些東西會讓組織陷入困境。不過當你拿到域管理權限之后,一切都會變得簡單。
項目目標與實現
我本來只是想開發一款能夠解析BloodHound輸出,并將其轉發給Empire的工具。但是,原版的BloodHound并不適用于使用了GPP密碼的域權限。因此我需要一個帶有蠕蟲特性的“激進版”BloodHound。除此之外,Empire幾乎擁有BloodHound絕大多數的核心功能,但相對來說跟Empire的模塊進行交互還是比較難的。因此,我打算通過RESTful API和Empire來實現整個過程的自動化,這樣一來我就可以根據自己的需要來解析模塊的輸出結果了。
DeathStar的運行機制
下面這張圖片可以很好地解釋DeathStar的運行機制:

如果你曾經對活動目錄進行過滲透測試的話,那么你應該對這張圖片不會感到陌生。
工具安裝與配置
為了讓DeathStar正常工作,目前你還需要單獨安裝Empire,其中包含一些API和后端數據庫,并且相關的腳本都經過了優化以方便我們與RESTful API交互。
DeathStar- 【傳送門】
Empire- 【傳送門】
下載并安裝Empire庫,然后通過下列命令運行:
pythonempire --rest --username username --password password
這行命令將會啟動Empire的命令控制臺以及RESTful API服務器。
安裝并運行DeathStar:
gitclone https://github.com/byt3bl33d3r/DeathStar
#Death Star is written in Python 3
pip3install -r requirements.txt
#Supply the username and password you started Empire's RESTful API with
./DeathStar.py-u username -p password
如果一切進展順利的話,DeathStar將會創建一個http監聽器,此時你將會看到“Polling for Agents”狀態:這意味著你已經被授權訪問RESTful API了,而DeathStar正在等待代理客戶端。
現在你需要的就是一個來自目標域設備的代理,具體如何實現并非本文所要討論的范疇,不過我建議你使用CrackMapExec。
工具使用
在下面的演示視頻中,我們在兩種不同的場景下演示了如何使用DeathStar來獲取域管理權限。
視頻地址1:https://youtu.be/PTpg_9IgxB0
視頻地址2:https://youtu.be/1ZCkC8FXSzs
需要注意的是,這兩個視頻采取了不同的方法來利用憑證,但我們還可以使用本地管理員權限和PSInject來更加輕松地獲取域管理權限,而且這樣不需要使用到憑證數據。
總結
DeathStar這個項目足以證明,我們可以通過現存的開源工具集合來自動化獲取活動目錄環境下的域管理權限。我總共花了3-4天的時間來將這些組件組合起來,而那些比我更加聰明的人可能會做得比我更好。因此就我個人而言,我希望能夠在將來看到更多類似的工具出現。
|