1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
在Windows系统中,密码通常以哈希值的形式存储在注册表中的SAM文件中。SAM文件位于C:\Windows\System32\config\SAM文件夹中,但是SAM文件是受保护的系统文件,普通用户无法直接访问或打开它。
即使能够访问SAM文件,也无法直接查看密码的明文形式,因为密码通常是以哈希值的形式存储在其中。哈希值是通过密码学哈希函数对密码进行加密后生成的一串字符,不可逆转。
2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
windows hash由二部分组成,分别是LM HASH和NTLM HASH
组成为:username:RID:LM-HASH值:NTLM-HASH值
-
LM Hash:LM(Lan Manager)哈希是Windows早期版本中使用的一种较弱的密码哈希算法。LM哈希值是通过将用户密码转换为大写,并分割成7个字符的块,然后分别进行DES加密后得到的。由于LM哈希算法存在较大的安全漏洞,因此在现代Windows系统中默认情况下不再使用LM哈希来存储密码。但在某些情况下,仍然可以在hashdump抓取出的密码哈希值中找到包含LM Hash的模块。
-
NTLM Hash:NTLM(NT LAN Manager)哈希是Windows系统中常用的密码哈希算法,用于存储用户密码的哈希值。NTLM哈希值是通过对用户密码进行哈希计算得到的,用于验证用户身份。在hashdump抓取出的密码哈希值中,NTLM Hash模块包含了所有用户的NTLM哈希值。
这两个模块分别代表了Windows系统中存储用户密码的两种不同哈希算法,其中NTLM Hash更安全,而LM Hash存在安全风险。
3. 为什么第一个模块 永远是一样的以aad3开头的一串hash值
在Windows系统中,如果用户的密码为空(即没有设置密码)或Windows禁用了LM-hash,系统会将其密码哈希值设置为aad3b435b51404eeaad3b435b51404ee
4. 这两个模块的加密算法有什么不同,如何加密的
LM Hash算法:
- 1.将明文口令转换为其大写形式
- 将字符串大写后转换为16进制字符串
- 密码不足14字节要求用0补全
- 将14字节的密码分成两组7字节数据
- 将每组数据转换为64位二进制,每7位后面加0,再转换回16进制
- 使用DES算法对每组数据进行加密,密钥为特定的字符串
- 将两组加密后的数据拼接,得到LM Hash值
NTLM Hash算法:
- 将明文密码转换为Unicode编码。
- 使用MD4算法对Unicode编码后的密码进行加密。
- 得到的128位哈希值即为NTLM Hash值。