Files
Sec-Interview/Chapter15/15-23.md
T
2025-09-25 03:56:33 +08:00

29 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### PTH 中 LM hash 和 NTLM hash 的区别
**LM Hash (LAN Manager Hash)**
- **全称**LAN Manager Hash
- **哈希算法**:它是一种非常老旧且脆弱的哈希算法,主要用于 Windows NT 4.0 及更早的版本
- **加密方式**
1. 将用户的明文密码转换为大写
2. 如果密码长度超过 14 个字符,只取前 14 个。如果不足 14 个,用空字符填充到 14 个
3. 将 14 个字符的密码分成两部分,每部分 7 个字符
4. 分别使用 DESData Encryption Standard)算法进行加密
- **主要缺陷**
- **不区分大小写**:LM 哈希会将所有字母都转换为大写,导致密码的复杂性大大降低,例如 `password``PASSWORD` 会生成相同的 LM 哈希
- **分段加密**:将密码分成两段,每段单独加密,这使得哈希破解变得非常容易,攻击者可以分别破解这两段,大大缩短破解时间
- **无盐值**:它没有使用盐值(Salt),这使得攻击者可以使用彩虹表(Rainbow Table)进行快速破解
**结论**:LM 哈希非常不安全,很容易在几秒钟内被破解。从 Windows Vista 和 Windows Server 2008 开始,LM 哈希默认是禁用的,除非为了向后兼容性而手动启用
**NTLM Hash (NT LAN Manager Hash)**
- **全称**NT LAN Manager Hash
- **哈希算法**:它使用了 **MD4** 哈希算法,并且不对密码进行大小写转换或填充
- **加密方式**
1. 将用户的明文密码转换为 UTF-16LE 编码
2. 对 UTF-16LE 编码的密码进行 MD4 哈希运算
- **主要特点**
- **区分大小写**:NTLM 哈希保留了密码的大小写,这增加了哈希破解的难度
- **没有分段**:它对整个密码进行一次性哈希运算,而不是分段
- **依然没有盐值**:尽管比 LM 哈希更安全,但 NTLM 哈希仍然没有使用盐值,因此,如果密码简单或在字典中,仍然可以通过彩虹表或字典攻击被破解