本文主要是介绍【渗透基础】windows登录的明文密码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
在这个过程中,明文密码只会在用户输入时短暂存在于内存中,随后立即被加密并丢弃,以确保密码不会被泄露。windows 登录密码的密文存储在系统本地的 SAM(Security Accounts Manager,安全账户管理器)文件中。该文件位于%SystemRoot%system32config
目录下。需要注意的是,SAM 文件是受到系统保护的,普通用户无法直接访问或修改它。只有具有管理员权限的用户才能够通过特定的工具访问 SAM 文件,并进行密码重置等操作。此外,为了提高密码的安全性,现在更加推荐使用哈希加盐存储的方式。哈希加盐存储是指在存储密码时,不仅使用哈希函数对密码进行摘要处理,还添加一个随机的盐值。盐值是一个随机的字符串,它与密码拼接在一起后再进行哈希计算。这样可以增加密码的复杂度,使黑客更难以通过彩虹表或其他方式破解密码。
2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
通过hashdump
抓取的密文分为LMhash和NThash两个模块。其中:
- LMhash:LM哈希是早期 windows 版本中使用的一种较弱的哈希算法,当用户密码小于15个字符的时候,windows 会首先将其转化为大写,然后使用 LM 哈希算法进行加密。然而由于 LM 哈希算法存在已知漏洞,因此现代 Windows 系统默认禁用了 LM 哈希,或者仅当密码长度超过14个字符时才使用它。在某些情况下,如果 LM 哈希被禁用或未使用,这个模块的值可能会显示为固定的值,就表示 LM 哈希为空或未使用。
- NThash:它是 Windows 系统中更为常用的哈希算法,用于存储用户的密码信息,与 LM 哈希不同,NT 哈希没有长度限制,并且使用了更安全的加密算法。因此,在大多数情况下,NT 哈希是更可靠和安全的密码存储方式。
3. 为什么第一个模块 永远是一样的aad3
这是因为早期版本的Windows使用了一种名为LAN Manager Hash(LM Hash)的加密方法。由于LM Hash使用的DES加密算法安全性较低,较容易被破解,微软在新的Windows版本中默认禁用了LM Hash,但出于兼容性考虑,系统仍然会生成一个固定的LM Hash值。
4. 这两个模块的加密算法有什么不同,如何加密的
LMhash 和 NThash 是 Windows 系统中用于存储用户密码的两种哈希算法。它们的不同主要体现在以下方面:
- 加密算法:LMhash 使用的是 DES 算法,而 NThash 使用的是更安全的加密算法。
- 密码长度限制:LMhash 对密码长度有限制,最大长度为14个字符。而 NThash 没有长度限制。
- 安全性:LMhash 存在已知漏洞,安全性较低。现代 Windows 系统默认禁用了 LMhash,或者仅在密码长度超过14个字符时才使用它。相比之下,NThash 更安全可靠。
关于它们的加密过程,LMhash 的加密过程如下:
- 将用户的密码转换为大写。
- 将密码转换为16进制字符串。
- 如果密码长度不足14字节,使用0在后面补全。
- 将密码的16进制字符串分成两个7byte部分。
- 将每部分转换成比特流,长度位56bit,长度不足使用0在左边补齐长度。
- 将长度为56bit的比特流再分7bit为一组,每组末尾加0。
- 使用固定的 key(KGS!@#$%)对每组进行 DES 加密。
- 将加密后的两组拼接在一起,得到最终的 LMhash 值。
需要注意的是,由于 LMhash 的安全性较低,现代 Windows 系统通常使用更安全的 NTLM hash 来存储用户密码。
这篇关于【渗透基础】windows登录的明文密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!