windows的登陆密码存储在系统本地的sam文件中,登陆时,系统会将用户输入的密码与sam文件中的密码进行对比,如果匹配,则认证成功。
SAM文件位于%SystemRoot%\system32\config\目录下,用于存储本地所有用户的凭证信息,但这并不意味着你可以随意查看系统密码。
Windows不会以明文形式存储密码,SAM文件中存储的是密码的hash值,登陆时,系统会先将用户输入转换为hash值,然后进行对比。
目前Windows使用的密码hash称为NTLM hash,全称为NT LAN Manager,是一个由数字和字母组成的32位值,通过hex、Unicode、MD4三层加密生成。
因此,登陆的整体流程如下:
注:winlogon负责管理用户登陆和登出,lsass用于本地安全和登陆策略。
除了NTLM hash,还有LM hash,它是NTLM hash的前身,非常脆弱。LM hash的生成规则如下:
从中可以看出,LM hash加密时使用固定值KGS!@#$%作为key,这使得它容易被暴力破解。此外,LM hash的生成机制显示,如果密码长度不足7位,会用0补全,因此密码长度小于7位时,LM hash的末尾字符恒定为AA-D3-B4-35-B5-14-04-EE。
目前,大多数Windows系统使用NTLM hash,Windows Vista和Windows Server 2008之前的系统还会使用LM hash,自Windows Vista和Windows Server 2008起,Windows取消了LM hash。
由于密码存储在SAM文件中,各种方法可以线上或线下提取SAM文件中的hash值。SAM文件不允许直接拷贝和访问,需要通过其他方法提取,然后使用彩虹表等工具破解以获得明文密码。也可以通过Mimikatz读取lsass.exe进程来获取已登录用户的NTLM hash,相关资料在网络上已有大量介绍,感兴趣的可以自行查阅。
以上就是Windows认证 | Windows本地认证的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号