渗透第一次作业

本文详细解释了Windows系统中如何通过NTLM和Kerberos协议加密存储登录密码,重点介绍了LMHash和NThash两种散列算法,以及它们在SAM文件中的位置和安全性。
摘要由CSDN通过智能技术生成

 1.windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文

Windows登录密码的存储过程主要是通过NTLM或Kerberos身份认证协议进行加密存储,并且密码的密文存储在SAM文件下

Windows操作系统为了保护用户的登录凭证,并不直接存储用户输入的明文密码。在早期的Windows版本中,系统默认使用NTLM(NT LAN Manager)加密方式,该方式使用单向哈希算法对密码进行加密,并在本地保存。这种加密方法会通过随机数加盐(adding salt)来提升安全性,其加密过程采用MD4算法。由于单向哈希相对容易被暴力破解,更高级的Windows版本逐步采用了更为安全的Kerberos认证协议。Kerberos是一种基于对称密钥算法的网络身份验证协议,它不将密码存储在本地,而是利用密钥分发中心(Key Distribution Center, KDC)进行身份验证。

关于Windows中密码的密文存储位置,SAM(安全账户管理器)文件负责存储所有本地用户账户的密码散列以及其他相关的安全信息。这个文件位于C:\Windows\System32\config目录下。需要注意的是,SAM文件由操作系统严格保护,通常不能被普通用户访问,也无法用常规文本编辑器打开,需要具备管理员权限才能进行读取操作。

尽管SAM文件受到严格的保护,仍有专业的工具如LC4、NTPWEdit或SAMInside可以用于打开并试图解密其中的Hash值。这些工具主要被用于合法的密码恢复或取证分析,并不推荐用于非法用途。例如,LC4可以通过导入SAM文件并开始审计(audit),尝试恢复其中的密码Hash值。然而,需要强调的是,这类工具的使用往往需要特定的技术知识和合法的授权。此外,因为Hash是不可逆的加密过程,理论上存在无法还原出原始明文密码的可能性。

2.我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么

使用HashDump抓取的密文分为两个模块,分别是LMhash和NThash

  • LMhash:也称为LAN Manager Hash,是微软早期为了提高Windows操作系统的安全性而采用的散列加密算法,其本质是基于DES加密。由于计算复杂度较低,它较容易被破解,但在一些旧版Windows系统上仍然会用到。
  • NThash:这是Windows新引入的更安全的密码散列方式,相比LMhash使用了更强的加密算法。NThash通常是指NT LAN Manager Hash,也就是我们常说的NTLM Hash,它在Windows系统登录过程中用于验证用户身份的凭证。
  • 这两个模块的存在是为了兼容不同版本的Windows系统以及不同的安全要求。在现代Windows系统中,由于安全更新的原因,通常只会使用到NThash模块。

3.为什么第一个模块 永远是一样的aad3

第一个模块中的"aad3b4be"实际上是LM Hash的魔术字符串,而不是一个具体的密码散列值。在Windows系统中,LM Hash(LAN Manager Hash)是一种早期的密码存储机制。由于历史兼容性的原因,即使在现代Windows系统上,当使用某些工具如HashDump抓取密码散列时,仍会显示这个固定的前缀"aad3b4be"。这实际上是LM Hash算法中用于标识散列类型的魔术字符串,而不是用户的实际密码散列。

具体来说,LM Hash的设计是为了与微软的早期操作系统兼容,它使用了较弱的DES加密算法。由于其安全性较低,现在的Windows版本通常默认使用更新、更安全的NTLM Hash。然而,为了保持向后兼容性,当使用特定工具提取密码哈希时,仍然可以看到这个魔术字符串出现在每个用户的LM Hash字段中。

总的来说,这个"aad3b4be"魔术字符串是LM Hash的标志,并不是用户的实际密码散列值。而是因为LM Hash算法设计之初就内置了这个特定的前缀,用以识别该类型的散列值。

4.这两个模块的加密算法有什么不同,如何加密的

LM Hash和NT Hash是两种不同的密码散列算法,它们在加密方式上存在一些差异。

  • LM Hash:LM Hash是一种基于DES(Data Encryption Standard)的散列算法。它使用一个固定的密钥对用户的密码进行加密,并将结果存储为16个字节的散列值。由于使用了固定的密钥,并且DES算法本身较为简单,因此LM Hash相对较容易被破解。

  • NT Hash:NT Hash是一种更安全的密码散列算法,它使用了一种称为NTLM(NT LAN Manager)的协议。NTLM协议采用了更强大的加密算法,如MD5或SHA-1,并结合了用户密码、用户名、域控制器名称等信息进行散列计算。NT Hash的结果是一个20个字节的散列值。这两种散列算法的主要区别在于使用的加密算法和散列长度。LM Hash使用DES算法进行加密,而NT Hash使用NTLM协议中的MD5或SHA-1算法进行加密。此外,LM Hash的散列长度为16个字节,而NT Hash的散列长度为20个字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值