压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

從Mimikatz 解讀windows 下的協(xié)議

0x01 了解Mimikatz

大家使用這個(gè)工具最多的就是提取密碼,可能對(duì)其中涉及到的windows協(xié)議不了解,mimikatz項(xiàng)目的介紹當(dāng)中:

mimikatz is a tool I’ve made to learn C and make somes experiments with Windows security.

我們就來(lái)從其中來(lái)了解下windows 的協(xié)議。

t0190ae1f5ed34f09c3

0x02 kerberos 協(xié)議

我們先來(lái)大致使用下mimikatz 的kerberos 模塊。

其中l(wèi)ist,tgt和purge

list 列舉出當(dāng)前會(huì)話的所有緩存憑證,tgt列出當(dāng)前會(huì)話的tgt信息:

purge 銷(xiāo)毀所有的緩存憑證:

ptt: pass the ticket 以及golden/silver,中都涉及到了kerberos 協(xié)議(V5)的部分,我們就先來(lái)看看kerberos 協(xié)議的實(shí)現(xiàn)。

圖的來(lái)源,說(shuō)明下這張圖:

主要包含了3個(gè)部分:1.AS 服務(wù) 2.TGS 服務(wù) 3.C/S 端

1,2兩個(gè)部分一起稱為KEY DISTRIBUTION CENTER簡(jiǎn)稱KDC,Client要向Server 請(qǐng)求數(shù)據(jù)就需要驗(yàn)證身份,在這個(gè)不安全的網(wǎng)絡(luò)環(huán)境下必須要證明自己。這就需要一個(gè)信任度第三方來(lái)幫助完成驗(yàn)證,KDC就是為了這種需求所設(shè)計(jì)的服務(wù)。我們來(lái)解析上圖中的流程(wireshark 抓包):

  1. KRB-AS-REQ:Client 通過(guò)用自身密碼加密一個(gè)時(shí)間戳timestamp,向as服務(wù)驗(yàn)證身份,請(qǐng)求TGT。
  2. KRB-AS-REP:AS服務(wù)使用client 的密碼副本,解密對(duì)比是否符合timestamp要求,成功就是認(rèn)證了client,生成一個(gè)短期的as-sessionkey,用client密碼加密成密文1,另外將as-sessionkey+PAC(特權(quán)證書(shū),指明了client所具有的權(quán)限)使用TGS服務(wù)的密碼加密為密文2(這就是TGT),組成了KRB-AS-REP發(fā)送給client。

PAC:

  1. KRB-TGS-REQ:client可以利用密碼解密密文1,得到as-sessionkey,但是不能解密TGT(密文2),所以使用as-sessionkey加密時(shí)間戳與TGT一起發(fā)送到TGS服務(wù),請(qǐng)求與server交流的server-sessionkey。
  2. KRB-TGS-REP:TGS解密TGT得到as-sessionkey,在使用as-sessionkey解密時(shí)間戳部分,如果時(shí)間戳符合要求,就生成server-sessionkey,然后繼續(xù)使用as-sessionkey加密server-sessionkey為密文1,利用server的密碼加密server-sessionkey+PAC 為密文2(圖中的service ticket),一同發(fā)給client。

  1. KRB_AP_REQ:client 利用as-sessionkey 解密得到server-sessionkey,因?yàn)椴荒芙饷躶ervice ticket(4中的密文2),所以就無(wú)法偽造,再使用server-sessionkey 加密時(shí)間戳,與service ticket 一起發(fā)送到server 端,也解決了server可能無(wú)法及時(shí)接收SessionKey的問(wèn)題。

  1. KRB_AP_REP:server受到KRB_AP_REQ之后,利用server密碼解密ServiceTicket,得到server-sessionkey,然后用server-sessionkey解密Authenticator得到時(shí)間戳,成功驗(yàn)證client的身份。

這樣整個(gè)kerberos 協(xié)議的流程就完成了,其中都使用到了時(shí)間戳,所以域內(nèi)都要時(shí)間同步才可以,整個(gè)協(xié)議設(shè)計(jì)的很是巧妙。

我們來(lái)說(shuō)明下其中g(shù)olden與ptt的使用:

從上圖演示中,可以看出來(lái)在一個(gè)低權(quán)限域用戶提升到管理員了,后面想要執(zhí)行命令可以用psexec,也是不用輸入密碼的。其中g(shù)odlen票據(jù)導(dǎo)出的時(shí)候,sid與krbtgt的ntlm,可以在原來(lái)有DC權(quán)限的時(shí)候,使用lsadump::lsa /patch導(dǎo)出。

golden ticket 就是偽造了TGT,可以看到第二步中需要TGS服務(wù)密碼加密,然而TGS就是kerberos的密碼,修改PAC權(quán)限,這樣就合法的偽造了TGT,就完成了一個(gè)權(quán)限提升的過(guò)程。

0x03 MS-DRSR協(xié)議

Mimikatz其中一個(gè)重要的模塊:lsadump::dcsync ,使用DRSR向DC查詢用戶信息。我們先看一個(gè)使用例子:

for /f "tokens=1" %i in (username.txt) do @mimikatz.exe "lsadump::dcsync /user:%i /domain:localtest.com" exit >> info.txt

導(dǎo)出了第一列用戶的hash信息:

SRSR介紹:

The Directory Replication Service (DRS) Remote Protocol is an RPC protocol for replication and management of data in Active Directory.

使用RPC協(xié)議,不會(huì)產(chǎn)生LOG,但是必須要有:Administrator 和 Domain controller。其中主要的函數(shù):

客戶端通過(guò)調(diào)用IDL_DRSBind獲取特定DC的DRS_HANDLE,然后調(diào)用該DC上的任何其他drsuapi方法,并將DRS_HANDLE作為第一個(gè)參數(shù)傳遞。 直到客戶端調(diào)用IDL_DRSUnbind,或直到服務(wù)器的DRS_HANDLE無(wú)效(例如崩潰),客戶端的DRS_HANDLE仍然可用于進(jìn)行方法調(diào)用。

與DRS_HANDLE關(guān)聯(lián)的唯一狀態(tài)是由IDL_DRSBind建立的狀態(tài)。 只要DRS_HANDLE保持有效,該狀態(tài)就是不變的。 因此,如果客戶端通過(guò)對(duì)IDL_DRSBind使用相同的參數(shù)來(lái)為同一個(gè)DC創(chuàng)建兩個(gè)綁定句柄,則drsuapi方法的服務(wù)器行為不受客戶端傳遞給該方法的綁定句柄選擇的影響。其中大多都是涉及一些函數(shù)調(diào)用,例如IDL_DRSGetNT4ChangeLog 這個(gè)方法用于支持Active Directory復(fù)制到Windows NT 4.0備份域的控制器(BDC)的實(shí)現(xiàn)。以及其中關(guān)于兩個(gè)函數(shù)UUID的設(shè)置:

更多詳細(xì)的過(guò)程看這里:https://msdn.microsoft.com/en-us/library/cc228096.aspx

0x04 總結(jié)

? windows 應(yīng)該是還是現(xiàn)在主流的辦公系統(tǒng),所以公司中windows 的域?qū)ζ髽I(yè)就很重要,方便人員協(xié)作以及管理,但是如果不做好嚴(yán)格的權(quán)限控制,以及對(duì)服務(wù)器及時(shí) 的更新,就有可能這個(gè)企業(yè)內(nèi)網(wǎng)都會(huì)被一舉攻陷。例如ms14-068 和 ms11-013 都是出在windows 協(xié)議方面的漏洞,像MS17-010,也是SMB協(xié)議方面的問(wèn)題。所以我們就要對(duì)windows 下的協(xié)議更加了解,才能挖到0day嘛。這里有一份windows 下的所有協(xié)議介紹:

https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/Windows_Protocols.zip

0x05 參考

1.https://github.com/gentilkiwi/mimikatz

2.https://msdn.microsoft.com/library/windows/desktop/aa378170.aspx

3.https://msdn.microsoft.com/en-us/library/cc228086.aspx

4.https://channel9.msdn.com/Events/Open-Specifications-Plugfests/Windows-Identity-and-Exchange-Protocols-Plugfest-2012/MS-DRSR-Windows-AD-Protocol-Test-Suite-Presentation-2012
原文:https://www.anquanke.com/post/id/105798

上一篇:數(shù)字中國(guó),建設(shè)有我!銳捷網(wǎng)絡(luò)亮相首屆數(shù)字中國(guó)峰會(huì)

下一篇:微軟拒絕修復(fù)藍(lán)屏死機(jī)漏洞 硬件專(zhuān)家公布 PoC 利用碼