思 考 题

.windows登录的明文密码,存储过程是怎么样的?密文存放在哪个文件下?该文件是否可以打开,并且查看到密文?
       系统通过保存密码的哈希值来确保安全性,进行加密存储的方法通常为NTLM或Kerberos身份认证协议。该密文存放在C:\Windows\System32\config\SAM下,但由于系统的保护,这个文件无法直接打开查看到密文,即使通过管理员权限访问到了SAM文件,里面存储的也是经过哈希函数处理过的哈希值而非明文密码

2.通过hashdump抓取出所有用户的密文,分为两个模块,为什么?这两个模块分别代表什么?


通过hashdump抓取出的所有用户密文分为LMhash和NThash两个模块:

       其中,LMhash是微软早期为了提高Windows操作系统的安全性而采用的散列加密算法,由于当时的技术限制,LMhash只支持最多14个字符的密码,且容易破解。因此现在的Windows系统中默认情况下不会使用LMhash来存储密码。

       NThash则是如今windows系统常用的密码哈希算法,它是对LMHash的改进,支持更长的密码,这使得它比LM Hash更难以被破解。提供了更强的安全性。

       为了兼容性考虑,LMhash被禁用,因此系统不再存储实际的LM Hash值,而是使用一个占位符来表示LM Hash已被禁用。因此在进行hashdump抓取时,除了NThash外会还得到一个固定的字符串“aad3b435b51404eeaad3b435b51404ee”。

3.为什么第一个模块永远是一样的aad3?
       为了兼容性考虑,LMhash被禁用,因此系统不再存储实际的LM Hash值,而是用一个固定的字符串“aad3b435b51404eeaad3b435b51404ee”来代表被禁用的LMhash。

4.这两个模块的加密算法有什么不同,如何加密的
LMhash:

①将密码全大写,然后转换为16进制,其中不足14字节的用0补全;

②将上述转换后的编码按每组7字节分成2组;

③将上述分组后的每组数据分别转换为2进制,然后每7位后面加0,再转换为16进制得到2组8字节的编码;

④使用DES算法对上述的两组数据分别进行加密,密钥为特定的字符串;

⑤将加密后的两组拼接在一起,得出LMhash值。

NThash:

①先将密码转换为16进制,然后在每个字节后添加0x00变成Unicode编码格式;

②对得到的Unicode字符串进行MD4加密,得出一个32位的16进制字符串,即NThash值

两者最大的不同点在于LMhash采用了DES加密,而NThash则采用了MD4加密。
 

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值