内网渗透-NTML和LM

admin 2025年1月11日17:29:39评论2 views字数 2635阅读8分47秒阅读模式

在内网渗透测试中,NTLM(NT LAN Manager)和LM(LAN Manager)都是与Windows网络身份验证相关的协议。下面分别介绍这两种协议以及它们在渗透测试中的重要性。

NTLM(NT LAN Manager)

1. 简介:

   - NTLM 是微软在Windows NT系列操作系统中引入的身份验证协议,用于网络环境中的用户身份验证。相比之前的LM协议,NTLM提供了更好的安全性和更强的功能。

2. 工作机制:

   - NTLM使用三步身份验证方式(挑战-响应机制),具体流程如下:

     1. 客户端向服务器请求身份验证。

     2. 服务器生成随机数(挑战),并将其发送给客户端。

     3. 客户端对挑战进行加密处理,使用用户的密码生成哈希值,然后将这个哈希值发送回服务器。

     4. 服务器收到后进行验证。

3.生成实例:

1. 用户密码输入

假设用户的密码是 **"password"**。

2. 密码转换

用户输入的密码首先被转成Unicode格式(UTF-16LE编码):

- **"password"** 的Unicode表示为:`0x70 0x00 0x61 0x00 0x73 0x00 0x73 0x00 0x77 0x00 0x6F 0x00 0x72 0x00 0x64 0x00`

 3. 计算哈希

将上述Unicode字符串传递给MD4哈希函数进行哈希计算,得到一个128位的哈希值。假设经过计算,得到的NTLM哈希为:

32ED87BDB5F244F8F7B3C3B2D3A1D1E7

 4. 存储哈希

这个哈希值将被存储在Windows的SAM数据库中,与用户账户相关联。

 5. 身份验证过程

- 当用户再次输入密码进行登录时,系统会重复上述转换和哈希过程。

- 计算出的哈希值与SAM数据库中的哈希值进行比较:

    - 如果匹配,则用户验证通过。

    - 如果不匹配,则用户验证失败。

安全性注意事项

即便这个过程看似简单,实际的安全性问题仍然很突出。比如,攻击者可以利用彩虹表(预先计算好的哈希值与密码的映射表)或暴力破解手段,快速猜测出用户的密码,特别是如果用户使用的密码较弱或常见。 

因此,在现代应用中,建议使用更安全的认证方式,比如使用加盐的哈希算法、Kerberos或其他更加安全的身份验证机制。

4. 安全性问题:

   - 尽管NTLM比LM安全,但它仍然存在一些问题,如凭证捕获和中间人攻击。攻击者能够通过网络捕获NTLM哈希,并进行离线破解。

5. 渗透测试中的应用:

   - 渗透测试者可能会尝试捕获NTLM哈希,并使用工具(如Hashcat或John the Ripper)进行破解,以获取用户凭证。还可以利用工具进行NTLM relay攻击,从而获得对其他系统的访问权限。

LM(LAN Manager)

一. 简介:

   - LM是早期的Windows身份验证协议,主要用于Windows 95和Windows NT 4.0之前的系统。由于其安全性较低,已逐渐被NTLM取代,但在某些情况下仍可能被使用。只是被禁用,未被删除

二. 工作机制:

   LM(LAN Manager)哈希是一种早期的身份验证机制,主要用于Windows系统。以下是LM哈希的原理和工作过程的详细介绍:

LM哈希的工作原理

1. 密码处理:

   - 用户输入密码后,LM哈希会对其进行处理。处理的步骤如下:

     - 转换为大写:LM哈希将输入的密码转换为全大写字母。这意味着“Password”和“PASSWORD”会被认为是相同的。

     - 字符限制:LM哈希仅处理前14个字符的密码。如果密码超过14个字符,超出的部分将被截断。

2. 分割与填充:

   - LM哈希将提取的14个字符分为两个7字符的部分。如果密码长度不足14个字符,系统会在其后填充空格以达到长度要求。

   - 例如,密码“abc”会被处理为“ABC     ”(填充空格)。

3. 生成DES哈希:

   - 每个7字符的部分都会被转化为一个64位(8字节)的DES密钥。LM哈希使用DES算法将每个7字符部分进行加密,生成两个8字节的哈希值。

4. 拼接哈希值:

   - 最终的LM哈希是将两个8字节的哈希值拼接在一起,形成一个16字节(128位)的LM哈希值。

### 安全性问题

由于LM哈希的设计缺陷,存在多种安全性问题:

1. **弱加密算法**:使用的DES加密算法已经被证明相对不安全,容易受到攻击。

2. **大小写不敏感**:由于哈希的生成过程中将密码转换为全大写字母,这也大大减少了密码的复杂性,使其容易被暴力破解。

3. **只使用部分密码**:仅使用密码的前14个字符,加之填充方式,使得即使攻击者获取了LM哈希,也能通过彩虹表等方式快速破解。

实际例子:

好的,让我们通过一个实际例子来更好地理解LM哈希的生成过程。

### 示例:LM哈希生成过程

假设用户的密码为“Password123”。

1. 步骤一:转换为大写

   - 输入的密码“Password123”首先会被转换为大写:

     - 大写后:`PASSWORD123`

2. 步骤二:字符限制

   - LM哈希仅处理前14个字符。在这个例子中,“PASSWORD123”只有12个字符,因此剩下的两个字符用空格填充:

     - 填充后的结果:`PASSWORD12    `(后面有两个空格)

3. 步骤三:分割与生成DES密钥

   - 将填充后的字符串分为两个7字符的部分:

     - 第一部分:`PASSWOR`

     - 第二部分:`D12    `(包含空格)

4. 步骤四:生成DES哈希

   - 每个7字符的部分会生成一个DES密钥,并使用该密钥进行哈希计算。

   - 假设经过DES加密算法处理后:

     - 第一部分`PASSWOR`的哈希值为`ABCDEF01`

     - 第二部分`D12    `的哈希值为`12345678`

5. 步骤五:拼接哈希值

   - 将两个8字节的哈希值拼接在一起,得到最终的LM哈希值:

     - 最终LM哈希值为:`ABCDEF0112345678`

在这个例子中,尽管密码是“Password123”,但是由于LM哈希的设计限制,攻击者可以轻易地猜测或使用预先计算好的哈希值表(例如彩虹表)来破解这个哈希。

三. 安全性问题:

   - LM使用固定长度的哈希,且易于暴力破解,因而安全性极低。攻击者可以利用工具快速破解LM哈希,并获取用户密码。

四. 渗透测试中的应用:

   - 虽然新的系统不再广泛采用LM,但在老旧系统或配置不当的环境中,渗透测试人员可能会发现并利用LM哈希进行攻击。

原文始发于微信公众号(泷羽sec-云和):内网渗透-NTML和LM

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日17:29:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透-NTML和LMhttps://cn-sec.com/archives/3619539.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息