Windows登录课后思考

  1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文

    在windows中,一般是通过保存密码的hash值来确保安全性,Windows 默认使用NTLM或Kerberos 身份认证协议进行加密存储密码。

    本地登录授权用户访问本地计算机上Windows资源的权限。本地登录要求用户在本地计算机的安全账户管理器(SAM)中具有用户账号。安全账户管理器(SAM)是存储本地用户账户和组的数据库。

    C:\Windows\System32\config\SAM 一般打不开

  2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
  3. 为什么第一个模块 永远是一样的aad3

    hashdump抓取的密文分为LMhash和NThash:

    LM Hash(LAN Manager Hash):微软为了提高windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易破解,但是为了保证系统的兼容性,windows只是将LM Hash禁用了,LM Hash明文密码被限制再14位以内,也就是说如果停止使用LM Hash,将用户的密码设置位14位以上就可以了。

    NTLMHash:微软为了在提高安全性的同时保证兼容性而设计的散列加密算法,NTLMHash是基于MD4加密算法进行加密的。

    两个模块都分别代表用户的密码密文,但NThash比LMhash更安全,难以破解

    为了保证系统的兼容性,windows只是将LM hash禁用了,但仍然会生成LM hash并且是固定值aad3b435b51404eeaad3b435b51404ee,所以在hashdump抓取结果可以看见两个密文模块。

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

    LM和NTLM都是使用hash算法加密的,但是LM是将明文转为16字节固定长度的hash值,而NTLM Hash使用更复杂的算法和更长的哈希值来存储密码,通常是32个字符的长度。

    LM:

    1. 将明文口令转换为其大写形式

    2. 将字符串大写后转换为16进制字符串

    3.密码不足14字节要求用0补全

    4.将编码分成2组7字节的数据

    5.将每一组7字节的十六进制转换为二进制,每7bit一组末尾加0,再转换成十六进制组成得到2组8字节的编码

    6.将得到的两组8字节编码,分别作为DES加密key为魔术字符串“KGS!@#$% ”进行加密

    使用两组8字节编码分别作为密钥key去加密明文(KGS!@#$%转为16进制),得到密文

    7.将两组DES加密后的编码拼接得到结果

    NTLM Hash:

    将UltraEdit得到十六进制ASCII转Unicode,获得Unicode字符串

    开头的FF FE用于标识此文本文件为Unicode编码

    获取的十六进制Unicode字符串进行标准MD4单向哈希加密,无论数据源有多少字节,MD4固定产生128-bit的哈希值,产生的哈希值就是最后的NTLM Hash。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值