1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
在Windows操作系统中,用户登录的明文密码在经过哈希处理后,不会以明文形式存储在任何文件中。Windows使用的是Kerberos协议和NTLM(Windows NT LAN Manager)认证机制,用户的密码在首次设置时会被转换成哈希值(密文),这个哈希值会被存储在本地计算机的 SAM(Security Account Manager)文件中。SAM文件本身是以加密形式存储的,通常位于C:\Windows\System32\SAM
目录下。这个文件不能直接打开查看密文,因为它是经过特殊格式处理的,并且通常受到操作系统的保护。
2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
-
当使用hashdump工具抓取用户的密文时,通常会将用户的哈希值分为两个模块:LM哈希和NTLM哈希。这是因为在早期的Windows版本中,Windows同时使用了LM和NTLM两种加密算法。
- LM哈希:使用的是LM散列算法,这是一种较旧的加密算法,容易受到彩虹表攻击。
- NTLM哈希:是Windows默认的加密算法,比LM散列算法安全。
3. 为什么第一个模块 永远是一样的aad3
“aad3"是NTLM哈希的前四个字节。在Windows VISTA及以后的版本中,LM哈希已经不再使用,微软建议使用更安全的NTLM哈希。当使用hashdump工具时,如果没有LM哈希,那么密文部分就会显示为"aad3”,这代表该用户的密码使用了NTLM哈希算法。
4. 这两个模块的加密算法有什么不同,如何加密的
-
LM和NTLM加密算法的不同主要体现在加密过程和所使用的散列函数上。
- LM哈希:使用的是散列算法,包括两个散列步骤。首先是将用户密码的每个字符转换为固定长度的序列,然后将这个序列与一个预定义的填充字符串进行异或操作,最后对这个结果进行散列。
- NTLM哈希:使用的是更复杂的散列算法,包括三个散列步骤,其中涉及到用户的密码、用户名和域的名称。NTLM哈希比LM哈希更复杂,更难以破解。
在安全性方面,NTLM哈希比LM哈希要好得多。由于LM哈希的弱点,微软建议不再使用LM哈希,并在新版本的Windows中默认使用NTLM哈希。