1. windows登录的明文密码,存储过程是怎么样的?密文存在哪个文件下?该文件是否可以打开,并且查看到密文?
系统将输入的明文密码通过hash算法转为哈希值,且输入的值会在内存中立即删除无法查看。
然后将密文存放在C:\Windows\System32\config\SAM文件内,
SAM文件因为进程始终被占用而无法访问,
即使通过一些技术手段强行打开,获取到的密文也只有哈希值,甚至有可能会让文件损坏。
2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么?
两个模块都是明文密码转成密文,因为加密算法不同导致二者内容不同,
两个模块分别是LM哈希(LM Hash)和NT哈希(NTLM Hash)
3. 为什么第一个模块 永远是一样的aad3?
因为LM Hash安全性较低,如果输入的密码小于等于7位,其哈希值末段会出现aad3等字符表示为空,
所以LM Hash后面不再被使用了,但是并没有删除,永远是aad3代表LM Hash为空值或者被禁用。
4. 这两个模块的加密算法有什么不同,如何加密的?
LM Hash使用DES算法
DES算法使用56位的密钥和64位的明文块进行加密,DES算法的分组大小是64位,如果明文长度不足64位,需要进行填充;如果明文长度超过64位,需要分组加密。这使得其容易受到暴力破解和差分攻击等威胁。
NTLM Hash使用md4算法
对输入的密码进行填充,分块,轮函数计算等操作,最终生成128位的哈希值