一. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文。
在Windows中,用户登录的密码不会以明文形式保存,会以加密形式存储。其默认使用NTLM或Kerberos认证协议进行加密存储密码。其密文存储在路径C:\Windows\System32\config\SAM中的SAM,一般是打不开该文件,会显示另一个程序正在使用此文件,进程无法访问
二. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
我们通过hashdump 抓取出所有用户的密文,分为两个模块,分别是LMhash和NThash
LM Hash全名为(LAN Manager Hash),是微软为了提高Windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易被破解,但是为了保证系统的兼容性,Windows只是将LM Hash禁用了(从Windows Vista和Windows Server 2008版本开始,Windows操作系统默认禁用LM Hash),LM Hash明文密码被限制在14位以内,也就是说,如果要停止使用LM Hash,将用户的密码设置为14位以上就好了。如果LM Hash被禁用了,攻击者提高工具抓取的LM Hash通常为"aad3b435b51404eeaad3b435b51404ee"。
NTLMHash是微软为了在提高安全性的同时保证兼容性而设计的散列加者算法,NTLMHash是基于MD4加密算法进行加密的。个人版从Windows Vista以后,服务器版从Wndows Sever2003以后,Windows 操作系统的认证方式均为NTLM Hash
三. 为什么第一个模块 永远是一样的aad3
因为为了保证系统的兼容性,Windows将LM hash禁止使用了,当其被禁用时,攻击者通过工具抓取的LM hash通常为这个固定的值;所以LM hash的固定值永远都为aad3
四. 这两个模块(LM Hash和NTLM Hash)的加密算法有什么不同,如何加密的
举例:ADMIN@123
LM Hash:
1、Admin@123 转换为大写 ADMIN@123
2、转换十六进制
3、密码不足14字节用0补全
4、分为2组7字节
5、将这两组7字节的十六进制转换为二进制
6、这两组每7bit一组末尾加0
7、将两组二进制转换为十六进制得到2组8字节编码
8、将2组8字节编码分别作为DES密钥,KGS!@#$%的16进制作为DES明文进行加密
结果:
两组拼接后的结果: