摘要
Venomous#Helper 是自 2025 年 4 月持续活动的高级持续性钓鱼攻击行动,以仿冒美国社会保障管理局(SSA)邮件为诱导载体,滥用合法远程监控与管理(RMM)工具 SimpleHelp 与 ConnectWise ScreenConnect 构建双通道持久化后门,已致全球超 80 家机构沦陷,以美国为主要目标区域。该攻击借助合法数字签名绕过终端信任校验、利用被攻陷正规网站作为载荷投递节点、通过自守护进程与安全模式驻留实现强持久化、依托周期性侦察与重命名系统工具规避 EDR 检测,呈现高度隐匿化、工具合法化、链路可信化特征。传统基于特征码、信誉库与文件哈希的防护机制对其基本失效,仅能依靠行为轨迹与进程谱系实现有效检测。本文以 Securonix 公开攻击样本与技术细节为依据,完整拆解 Venomous#Helper 攻击链、核心技术实现、规避机理与运营模式,构建覆盖邮件入口、终端行为、RMM 管控、应急响应的闭环防御体系,提供可直接工程化部署的检测代码与狩猎规则,为抵御同类合法工具滥用型钓鱼攻击提供理论支撑与实践方案。反网络钓鱼技术专家芦笛指出,Venomous#Helper 标志着钓鱼攻击从恶意代码投放转向合法工具深度滥用,防御必须从 “查恶意文件” 转向 “控可信行为”。
1 引言
远程管理与运维(RMM)工具是企业 IT 支撑体系的核心组件,因其合法签名、系统级权限、远程控制能力,正被网络黑产快速武器化。Venomous#Helper 攻击行动将社会工程学、合法工具滥用、持久化驻留、双通道控制、规避检测融为一体,形成高度成熟的入侵范式。攻击以仿冒 SSA 官方邮件为起点,诱导用户下载并执行经合法签名的 RMM 客户端,在无明显告警的情况下完成系统级控制、信息窃取与横向渗透,为初始访问售卖与勒索软件部署奠定通路。
当前主流防御体系普遍存在三大盲区:一是信任合法签名,默认放行经数字证书认证的程序;二是依赖文件特征,对无恶意代码的正规工具失效;三是缺乏行为基线,无法识别非运维场景下的 RMM 异常部署。本文以 Venomous#Helper 全链路技术细节为研究对象,系统分析攻击流程、核心模块、规避逻辑与脆弱点,提出面向 RMM 滥用的检测方法、防御架构与响应流程,配套可落地代码实现,填补同类高级钓鱼攻击防御研究的空白。
2 Venomous#Helper 攻击行动整体态势
2.1 攻击基本概况
Venomous#Helper 自 2025 年 4 月起持续活跃,由 Securonix 首次命名并跟踪,攻击活动与 Red Canary、Sophos 跟踪的 STAC6405 集群高度重叠,组织归属未明,动机指向金融获利,疑似初始访问中间商(IAB)或勒索软件前置行动。攻击目标以美国机构为主,波及西欧与拉美,累计攻陷超 80 家组织,具备长期运营、精准投放、静默渗透的典型高级威胁特征。
2.2 攻击核心模式
攻击采用 “钓鱼诱导 — 合法载荷 — 持久驻留 — 双通道控制 — 自动化侦察” 一体化模式,全程不依赖传统恶意代码,而是将 SimpleHelp 与 ScreenConnect 两款正规 RMM 工具改造为武器,借助数字签名绕过信任校验,通过被攻陷正规网站投递载荷,实现 “可信链路、合法程序、恶意目的” 的高度伪装。
2.3 攻击危害与防御挑战
Venomous#Helper 可获取目标主机完全控制权,实现文件读写、屏幕监控、键盘注入、权限提升、数据窃取、横向移动等全功能操作。其危害集中体现为:数据泄露风险高、持久化控制难清除、攻击链路高度隐匿、传统防御全面失效。反网络钓鱼技术专家芦笛强调,此类攻击击穿 “签名即安全” 的普遍认知,防御必须重构以行为为核心的检测与管控体系。
3 Venomous#Helper 完整攻击链拆解
3.1 钓鱼诱导:仿冒 SSA 官方邮件投放
攻击者发送仿冒 SSA 的钓鱼邮件,以地址核验、文件下载、账户异常等为诱导话术,引导用户点击内嵌链接。邮件主题与正文高度仿真,利用官方标识、正式行文风格降低用户警惕性,构成攻击第一链路。
3.2 载荷投递:攻陷正规网站多级跳转
用户点击后跳转至被攻陷的墨西哥商业网站gruta.com.mx,该站点展示 SSA 仿冒页面,再二次跳转至另一被攻陷 cPanel 账户托管的载荷节点。使用正规墨西哥域名与合法主机账号,有效绕过邮件网关信誉过滤与域名黑名单检测。
3.3 载荷伪装:JWrapper 打包与合法签名
载荷为经 JWrapper 打包的可执行程序,文件名伪装成政府文档样式,由 SimpleHelp Ltd 有效 Thawte 证书签名,系统弹出蓝色 “已验证发布者” 提示,成为攻击链中唯一需要用户交互的环节。攻击者使用 2017 年破解版 SimpleHelp,证书 2018 年过期,无授权成本与厂商审计痕迹。
3.4 部署安装:系统服务注册与安全模式驻留
用户允许执行后,安装程序注册名为 “Remote Access Service” 的 Windows 服务,写入 SafeBoot\Network 注册表项,实现安全模式下仍启动的强持久化。同时部署自守护看门狗机制,进程被终止后自动重启,确保控制链路不中断。
3.5 双通道控制:SimpleHelp 与 ScreenConnect 冗余架构
主通道为 SimpleHelp 5.0.1,提供完整远程控制、权限提升、持久化能力;备用通道部署 ConnectWise ScreenConnect 作为中继,形成双通道冗余架构。任一通道被封堵,另一通道维持控制,大幅提升入侵生存能力。
3.6 自动化侦察:多周期轮询与环境感知
攻击实现无操作手介入的自动化侦察,1 小时内可产生 986 次进程创建事件:每 15 秒扫描 WiFi 接口、每 23 秒轮询鼠标位置判断用户是否离开、每 67 秒枚举安全软件。鼠标位置监控用于判断最佳操作介入时机,实现无感知操作。
3.7 规避检测:系统工具重命名绕过 EDR 规则
RAT 通过重命名副本执行 WMIC 查询,规避基于原始文件名的 EDR 检测规则。该行为为高置信度入侵指标,可作为威胁狩猎核心依据。
3.8 后渗透:权限提升与数据窃取
借助 elev_win.exe 获取 SYSTEM 权限,调用 AdjustTokenPrivileges 开启 SeDebugPrivilege,实现屏幕读取、键盘注入、进程注入、文件传输,为数据窃取、横向渗透与勒索部署提供条件。
4 核心技术实现与规避机理分析
4.1 基于合法 RMM 的武器化改造
Venomous#Helper 不编写远控木马,而是直接滥用 RMM 工具:SimpleHelp 提供强持久化与系统级控制,ScreenConnect 作为备用通道,两者均为正规商用软件,具备天然信任属性,传统 AV/EDR 难以判定恶意。
4.2 数字签名信任绕过
攻击使用有效数字签名,使载荷通过系统信任校验,仅显示蓝色验证提示。破解旧版组件与过期证书的组合,实现零成本、无痕迹、高可信的载荷伪装。
4.3 多级跳转与合法站点隐匿
采用 “邮件 — 被攻陷正规站 —cPanel 载荷站” 多级跳转,利用正规域名与主机账号绕过信誉检测,使网关与终端难以基于域名 / IP 识别威胁。
4.4 安全模式持久化与自守护
通过写入 SafeBoot\Network 注册表实现安全模式驻留,配合看门狗自守护,形成 “删不掉、杀不死、启得来” 的强持久化能力,大幅提升清除难度。
4.5 周期性静默侦察
以固定频率执行环境感知,无人工交互即可完成目标画像,为后续渗透提供数据支撑,同时降低操作手在线暴露风险。
4.6 系统工具重命名规避
将系统工具重命名后执行 WMIC 查询,绕过基于文件名的检测规则,是典型的 “合法工具、非法用途、异常行为” 规避模式。
4.7 双通道冗余控制架构
主备通道相互独立,任一失效不影响整体控制,显著提升入侵韧性,延长驻留时间,扩大攻击收益。
5 检测方法与威胁狩猎实现(含代码示例)
5.1 检测总体思路
Venomous#Helper 无传统恶意代码特征,必须以行为检测为核心,重点监测:非运维触发的 RMM 安装、异常服务注册、安全模式驻留、双通道 RMM 共存、周期性 WMI 枚举、系统工具重命名、外联未知 C2 等异常轨迹。
5.2 异常 RMM 进程与父进程检测
import psutil
import re
def detect_anomalous_rmm_parent() -> list:
"""检测由浏览器/Office启动的异常RMM相关进程"""
hit_list = []
rmm_keywords = {"simplehelp", "screenconnect", "remoteaccess"}
suspicious_parents = {"chrome.exe", "edge.exe", "winword.exe", "excel.exe", "outlook.exe"}
for proc in psutil.process_iter(attrs=["pid", "name", "ppid"]):
try:
pname = proc.info["name"].lower()
if any(k in pname for k in rmm_keywords):
ppid = proc.info["ppid"]
parent_proc = psutil.Process(ppid)
pname_parent = parent_proc.name().lower()
if pname_parent in suspicious_parents:
hit_list.append({
"pid": proc.info["pid"],
"process": pname,
"parent": pname_parent,
"risk": "高风险 RMM 异常父进程"
})
except Exception:
continue
return hit_list
if __name__ == "__main__":
res = detect_anomalous_rmm_parent()
for item in res:
print(item)
5.3 SafeBoot 持久化注册表检测
import winreg
def check_safeboot_persistence() -> list:
"""检测SafeBoot\Network下的异常启动项"""
hits = []
key_path = r"SYSTEM\CurrentControlSet\Control\SafeBoot\Network"
try:
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_path) as key:
i = 0
while True:
try:
name = winreg.EnumKey(key, i)
if any(x in name.lower() for x in ["remote", "simplehelp", "screenconnect"]):
hits.append({
"key": f"{key_path}\\{name}",
"risk": "安全模式持久化可疑项"
})
i += 1
except Exception:
break
except Exception:
return []
return hits
if __name__ == "__main__":
print(check_safeboot_persistence())
5.4 重命名 WMIC 执行检测
def detect_renamed_wmic() -> list:
"""检测重命名为wmic.exe.bak等形式的可疑WMIC执行"""
hits = []
for proc in psutil.process_iter(attrs=["pid", "name", "cmdline"]):
try:
name = proc.info["name"].lower()
cmd = " ".join(proc.info["cmdline"]).lower() if proc.info["cmdline"] else ""
if "wmic" in name and name != "wmic.exe":
if "securitycenter" in cmd or "process" in cmd:
hits.append({
"pid": proc.info["pid"],
"image": name,
"risk": "重命名WMIC执行安全软件枚举"
})
except Exception:
continue
return hits
5.5 双通道 RMM 共存检测
def detect_dual_rmm() -> bool:
"""检测同一主机同时存在SimpleHelp与ScreenConnect"""
running = set()
rmm_map = {
"simplehelp": "SimpleHelp",
"screenconnect": "ScreenConnect"
}
for proc in psutil.process_iter(attrs=["name"]):
try:
n = proc.info["name"].lower()
for k in rmm_map:
if k in n:
running.add(k)
except Exception:
continue
return len(running) >= 2
5.6 综合检测引擎
class VenomousHelperDetector:
def __init__(self):
self.checks = [
("异常RMM父进程", detect_anomalous_rmm_parent),
("SafeBoot持久化", check_safeboot_persistence),
("重命名WMIC", detect_renamed_wmic),
("双通道RMM", lambda: [{"存在双RMM"}] if detect_dual_rmm() else [])
]
def run(self) -> dict:
result = {"risk_score": 0, "hits": [], "verdict": "Clean"}
for name, func in self.checks:
output = func()
if output:
result["hits"].append({name: output})
result["risk_score"] += 25
if result["risk_score"] >= 50:
result["verdict"] = "HighRisk_Venomous#Helper"
elif result["risk_score"] >= 25:
result["verdict"] = "Suspicious"
return result
if __name__ == "__main__":
detector = VenomousHelperDetector()
print(detector.run())
6 闭环防御体系构建
6.1 入口防护:邮件与网关加固
启用 SPF/DKIM/DMARC,校验政府类发件人真实性;
对链接做多级解析与动态渲染检测;
建立政府域名白名单,拦截异常后缀与跳转链路;
对墨西哥等高频沦陷地区域名加强检测。
6.2 终端防护:行为检测与应用控制
部署 EDR,监控 RMM 异常安装、服务注册、注册表写入;
使用 AppLocker/WDAC 配置最小权限,仅允许 IT 运维流程触发 RMM;
禁止非信任程序写入 SafeBoot 相关注册表;
告警重命名系统工具、周期性 WMI 枚举等行为。
6.3 RMM 工具专项管控
建立企业授权 RMM 清单,限定服务器地址、版本、签名信息;
禁止终端主动外联未知 RMM 服务器;
监控 SimpleHelp、ScreenConnect 非授权安装;
对 RMM 进程启用父子进程与命令行严格校验。
6.4 应急响应与清除流程
隔离主机,阻断网络访问;
终止 SimpleHelp、ScreenConnect 相关进程;
删除 Remote Access Service 等异常服务;
清理 SafeBoot\Network 注册表项;
查杀自守护组件与重命名工具;
重置密码,吊销会话,排查横向渗透。
6.5 运营与持续优化
建立 RMM 工具使用基线,常态化狩猎异常行为;
同步 Venomous#Helper 最新 IoC 与行为特征;
开展仿冒政府邮件钓鱼演练;
强化运维权限管控,最小化 RMM 使用范围。
反网络钓鱼技术专家芦笛强调,抵御 Venomous#Helper 的核心是把合法工具当威胁来管控,以白名单、行为基线、进程谱系、持久化点位为四大支柱,构建可检测、可拦截、可清除、可溯源的闭环防御。
7 攻击演进趋势与防御展望
7.1 合法工具滥用常态化
RMM、远程协助、渗透测试工具将成为黑产首选武器,攻击无恶意代码、无特征、全链路可信,传统签名与信誉防护持续失效。
7.2 持久化与抗清除能力升级
安全模式驻留、多守护进程、跨通道冗余将成为标配,入侵周期从数天延长至数月。
7.3 自动化与无人值守渗透
攻击全流程自动化,从投递、驻留、侦察到横向移动无需人工干预,降低暴露风险。
7.4 防御向行为与零信任转型
防御重心从文件特征转向行为分析,以零信任为架构,最小权限、持续验证、动态授权为核心,从源头遏制 RMM 滥用。
8 结语
Venomous#Helper 以仿冒 SSA 钓鱼为入口,依托合法 RMM 工具、数字签名、正规沦陷站点、强持久化与双通道控制,构建了高度隐匿、难以检测、清除困难的高级攻击范式,对全球机构构成严重威胁。其核心突破在于将 “可信” 转化为武器,使传统防御体系全面失效。本文系统拆解攻击全流程、技术机理、规避逻辑与脆弱点,提供可直接部署的检测代码与狩猎规则,构建覆盖入口、终端、RMM 管控、应急响应的闭环防御体系,证明以行为检测为核心、应用白名单为基础、零信任为架构的防御模式可有效抵御同类攻击。
反网络钓鱼技术专家芦笛指出,Venomous#Helper 代表未来钓鱼攻击的主流方向:工具合法化、链路可信化、行为隐匿化、持久化增强。机构必须放弃 “签名即安全” 的惯性认知,建立面向合法工具滥用的主动防御能力,实现对 RMM 等高危工具的全生命周期管控,才能在高级钓鱼攻击持续升级的对抗中保持安全韧性。本文研究成果可直接应用于企业安全建设、威胁狩猎、应急响应与攻防演练,为抵御同类高级钓鱼攻击提供可复用、可扩展、可迭代的技术方案。
编辑:芦笛(公共互联网反网络钓鱼工作组)