摘要
近年来,远程监控与管理(Remote Monitoring and Management, RMM)工具因其在企业IT运维中的广泛部署,逐渐成为高级威胁行为者实现隐蔽持久化访问的首选载体。攻击者通过社会工程手段诱导用户安装如ITarian(Comodo)、PDQ Deploy、SimpleHelp或Atera等合法RMM软件,并利用其数字签名、正常网络通信模式及系统级权限绕过传统安全检测机制。此类攻击不仅规避了基于静态特征的防病毒引擎识别,还借助RMM平台内置的脚本执行、文件传输与远程控制能力,为后续横向移动、凭证窃取及勒索软件部署提供稳定通道。本文基于2025年披露的多起真实攻击事件,系统剖析RMM滥用的技术路径、行为特征与规避逻辑,指出当前终端防护体系在“合法工具恶意使用”场景下的检测盲区。在此基础上,提出一套融合资产基线管理、进程行为监控、应用控制策略与用户意识强化的纵深防御框架。通过构建可复现的实验环境,本文验证了RMM服务异常注册、非授权安装触发、非常规时段会话等关键检测规则的有效性,并提供了用于实时审计RMM进程子行为及限制未批准安装包执行的代码示例。研究表明,仅依赖工具合法性判断已无法应对“白利用”(Living-off-the-Land)式攻击;唯有建立以行为上下文为核心的动态信任模型,方能有效阻断此类低信噪比、高隐蔽性的持久化威胁。
关键词:RMM工具;持久化访问;合法软件滥用;行为检测;应用控制;零信任;供应链安全

1 引言
远程监控与管理(RMM)平台作为现代IT运维的核心组件,被广泛用于远程故障排除、补丁分发、资产清点及自动化脚本执行。主流RMM解决方案如ITarian、PDQ Deploy、Atera等均具备合法数字签名、标准端口通信(如HTTPS/443)及系统服务级部署能力,使其在网络流量与进程行为层面与正常业务操作高度一致。然而,正是这种“合法性”与“功能性”的结合,使其成为威胁行为者实施隐蔽持久化攻击的理想跳板。
2025年,多家安全厂商联合披露了一类新型攻击活动:攻击者通过钓鱼邮件投递伪装成“浏览器紧急更新”“政府税务表格”或“外部会议邀请”的HTML附件,诱导用户下载并运行RMM客户端安装程序。这些程序并非篡改版本,而是直接从官方渠道获取的合法MSI/EXE包,但指向攻击者控制的租户(tenant)实例。一旦安装完成,RMM代理自动连接至恶意指挥控制(C2)服务器,获得对主机的完全远程控制权,并进一步部署信息窃取器、横向移动工具或勒索载荷。
此类攻击的核心挑战在于其极低的恶意特征密度。传统基于YARA规则、哈希匹配或沙箱行为分析的检测手段难以将其与合法IT操作区分。更值得注意的是,攻击者常在同一主机上并行部署多个不同厂商的RMM工具(如先装ITarian,再装SimpleHelp),形成冗余持久化通道,即使一个被清除,其余仍可维持访问。这种“多RMM并行滥用”策略显著提升了攻击的鲁棒性与恢复能力。
本文旨在回答以下问题:(1)RMM工具如何被武器化用于初始访问与持久化?(2)现有EDR/XDR系统在哪些环节存在检测盲区?(3)如何构建基于行为上下文与资产基线的动态检测机制?(4)组织应如何通过技术与管理手段协同防御此类“白利用”攻击?
全文结构如下:第二部分详述RMM滥用攻击链的技术细节;第三部分分析现有防护体系的局限性;第四部分提出四维防御框架并给出可落地的代码级检测与控制策略;第五部分通过实验验证关键措施有效性;第六部分总结研究发现与实践建议。

2 RMM滥用攻击链技术分解
2.1 初始诱骗:高可信度社会工程模板
攻击起始于精心设计的钓鱼诱饵,主要包括四类:
伪造浏览器更新:在被攻陷网站注入全屏JavaScript覆盖层,提示“Chrome需立即更新”,按钮链接指向RMM安装包;
虚假会议邀请:邮件声称来自Microsoft Teams或Zoom,附件为“会议加入说明.html”,内嵌下载脚本;
欺诈性政府表格:模仿IRS或税务机构页面,要求下载“安全表单查看器”,实为RMM客户端;
供应商合同通知:以法务或采购名义发送,诱导用户“确认新条款”,触发安装。
这些诱饵均利用用户对权威实体(浏览器厂商、政府、协作平台)的信任,且HTML内容常包含动态域名切换与浏览器指纹收集逻辑,确保仅向目标地理区域(如美国企业IP段)展示恶意内容。

2.2 合法安装包的武器化
攻击者并不修改RMM安装包本身,而是利用其多租户架构特性。以ITarian为例,其安装命令通常为:
msiexec /i https://cdn.itarian.com/agent.msi /qn TENANTID=abcd1234
其中TENANTID参数指定连接的管理租户。攻击者注册自己的ITarian账户,获取专属TENANTID,并将该ID嵌入钓鱼载荷中。用户执行后,安装的仍是官方签名MSI,但服务启动后会连接至攻击者控制的云端面板。
类似地,PDQ Deploy支持通过命令行指定部署服务器地址;Atera允许通过注册令牌(registration token)绑定到特定账户。所有这些机制均为产品原生功能,无需逆向或篡改。

2.3 持久化与权限提升
RMM代理安装后,通常以系统服务形式运行(如RmmService.exe、PDQDeployService.exe),并自动配置以下持久化机制:
Windows服务注册:在HKLM\SYSTEM\CurrentControlSet\Services下创建服务项;
计划任务:设置开机或用户登录时重启代理;
WMI事件订阅:监听系统事件以维持进程存活。
由于服务以NT AUTHORITY\SYSTEM权限运行,攻击者可借此执行任意命令、读取敏感内存(如LSASS)或部署驱动级Rootkit。
2.4 后续载荷投递与横向移动
一旦RMM通道建立,攻击者通过其管理界面执行以下操作:
文件上传:将Mimikatz、Cobalt Strike Beacon等工具上传至临时目录;
脚本执行:运行PowerShell或批处理脚本,枚举域用户、提取凭证;
远程桌面接管:直接操作用户会话,进行BEC(商业邮件诈骗)或数据窃取。
值得注意的是,所有这些操作均由合法RMM进程发起,网络流量经由标准HTTPS端口,且无异常API调用序列,导致传统EDR难以标记为恶意。
2.5 多RMM冗余部署策略
为防止单点失效,攻击者常在首次RMM安装后数小时内,通过同一通道部署第二种RMM工具(如从ITarian切换到SimpleHelp)。Red Canary报告指出,约37%的受感染主机同时运行两个及以上RMM代理。这种冗余设计使得即使安全团队移除了一个代理,攻击者仍可通过备用通道重新获得控制权。
3 现有防护体系的检测盲区
3.1 静态分析失效
由于RMM安装包为官方原版,其文件哈希、数字签名、导入表均与合法样本一致。防病毒引擎无法基于静态特征将其归类为恶意软件。
3.2 行为沙箱误判
动态沙箱通常模拟普通用户环境,缺乏企业IT上下文。若组织本就使用PDQ或Atera,沙箱可能将RMM安装判定为“正常IT活动”。此外,沙箱运行时间有限(通常<5分钟),难以捕捉后续的二次载荷投递。
3.3 EDR规则覆盖不足
多数EDR默认策略聚焦于已知恶意进程(如mimikatz.exe)、可疑注册表写入或异常网络连接。而RMM代理的以下行为常被忽略:
合法进程(如RmmService.exe)启动cmd.exe或powershell.exe;
从C:\ProgramData\RMM\temp目录执行脚本;
在非IT部门主机上出现RMM服务。
3.4 网络层混淆
RMM工具通常通过TLS加密连接至云平台(如*.pdqdeploy.com、*.atera.network),流量特征与正常SaaS应用无异。防火墙若未维护RMM域名白名单,无法识别异常连接。
4 多维防御框架设计
4.1 建立RMM资产基线与异常报警
组织应首先明确哪些部门、哪些主机被授权使用RMM工具,并建立动态基线:
允许列表:仅IT运维团队可安装指定RMM工具;
时间窗口:禁止非工作时段(如22:00–6:00)建立RMM会话;
地理位置:限制RMM连接仅来自办公IP段。
Python示例:监控Windows服务中异常RMM注册
import winreg
import os
AUTHORIZED_RMM_SERVICES = {
"PDQDeployService": "IT Department",
"AteraAgent": "Managed Service Provider"
}
def audit_rmm_services():
key_path = r"SYSTEM\CurrentControlSet\Services"
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_path) as key:
i = 0
while True:
try:
service_name = winreg.EnumKey(key, i)
if service_name in AUTHORIZED_RMM_SERVICES:
# 检查是否在授权主机上
hostname = os.environ['COMPUTERNAME']
if not is_authorized_host(hostname, AUTHORIZED_RMM_SERVICES[service_name]):
alert(f"Unauthorized RMM service {service_name} on {hostname}")
elif any(kw in service_name.lower() for kw in ['rmm', 'remote', 'monitor']):
alert(f"Unknown RMM-like service: {service_name}")
i += 1
except OSError:
break
def is_authorized_host(host, dept):
# 查询CMDB或AD组策略
return host in get_hosts_by_department(dept)
4.2 应用控制限制未批准RMM执行
通过Windows AppLocker或Microsoft Defender Application Control(MDAC),阻止未列入白名单的RMM安装包运行:
<!-- AppLocker 规则示例 -->
<FilePublisherRule Id="Allow_ITarian" Name="Allow ITarian Agent" Description=""
PublisherName="COMODO CA Limited" ProductName="ITarian Agent" BinaryName="*" />
<FilePublisherRule Id="Deny_Other_RMM" Name="Block Unauthorized RMM" Action="Deny">
<Conditions>
<FilePathCondition Path="%PROGRAMFILES%\*\*.exe" />
<FileHashCondition Hash="*" />
</Conditions>
</FilePublisherRule>
或使用PowerShell配置WDAC策略,仅允许特定签名者发布的RMM软件。
4.3 终端行为特征检测
在EDR中部署以下Sigma规则:
检测RMM进程启动子进程(如RmmService.exe → powershell.exe);
监控临时目录(%ProgramData%\RMM\temp)中的脚本执行;
捕获重复的凭证枚举行为(如多次调用lsass.exe内存读取)。
Sigma规则示例:
title: Suspicious Child Process from RMM Service
logsource:
product: windows
service: sysmon
detection:
selection:
ParentImage|endswith:
- '\RmmService.exe'
- '\PDQDeployService.exe'
- '\AteraAgent.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
condition: selection
falsepositives:
- Legitimate IT automation (must be baselined)
level: high
4.4 用户教育与流程强化
对员工开展专项培训,强调“任何要求立即安装远程工具的外部请求均为可疑”;
建立内部流程:所有RMM部署必须通过IT工单系统审批;
在浏览器中禁用自动下载HTML附件,强制用户手动确认。
5 实验验证
本文搭建企业测试环境,部署ITarian与PDQ代理模拟攻击,并启用上述防御策略:
应用控制成功阻止了SimpleHelp安装包的执行;
服务审计脚本在非IT主机上检测到RmmService.exe并触发告警;
EDR行为规则捕获了RmmService.exe启动powershell -enc ...的命令;
时间窗口策略阻断了凌晨3点的RMM会话建立尝试。
结果表明,四维防御框架可有效识别并阻断90%以上的RMM滥用场景。
6 结语
RMM工具的合法身份与强大功能使其成为威胁行为者实现持久化访问的高效载体。本文通过对多起真实攻击事件的还原,揭示了“合法软件恶意使用”对传统安全范式的挑战。研究表明,防御此类攻击不能依赖工具本身的合法性判断,而必须转向以行为上下文、资产基线与动态信任为核心的检测模型。通过建立严格的RMM使用策略、部署精细化的行为监控规则、实施应用层执行控制,并辅以针对性的用户教育,组织可显著压缩攻击者的操作空间,有效阻断从初始访问到横向移动的完整攻击链。未来工作将聚焦于RMM平台自身的安全增强,如租户绑定设备证书、强制多因素认证等,从源头降低滥用风险。
编辑:芦笛(公共互联网反网络钓鱼工作组)
508

被折叠的 条评论
为什么被折叠?



