IPBUF安全漏洞报告
English
CVE-2026-23751 CVSS 9.8 严重

CVE-2026-23751: Kofax Capture 远程代码执行漏洞

披露日期: 2026-04-23

漏洞信息

漏洞编号
CVE-2026-23751
漏洞类型
远程代码执行
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Kofax Capture (Tungsten Capture)

相关标签

RCEKofax CaptureTungsten Automation.NET RemotingNTLM CoercionArbitrary File Read/WriteCritical

漏洞概述

Kofax Capture(现称为Tungsten Capture)版本6.0.0.0及其他版本存在严重的安全漏洞。该软件在2424端口上通过Ascent Capture Service暴露了一个已弃用的.NET Remoting HTTP通道。由于该通道无需身份验证即可访问,并且使用了默认且公开已知的端点标识符,未经身份验证的远程攻击者可以利用.NET Remoting对象反序列化技术进行攻击。攻击者可以实例化远程System.Net.WebClient对象,从而读取服务器文件系统上的任意文件,向服务器写入受控文件,或强制NTLMv2身份验证到攻击者控制的主机。这可能导致敏感凭证泄露、拒绝服务、远程代码执行或横向移动,具体取决于服务账户的权限和网络环境。

技术细节

该漏洞的核心在于Kofax Capture错误地暴露了不安全的.NET Remoting服务。.NET Remoting是一种较旧的微软技术,类似于现代的WCF,用于分布式对象通信。漏洞出现在TCP端口2424上,应用程序在此监听HTTP通道,且未配置任何认证机制(PR:N),使用了默认的URI端点。攻击者无需用户交互即可利用此漏洞。利用原理涉及.NET Remoting的对象反序列化机制。攻击者可以向该端点发送特制的序列化数据流。在服务端尝试反序列化这些数据时,可以触发特定类型的实例化。描述中特别提到实例化System.Net.WebClient对象。通过控制这个对象,攻击者可以利用其DownloadFile或UploadFile方法实现任意文件的读写。更进一步,利用SMB协议的特性,攻击者可以诱导服务器向攻击者控制的SMB服务器发起NTLMv2认证请求,从而窃取服务器的NTLM哈希值。如果服务账户拥有高权限,攻击者甚至可能通过写入Webshell或恶意DLL实现完整的远程代码执行(RCE),进而威胁整个内网安全。

攻击链分析

STEP 1
1. 信息收集
攻击者扫描目标网络,发现TCP 2424端口开放,并识别出服务为Kofax Capture的.NET Remoting服务。
STEP 2
2. 建立连接
攻击者利用该服务无需认证的特点,直接向2424端口发起连接。
STEP 3
3. 发送恶意载荷
攻击者发送特制的.NET Remoting序列化数据流,利用反序列化漏洞。
STEP 4
4. 对象实例化
服务器端反序列化数据,实例化System.Net.WebClient对象或执行NTLM认证请求。
STEP 5
5. 执行攻击
利用WebClient读取敏感文件、写入恶意文件(如WebShell),或通过NTLM Relay获取凭证,最终导致RCE或横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import struct # PoC for CVE-2026-23751: Kofax Capture .NET Remoting Unauthenticated RCE # This script demonstrates the concept of connecting to the vulnerable port # and sending a payload to instantiate System.Net.WebClient. # Note: Generating a valid .NET Remoting serialized payload usually requires # a tool like ysoserial.net. TARGET_IP = "192.168.1.100" TARGET_PORT = 2424 # .NET Remoting generally starts with a specific handshake/preamble # This is a simplified structure for demonstration. def send_remoting_payload(ip, port, payload): try: print(f"[*] Connecting to {ip}:{port}...") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(10) s.connect((ip, port)) # Send the malicious payload print(f"[*] Sending payload of length {len(payload)}...") s.sendall(payload) # Receive response response = s.recv(4096) print(f"[+] Received response: {response}") s.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": # In a real attack scenario, 'payload' would be a serialized .NET object # designed to instantiate System.Net.WebClient and perform an action. # Example command generation logic would go here. print("[!] This PoC requires a generated .NET Remoting payload to function.") print("[!] Use a tool like ysoserial.net with an appropriate gadget chain.") # Placeholder for the actual byte stream payload = b"\x00\x00\x00..." # send_remoting_payload(TARGET_IP, TARGET_PORT, payload)

影响范围

Kofax Capture 6.0.0.0
其他可能受影响的版本

防御指南

临时缓解措施
如果无法立即升级,建议在防火墙层面阻断对TCP 2424端口的入站连接。此外,应检查服务账户权限,避免使用域管理员或高权限本地账户运行服务,以防止攻击者利用NTLM coercion获取高权限凭证。定期监控网络日志中针对该端口的异常连接尝试。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表