1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
Windows 操作系统中,用户密码不会以明文(plaintext)的形式保存在计算机中,而会以加密(encrypted)形式存储。Windows 默认使用 NTLM 或 Kerberos 认证协议进行加密存储密码。具体而言:
NTLM:
NTLM 是 Windows 早期版本中默认的密码加密方式,经过数次升级已经变成 NTLMv2。NTLM 使用单向哈希(one-way hash)算法将密码加密后在本地进行保存,在传输时通过随机数加盐(adding salt)的方式增强安全性,加密过程使用 MD4 算法,但由于单向哈希容易被暴力破解,因此在更高级的 Windows 版本中已经逐步被 Kerberos 代替。
Kerberos:
Kerberos 是采用对称密钥算法(Symmetric Key Algorithms)的一种网络身份认证协议。Windows 2000 以后的版本默认使用 Kerberos 5 作为身份验证协议。在 Kerberos 认证过程中,用户输入的密码先进行散列(hash)后,发送给域控制器进行认证,域控制器保存在 Active Directory 数据库中的是用户的密码散列值而非原始密码本身。 总之,无论是 NTLM 还是 Kerberos,Windows 系统都会将用户的密码加密后存储,增强了密码的安全性。
密文存储文件:
SAM文件无法直接打开,因为我们开启windows电脑输入密码时SAM文件就是开始运行
2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
用msf拿到shell
1.先生成一个反弹木马:
msf开启监听,然后点击木马上线:
抓取hash和明文密码
1.提权后直接hashdump获取hash值:
分为两个模块
第一部分是LM哈希,第二部分是NT哈希。
3. 为什么第一个模块 永远是一样的aad3
LM Hash简介:
LM Hash全名为“LAN Manager Hash”,是微软为了提高Windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易被破解,但是为了保证系统的兼容性,Windows只是将LM Hash禁用了(从Windows Vista和Windows Server 2008版本开始,Windows操作系统默认禁用LM Hash),LM Hash明文密码被限制在14位以内,也就是说,如果要停止使用LM Hash,将用户的密码设置为14位以上就好了。如果LM Hash被禁用了,攻击者提高工具抓取的LM Hash通常为"aad3b435b51404eeaad3b435b51404ee
因为LM哈希不安全,都是aad3这样的内容说明LM Hash为空值或被禁用了。
4. 这两个模块的加密算法有什么不同,如何加密的
LM哈希本质上是DES加密可以逆向出来
而NTLM哈希本质上是MD4加密不能逆向只能枚举爆破
相对更安全,在Windows Server 2003以后, Windows操作系统的认证方式均为 NTLM Hash。