16、DeathStar:一鍵自動化域滲透工具(含演示視訊)

FLy_鵬程萬里發表於2018-06-14

EmpireBloodHound這兩個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天的時間來將這些元件組合起來,而那些比我更加聰明的人可能會做得比我更好。因此就我個人而言,我希望能夠在將來看到更多類似的工具出現。

相關文章