windows密码存储以及hashdump所得信息解析

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

在Windows中密码通常不会以明文形式存储。系统会通过保存密码的哈希值来确保安全性。
这个过程涉及到NTLM或Kerberos身份认证协议,它们负责加密存储密码。
以下是存储过程的简要说明:

  1. 用户尝试登录时,客户端会对密码进行哈希处理并缓存密码的哈希值,同时丢弃实际的明文密码。
  2. 客户端将用户名发送到服务器,发起认证请求。
  3. 服务器生成一个随机数(挑战码),并传回客户端。
  4. 客户端使用缓存中的密码哈希对挑战码进行加密,生成响应(Net-NTLM Hash),然后将挑战码、响应及用户名一并传给服务器。
  5. 服务器将这些信息转发给域控制器(DC)。
  6. DC根据用户名找到对应的NTLM Hash,并用它和挑战码进行加密。
  7. DC将加密后的哈希值与客户端传来的响应比较,如果相同,则认证成功。

windows的密码存储在sam中
完整目录是:
c:/Windows/System32/config/SAM
一般无法直接查看 常使用注册表进行查看
目录为
\HKEY_LOCAL_MACHINE\SAM\
image
使用

reg save HKLM\SAM sam.hiv
reg save HKLM\SYSTEM system.hiv
reg save HKLM\SECURITY security.hiv

命令下载注册表中的项目 并用cain查看该条目
image
可以看到 密文不能直接被看到 它以二进制形式存储

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

image
可以看到 windows hash由二部分组成,分别是LM HASH和NTLM HASH
这是对同一个密码的两种不同的加密方式。
组成为:username:RID:LM-HASH值:NTLM-HASH值

3. 为什么第一个模块 永远是一样的aad3

aad3是由于Windows禁用了LM-hash 或者为空时
LM Hash值为AAD3B435B51404EEAAD3B435B51404EE

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

  1. LM Hash的生成过程:
    将明文密码转换为大写。
    将大写密码转换为16进制字符串。
    如果密码不足14字节,使用0补全至14字节。
    将14字节的密码分成两组7字节数据。
    将每组数据转换为64位二进制,每7位后面加0,再转换回16进制。
    使用DES算法对每组数据进行加密,密钥为特定的字符串。
    将两组加密后的数据拼接,得到LM Hash值。

  2. NTLM Hash的生成过程:
    将明文密码转换为Unicode编码。
    使用MD4算法对Unicode编码后的密码进行加密。
    得到的128位哈希值即为NTLM Hash值。

LM hash由于des算法的不再安全 也变得不安全

posted @   f0r9  阅读(272)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示