❿⁄₉ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击 ➱ 破解Windows哈希的原理

**郑重声明:**本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。

🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论| 保持连接💬

🌌 立即前往 👉晖度丨安全视界🚀​​​

​​

▶ 信息收集

▶ 漏洞检测
▶ 初始立足点 ➢ 密码攻击 ➢ 破解Windows哈希的原理🔥🔥🔥

▶ 权限提升

▶ 横向移动

▶ 报告/分析

▶ 教训/修复

目录

1.密码破解

[1.1 破解Windows哈希](#1.1 破解Windows哈希)

[1.1.1 NTLM & Net-NTLMv2是什么](#1.1.1 NTLM & Net-NTLMv2是什么)

[1.1.1.1 NTLM哈希:Windows登录密码](#1.1.1.1 NTLM哈希:Windows登录密码)

[1.1.1.2 Net-NTLMv2:网络身份验证机制](#1.1.1.2 Net-NTLMv2:网络身份验证机制)

1.核心步骤

2.与NTLMv1的主要区别

[1.1.1.3 核心攻击场景](#1.1.1.3 核心攻击场景)

[1.1.2 获取并破解NTLM哈希](#1.1.2 获取并破解NTLM哈希)

[1.1.2.1 NTLM哈希是什么](#1.1.2.1 NTLM哈希是什么)

[1.1.2.2 获取NTLM哈希的挑战与思路](#1.1.2.2 获取NTLM哈希的挑战与思路)

[1.Mimikatz:Windows 凭证提取核心工具](#1.Mimikatz:Windows 凭证提取核心工具)

2.LSASS进程:高权限守护的"凭证保险箱"

3.如何提升权限以运行Mimikatz?

[1.1.2.3 流程总结](#1.1.2.3 流程总结)

[欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论](#欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论)


1.密码破解

1.1 破解Windows哈希

在实际渗透测试中,一旦获得系统特权 ,就能利用特权来提取密码哈希 并利用它们发起进一步的攻击,如哈希传递中继攻击 。接下来,介绍两种关键的Windows哈希:NTLM哈希Net-NTLMv2哈希

1.1.1 NTLM & Net-NTLMv2是什么

1.1.1.1 NTLM哈希:Windows登录密码

当你在Windows上设置密码(如用户 admin,密码 123456),系统并不会直接存储密码明文,而是将其转换为一个NTLM哈希值并存储。

  • 🔄 生成方式:使用MD4算法对密码进行哈希处理,生成128位的哈希值,通常表示为32位十六进制字符串。

  • 验证方式:登录时,系统将你输入的密码再次计算为NTLM哈希,并与存储的哈希进行比对。

例如: 密码:123456

🔑 NTLM哈希值:8d969eef6ecad3c29a3a629280e686cf0e4a6b4f

这样一来,即使哈希值泄露,攻击者也难以直接还原出原始密码(除非使用破解手段)。


1.1.1.2 Net-NTLMv2:网络身份验证机制

为弥补NTLMv1的安全缺陷,微软引入Net-NTLMv2 ,它增强了算法的复杂性与抗攻击能力。Net-NTLMv2 采用挑战-响应机制,在不直接传输密码哈希的前提下完成安全验证。整个过程可归纳为以下核心步骤:

流程概览:🔑 密码 → 🧬 哈希 → 🔄 挑战/响应 →验证

1.核心步骤
  1. 客户端准备 :用户提供用户名和密码后,系统会根据密码计算出本地的Net-NTLMv2哈希值作为认证凭据。

  2. 服务器发起挑战 :服务器生成一个随机值(Challenge) 发送给客户端。

  3. 客户端生成响应 :客户端利用自己的Net-NTLMv2哈希 和收到的挑战值 ,通过加密计算生成一个响应(Response),并将其发回服务器。

  4. 服务器完成验证 :服务器使用存储的正确哈希值,结合自己发出的挑战值,独立计算出一个预期的响应 。通过比对客户端响应预期响应是否一致,来完成身份验证。

💡 关键特点:

  • 安全性核心 :整个过程密码哈希本身永不直接在网络中传输,有效防范窃听。

  • 抗重放攻击:每次登录的挑战值(随机数)都不同,使得每次的响应也唯一,防止攻击者截获后重复使用。

2.与NTLMv1的主要区别
特性 NTLMv1 NTLMv2 / Net-NTLMv2
加密算法 较简单,基于DES 使用更强的HMAC-MD5
挑战-响应机制 易受暴力破解 引入盐值、会话密钥,抗重放攻击
适用场景 本地或早期网络验证 域环境、SMB、RDP等远程认证
安全性 较低,易受攻击 显著提高,更难破解

1.1.1.3 核心攻击场景
攻击类型 目标哈希 手法简介
获取并破解NTLM哈希 🗝️ NTLM哈希 从内存或SAM数据库中提取哈希,并用工具(如Hashcat)破解
传递NTLM哈希 🗝️ NTLM哈希 直接使用哈希进行身份验证,绕过密码需求
获取并破解Net-NTLMv2哈希 🔐 Net-NTLMv2哈希 通过中间人或欺骗获取挑战-响应包,离线破解
传递Net-NTLMv2哈希 🔐 Net-NTLMv2哈希 在支持的环境下复用Net-NTLMv2响应进行身份验证

1.1.2 获取并破解NTLM哈希

1.1.2.1 NTLM哈希是什么

**NTLM哈希:**Windows系统用于存储和验证用户密码的核心凭据。

  • 🔐 存储位置 :存储在SAM(安全账户管理器)数据库 文件中(路径:C:\Windows\System32\config\SAM)。

  • 🛡️ 安全机制 :受SYSKEY功能部分加密保护。

  • 🚫 历史遗留 :早期脆弱的LM哈希格式已默认禁用,现代系统均使用NTLM哈希

  • 但是!NTLM哈希: 无盐值(Salt)保护 → 易受彩虹表攻击

🔐 SYSKEY 保护机制

为防止离线破解SAM数据库,微软引入了 SYSKEY 功能,对存储哈希的SAM文件进行部分加密,增加提取难度。

🔄 两种哈希格式对比

特性 LAN Manager (LM) 哈希 NTLM 哈希
算法 基于DES 基于MD4
安全性 非常脆弱 相对增强
密码处理 不区分大小写 区分大小写
长度限制 ≤14字符 无此限制
存储方式 超过7字符则分割哈希(弱) 完整哈希
现状 Vista/Server 2008 后默认禁用 现代系统主要存储格式

💡 关键概念:盐值与彩虹表

  • 盐(Salt):哈希前加入的随机数据,专治彩虹表攻击。

  • 彩虹表攻击:通过预计算的哈希字典快速反查明文密码。


1.1.2.2 获取NTLM哈希的挑战与思路

在Windows操作系统运行时,不能直接从c:\Windows\system32\config\sam复制、重命名或移动SAM数据库,因为直接访问SAM文件会面临内核级的文件锁定

💡 破解思路 :绕过系统保护,从**++内存++中**提取凭据。

挑战 解决方案
SAM文件被系统内核锁定 使用MimikatzLSASS进程内存中提取
1.Mimikatz:Windows 凭证提取核心工具

Mimikatz 是渗透测试中用于提取 Windows 系统凭证 的权威工具。它能够从系统内存中 直接抓取明文密码、哈希值(如:NTLM)、Kerberos 票据等关键身份信息。

其核心模块 sekurlsa 专门用于从 LSASS 进程的内存中提取这些缓存凭据。


2.LSASS进程:高权限守护的"凭证保险箱"

LSASS(本地安全授权子系统服务): 是Windows系统中负责安全策略与身份验证的核心进程,堪称系统的 "凭证保险箱"

  • 🏆 运行权限 :默认以 SYSTEM 权限运行,权限高于普通管理员。

  • 🚪 访问门槛 :要从其内存中读取数据,操作者必须拥有 SeDebugPrivilege(调试权限) 。默认仅 管理员账户 具备此权限。

💡 核心关系 :想用 Mimikatz 这把"钥匙"打开 LSASS 这个"保险箱",你必须先获得"持有钥匙的权限(管理员账户权限)"。

🎯 LSASS 五大核心功能:

职责 功能说明 比喻
🔑 用户身份验证 处理登录请求,验证用户名/密码是否正确。 守门人:核对你的"身份钥匙"是否匹配。
🎫 生成访问令牌 认证成功后,生成代表用户权限的 "访问令牌" 通行证颁发处 :根据你的身份和所属组,签发一张对应权限的通行证。
📜 安全策略管理 执行密码策略、账户锁定策略等本地或组策略。 规则执行官:确保所有人都遵守既定的安全规则。
🗝️ 密钥与凭据管理 在内存中缓存用户凭据(如哈希、票据),并管理加密密钥。 凭证保险箱:临时保管用户的密码"指纹"和重要密钥。
🌐 网络认证 参与域环境等网络身份验证(如Kerberos、NTLM)。 网络身份中介:帮助你在网络上的其他服务面前证明"你是你"。

⚠️ 为什么LSASS是攻击者的首要目标?

正是因为它作为 "凭证保险箱" 的角色------在内存中缓存了登录用户的密码哈希、票据等敏感凭据 。这使得攻击者一旦获得足够权限(如使用 Mimikatz ),就能直接从中提取NTLM哈希 ,进而实施横向移动特权提升


3.如何提升权限以运行Mimikatz?

获取足够权限是成功提取哈希的关键前提,主要有两种途径:

提权方法 工作原理 适用场景/特点
🔧 使用 PsExec 此工具能够直接以 SYSTEM 身份 启动一个进程(如Mimikatz)。 直接有效,常用于本地或远程获得系统级命令行环境。
🎭 Mimikatz 令牌模拟 利用本地管理员通常拥有的 SeImpersonatePrivilege,直接"冒充"SYSTEM 或其他高权限用户的令牌。 Mimikatz 内置功能,无需额外工具,在已获得管理员Shell后快速提权。

1.1.2.3 流程总结

🎯 要点回顾 :理解NTLM哈希的存储原理安全缺陷 ,掌握通过提权 并使用 Mimikatz 从内存中提取哈希的核心思路,是破解NTLM哈希的关键第一步。


欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论

每一份支持,都是我持续输出的光。

相关推荐
集成显卡2 小时前
CVE检索工具 | 开发一款检索漏洞信息的小程序
网络安全·小程序·uni-app·cve·漏洞信息
QuantumRedGuestk3 小时前
DEDECMS靶场CSRF漏洞分析与安全防护
网络安全·漏洞分析·csrf·dedecms
上海云盾-高防顾问5 小时前
API接口成攻击重灾区?高防CDN限流策略让恶意调用无所遁形
web安全·网络安全
lynnlovemin5 小时前
AI时代信息安全:从挑战突围到智能防御体系构建
人工智能·信息安全
南行*5 小时前
逆向中的Hash类算法
算法·网络安全·哈希算法
qingtian!21 小时前
vulnhub靶场DC-2靶机渗透
网络安全·靶机复现
网安CILLE1 天前
PHP四大输出语句
linux·开发语言·python·web安全·网络安全·系统安全·php
Whoami!1 天前
❿⁄₈ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击 ➱ 破解SSH私钥的密码短语
网络安全·信息安全·密码破解原理·john the ripper
MOON404☾2 天前
006.Backdoor后门编写
网络·安全·网络安全·系统安全