摘要
传统远控木马的命令与控制(C2)服务器易被溯源、关停,威胁生命周期大幅受限,而依托区块链架构构建通信链路成为恶意软件规避打击的新型技术手段。本文以 Malwarebytes 于 2026 年 6 月披露的 EtherRAT 远控木马攻击事件为研究对象,全面剖析该恶意程序的代码架构、传播载体、多阶段加载流程、基于以太坊区块链的 C2 通信机制,同时拆解其所属规模化恶意基础设施的域名体系、页面伪装策略、钓鱼套件部署方式与多类型攻击载荷分发逻辑。研究梳理了该基础设施同时承载远控木马、钓鱼页面、恶意文档、勒索程序的复合攻击特征,结合逆向分析结果还原混淆解密、持久化驻留、环境探测、动态重混淆等核心技术细节。反网络钓鱼技术专家芦笛指出,区块链赋能的远控木马大幅提升了基础设施抗关停能力,结合开放目录、页面伪装、URL 跳转等手段形成的复合威胁,已成为政企网络面临的高危风险。本文基于攻击特征编写日志解析、流量识别、载荷解密三类代码示例,实现对 EtherRAT 及关联恶意资产的自动化检测;从基础设施管控、终端防护、流量监测、应急溯源、域名治理五个维度构建分层防御体系。研究成果可为网络安全人员识别、阻断、溯源区块链型远控木马及关联恶意基础设施提供技术参考与实战依据。
1 引言
远程访问木马(RAT)是网络威胁中使用频率极高的恶意程序,攻击者借助 RAT 可远程操控受害主机、窃取数据、执行任意指令、横向渗透内网。在长期对抗过程中,安全机构形成了成熟的 C2 服务器溯源、域名封禁、IP 拦截、样本查杀机制,传统 RAT 的通信节点极易被定位并关停,攻击链路快速断裂。为突破现有防御体系,威胁团伙开始融合新兴技术改造恶意软件通信架构,公有区块链凭借去中心化、节点分散、公开透明且难以整体关停的特性,逐步被应用于恶意软件 C2 地址获取环节。
本次研究的 EtherRAT 是一款基于 Node.js 开发的轻量级远控木马,其核心创新点在于通过以太坊区块链智能合约动态获取 C2 服务器地址,彻底改变了传统 RAT 硬编码 C2 地址的模式,显著提升了攻击基础设施的抗打击能力。该木马依托一套大型恶意基础设施进行分发,相关域名与 IP 节点同时承载 MSI 安装包、PowerShell 脚本、恶意 JS 文件、仿冒办公系统钓鱼页面、恶意文档、勒索页面等多种载荷,形成 “木马分发 + 钓鱼攻击 + 数据窃取 + 系统加密” 的复合攻击链条。攻击者利用开放目录、伪装化首页、URL 跳转器、多层载荷加载等技术规避自动化扫描器与安全设备检测,进一步放大威胁危害。
当前国内网络安全领域针对传统 RAT 的分析研究较为丰富,但针对区块链赋能型远控木马、复合型恶意基础设施的全链路技术拆解、自动化检测方案及系统性防御策略的研究仍存在短板。多数研究仅聚焦单一恶意样本的逆向分析,未结合其所属基础设施的整体运作模式开展分析,也未针对多载荷分发、页面伪装、区块链通信等特征设计落地化检测工具。
本文以完整攻击事件为样本,从基础设施整体架构切入,逐层解析 EtherRAT 的传播方式、加载流程、解密算法、区块链通信逻辑、动态重混淆机制,以及关联钓鱼套件、勒索页面、恶意文档的运作模式;结合逆向结果编写可落地的自动化检测代码;总结该类复合威胁的共性风险,并构建适配企业网络、运营商、监管机构的综合防御体系。全文立足于真实威胁狩猎数据与逆向分析结果,客观阐述技术原理与风险现状,不夸大威胁影响,旨在填补区块链型远控木马及大型恶意基础设施研究的细节空白,助力安全团队提升同类威胁的识别与处置能力。
2 攻击背景与恶意基础设施整体架构
2.1 事件基本背景
2026 年 6 月,Malwarebytes 安全团队在威胁狩猎工作中发现一批异常开放目录,目录内持续分发版本迭代的 MSI 安装包与 PowerShell 脚本,最终载荷均为 EtherRAT 远控木马。进一步溯源后确认,这些文件隶属于一套规模庞大的复合型恶意基础设施,关联数十个域名与多个静态 IP 节点。该基础设施并非仅分发单一远控木马,而是根据不同攻击 Campaign 切换载荷类型,涵盖仿冒微软 SharePoint、政务系统、企业文档门户的钓鱼页面,带有诱导链接的恶意 PDF、Excel 文档,勒索软件页面、各类远程控制工具等。
该基础设施内的域名普遍采用伪装化首页策略,放弃常规恶意站点样式,使用系统报错界面、黑客主题海报、IRC 聊天模拟界面、勒索提示页面等样式,干扰自动化威胁扫描工具的识别逻辑。部分域名历史记录显示,其曾部署虚假企业页面、通用模板页面,页面样式的迭代本质是为了持续规避安全检测。同时,基础设施存在大量配置不当的开放目录,目录中暴露钓鱼套件源码、URL 跳转器程序、载荷文件、配置脚本等敏感资源,为威胁分析与溯源提供了关键线索。
从攻击传播路径来看,该体系下的攻击主要以邮件附件为初始入口,攻击者向目标投递带有恶意文档的钓鱼邮件,文档诱导用户点击内嵌链接,跳转至基础设施内的钓鱼页面,完成身份信息窃取或下载 EtherRAT 等恶意载荷,最终实现主机被控、数据泄露、系统加密等恶意目的。
2.2 EtherRAT 基础特征界定
EtherRAT 是基于 Node.js 开发的轻量级 RAT,代码体量较小,核心功能围绕 “区块链获取 C2、接收远端指令、执行代码、数据回传、自我重混淆” 设计,主要传播载体分为三类:MSI 安装程序、PowerShell 脚本、JavaScript 脚本,样本版本从 v1 迭代至 v10,具备持续更新能力。相较于传统 RAT,其核心差异化特征集中在通信环节:
去中心化 C2 获取:不将 C2 域名 / IP 硬编码至样本中,调用以太坊主网智能合约,通过 JSON-RPC 接口读取合约内存储的 C2 地址,基础设施关停难度大幅提升;
动态重混淆:木马运行后会将自身源码回传至 C2 服务器,接收重新混淆后的代码并覆盖本地文件,使样本哈希值持续变化,绕过基于特征库的杀毒软件;
多层载荷加载:依托 MSI、PowerShell 等载体实现多层解密与执行,叠加自定义异或、字节移位、累加器等复合加密算法,提升逆向分析与静态查杀难度;
环境主动探测:入侵主机后自动执行多条系统指令,采集硬件信息、域环境、管理员权限、系统版本等数据,为攻击者实施定向攻击提供依据。
2.3 恶意基础设施分层架构
结合威胁狩猎与溯源结果,将该复合型恶意基础设施划分为分发层、中转层、载荷层、通信层、变现层五个层级,各层级分工明确、相互协同,形成完整攻击闭环。
分发层:以开放目录为核心载体,典型路径为/install,托管不同版本的 EtherRAT MSI 包(v9.msi 等)、PowerShell 脚本(v9.ps1 等),域名如 ivorilla.cloud 等,面向全网提供恶意载荷下载服务。
中转层:包含两类核心组件,一是各类伪装网站,利用系统报错、黑客海报、勒索界面等首页规避扫描,根据攻击场景跳转至钓鱼页面或木马下载地址;二是 URL 跳转器(URL Cloaker),源码在部分开放目录中被泄露,用于隐藏真实恶意地址,实现域名跳转与流量中转。
载荷层:分为两大模块,第一模块为钓鱼套件,部署仿冒 SharePoint、政务文档门户、企业采购系统的页面,用于窃取邮箱账号、身份信息;第二模块为恶意文档与勒索页面,依托 PDF、Excel 附件传播,部分节点直接展示 AES-256 加密勒索提示,索要比特币赎金。
通信层:由以太坊区块链节点与 EtherRAT 专属 C2 服务器组成。区块链节点为公共以太坊 RPC 网关,负责查询智能合约获取 C2 地址;专属 C2 域名包括aravisblog.com、cambioefectivo.com等,接收被控主机回传数据、下发攻击指令、返回重混淆代码。
变现层:包含数据倒卖、比特币勒索、内网横向渗透后的业务破坏三类变现模式,也是该基础设施长期运营的核心驱动力。
2.4 核心 IOC 汇总
本次攻击关联的网络指标可分为 IP、域名两大类,是检测与拦截的核心依据。恶意基础设施关联 IP:82.165.65.244、185.221.216.121、43.163.233.166、40.160.238.30、159.89.227.204、57.128.31.168;EtherRAT 分发域名:ivorilla.cloud、mx.nrlwz.com、dn.eyqwj.com、bi.mkrjcsw.com、dorqen.casa、kelvra.club;EtherRAT C2 域名:cambioefectivo.com、vabelles.com、tranzed.org、kibrisarazi.com、aravisblog.com、publicspeakingtip.org。
3 EtherRAT 传播与多阶段加载技术解析
EtherRAT 主要通过 MSI 安装包与 PowerShell 脚本两类载体传播,两类载体均采用多层加载 + 多轮解密架构,全程借助系统原生程序(conhost.exe、cmd.exe、powershell.exe、node.exe)执行,利用合法进程伪装恶意行为,规避终端安全监测。本节以主流的 v9.msi 安装包为核心样本,逐阶段拆解加载流程、文件构成、解密算法与执行逻辑,同时补充 PowerShell 载荷的技术特征。
3.1 MSI 安装包文件构成与初始执行
v9.msi 是该木马主流分发载体,内部封装三个核心文件,各司其职完成启动、加载、解密工作:KmPuGimn.cmd为批处理启动器、cDQMlQAru0.xml为第一阶段 JS 加载器、MRaQCipBIZeiZNx.log为加密后的 EtherRAT 主程序。
当用户双击执行 MSI 安装包后,系统调用conhost.exe以无头模式启动 cmd 进程,执行命令:conhost --headless cmd /c "KmPuGimn.cmd"。无头运行模式隐藏命令行窗口,避免用户察觉异常,是恶意程序常用的行为伪装手段。
3.1.1 批处理启动器(KmPuGimn.cmd)执行逻辑
该混淆后的批处理文件承担环境检测、文件释放、依赖下载、循环等待四大功能,执行步骤如下:
文件释放:将 MSI 内封装的另外两个文件解压至%LOCALAPPDATA%下的随机命名文件夹,规避固定路径查杀;
进程自启动:再次通过conhost.exe无头模式调用自身,追加参数nKWa,维持进程存活;
环境检测:执行where node命令,检测本地是否已安装 Node.js 运行环境。EtherRAT 基于 Node.js 开发,依赖该运行时环境才能正常执行;
依赖下载:若未检测到 Node.js,调用系统内置curl工具,从官方渠道下载 Node.js 安装包,通过tar命令解压后,将目录重命名为28Q75h,固定本地依赖路径;
循环等待:持续轮询检测cDQMlQAru0.xml与MRaQCipBIZeiZNx.log两个文件,确认文件存在后,调用node.exe执行 JS 加载器文件,进入下一解密阶段。
整套流程完全依托 Windows 系统原生工具,无第三方恶意程序落地,静态检测难以判定风险。
3.1.2 第一阶段 JS 加载器(cDQMlQAru0.xml)解密逻辑
该文件本质为 JavaScript 代码,后缀修改为 xml 用于伪装,核心作用是通过自定义 XOR 算法解密后续载荷,并借助vm.compileFunction方法执行解密后的代码,规避常规脚本查杀。其核心解密公式如下:
plaintext
decrypted[i] = (encrypted[i] - key[i % key.length] - i) & 0xFF
算法逻辑:遍历加密字节流,依次减去密钥对应字节、当前索引值,再和 0xFF 做按位与运算,还原原始字节数据。加载器完成解密后,执行内嵌代码,进入最终载荷处理阶段。
3.2 主载荷解密与持久化驻留
经过第一阶段解密后,得到可执行的中间代码,该代码完成三项核心操作:Node 程序副本创建、注册表持久化配置、EtherRAT 主程序最终解密与启动。
程序副本创建:将本地node.exe复制为_MJlLlt5.exe,使用自定义文件名规避特征检测,后续通过该副本执行主载荷;
持久化配置:修改 Windows 注册表,添加启动项,调用conhost.exe无头模式关联恶意程序,实现系统开机自动运行,保证木马长期驻留;
主程序解密:读取MRaQCipBIZeiZNx.log文件(加密的 EtherRAT 本体),通过复合流式解密算法还原原始代码,该算法融合字节相减、多组异或、字节置换、累加器运算,复杂度高于基础 XOR,逆向难度显著提升。
复合解密核心循环代码如下:
plaintext
for e in range(len(data)):
byte = data[e]
g = prev
prev = byte
byte = (byte - g) & 0xff
byte = byte ^ n[e % len(n)] ^ ((e >> 8) & 0xff)
byte = si[byte]
byte = (byte - k[e % len(k)]) & 0xff
result[e] = byte
算法分步解析:首先用当前字节减去上一个字节并按位与 0xFF;其次依次和密钥数组n、索引移位值做异或运算;再通过置换表si完成字节映射;最后减去密钥数组k对应字节,得到明文数据。多组密钥 + 字节流转运算的组合,使得静态特征库难以匹配。解密完成后,通过_MJlLlt5.exe以标准输入方式执行 EtherRAT 主程序。
3.3 PowerShell 载荷加载特征
除 MSI 安装包外,PowerShell 脚本是另一大主流传播载体,其加载逻辑与 MSI 载体的后半段流程高度重合,简化了批处理与 JS 加载环节。恶意 PowerShell 脚本经过函数名混淆、代码分段加密、Base64 编码处理,核心功能包括:检测并下载 Node.js 环境、通过自定义算法解密 EtherRAT 载荷、调用conhost.exe与 Node.js 执行木马。
不同版本的 PowerShell 样本会随机修改函数名、密钥字符串、解密逻辑,进一步规避特征匹配。其解密模块同样采用多轮字节运算,和 MSI 载体的主载荷解密算法同源,属于同一攻击套件的多形态适配。
4 EtherRAT 核心运行机制与通信技术
EtherRAT 成功运行后,依次完成系统环境探测、以太坊区块链查询 C2、动态轮询 C2 节点、指令执行、源码重混淆回传等操作,其中基于以太坊区块链的 C2 获取机制是该木马最核心的技术亮点,也是其抗关停能力的核心支撑。
4.1 受害主机环境探测
木马启动后,主动调用cmd.exe与 PowerShell 执行多条系统查询指令,全面采集主机信息,为攻击者制定攻击策略提供数据支撑,探测指令如下:
采集显卡信息:powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "(Get-WmiObject Win32_VideoController).Name";
读取设备唯一标识:reg query "HKLM\SOFTWARE\Microsoft\Cryptography" /v MachineGuid;
探测域环境状态:查询主机所属域、是否加入域,指令包括(Get-WmiObject Win32_ComputerSystem).Domain、(Get-WmiObject Win32_ComputerSystem).PartOfDomain;
探测会话与网络状态:cmd.exe /d /s /c "net session"。
所有探测行为均隐藏窗口执行,采集的系统版本、主机名、管理员权限、硬件信息、域状态等数据,会随心跳包回传至 C2 服务器。
4.2 基于以太坊区块链的 C2 地址获取
这是 EtherRAT 区别于传统 RAT 的核心技术,木马不硬编码 C2 地址,而是调用以太坊主网 RPC 节点,通过智能合约查询动态获取 C2 URL,完整流程如下。
4.2.1 区块链基础配置
木马内置固定的以太坊智能合约参数,作为查询依据:合约地址0x88ea8d0bc4146f0a018e989df3fd089ac48f9a58、函数选择器0x7d434425、调用参数0xf6a772e163e64b07f658946f863b5d457d88f9f0,交易类型遵循 EIP-1559 标准。
4.2.2 多 RPC 节点轮询查询
为避免单一区块链节点故障导致通信中断,木马内置多个以太坊公共 RPC 网关地址,采用轮询机制发起查询,节点列表包括:mainnet.gateway.tenderly.co、rpc.flashbots.net/fast、rpc.mevblocker.io、eth-mainnet.public.blastapi.io 等。
木马调用以太坊eth_call JSON-RPC 方法,向 RPC 节点请求读取指定智能合约数据,合约内预先存储最新的 C2 服务器地址。在本次样本中,查询结果为https://aravisblog.com,即木马后续通信的核心 C2 节点。由于以太坊区块链去中心化、全网同步的特性,安全机构即便封禁单个 C2 域名,攻击者仅需在智能合约内更新地址,即可快速恢复攻击链路,基础设施抗关停能力大幅提升。
4.3 C2 通信协议与动态伪装
获取 C2 地址后,EtherRAT 按照自定义 URL 规则轮询 C2 服务器,请求链接采用随机化字段伪装,模拟图片、样式表等静态资源请求,绕过流量检测设备。
4.3.1 通信 URL 格式
标准请求格式:GET /api/<4字节十六进制字符>/<受害主机UUID>/<4字节十六进制字符>.<后缀>?<参数>=<构建ID>
字段规则:
后缀:随机从png、jpg、gif、css、ico、webp中选取,伪装成静态资源;
请求参数名:随机从id、token、key、b、q、s、v中选取;
构建 ID:样本固定唯一标识,用于 C2 区分不同被控主机。
该设计使恶意流量和正常网页资源请求高度相似,基于 URL 特征的流量拦截规则难以生效。
4.3.2 指令执行与数据回传
木马持续向 C2 轮询请求,接收攻击者下发的 JavaScript 指令并在本地执行,可实现文件操作、注册表修改、数据窃取、内网渗透等各类恶意行为。执行结果、系统探测数据会通过对应接口回传至 C2 服务器。
4.4 动态重混淆机制(对抗特征查杀)
为对抗基于文件哈希与静态特征的杀毒软件,EtherRAT 设计了闭环重混淆机制,流程如下:
木马将自身完整源码通过 POST 请求上传至 C2 指定接口:POST /api/[重混淆路径]/<受害主机UUID>,请求体包含源码与构建 ID;
C2 服务器对源码进行重新混淆、加密处理,生成新样本;
新混淆后的代码回传至受害主机,木马覆盖本地旧文件。
每一轮重混淆都会改变样本哈希值与代码特征,传统病毒库无法实现持久查杀,这也是该木马多个版本持续传播的重要原因。日志记录显示,木马运行后会将运行日志写入svchost.log,留存运行痕迹。
5 关联恶意基础设施与钓鱼套件分析
EtherRAT 所属的大型基础设施并非仅用于远控木马分发,还整合了钓鱼页面、恶意文档、URL 跳转器、勒索页面等多种载荷,形成复合型攻击体系。本节对各类附属载荷、页面伪装策略、开放目录泄露资源进行拆解。
5.1 伪装化首页规避检测策略
基础设施内的域名普遍放弃常规恶意网站样式,使用四类高迷惑性首页,专门对抗自动化威胁扫描器:
系统蓝屏报错页:模拟 Windows VXD 驱动致命异常提示,包含错误码、异常地址、威胁描述,如FATAL EXCEPTION 0x35等,视觉上酷似系统崩溃界面;
黑客主题海报:包含悬赏通缉、匿名组织标语、端口提示等元素,如 “WANTED DEAD OR ALIVE”,针对安全扫描器的特征库做规避;
IRC 聊天模拟页:复刻匿名聊天室对话、在线用户列表、网络延时等内容,伪装成地下交流站点;
勒索提示页:直接展示 AES-256 文件加密提示,要求受害者在 72 小时内向指定比特币钱包转账,附带暗网联系方式。
不同域名搭配不同报错码、组织名称,样式差异化明显,单一特征规则无法批量拦截。
5.2 钓鱼页面与恶意文档攻击链路
该基础设施内的钓鱼攻击以邮件附件为入口,形成 “恶意文档→钓鱼页面→信息窃取 / 载荷下载” 的标准链路。
5.2.1 恶意文档载体
攻击者向目标邮箱发送钓鱼邮件,附件为 PDF、Excel 等格式的恶意文档(如 “2026 Payment Notification.pdf”)。文档内仅保留 “查看文档” 类诱导链接,无宏代码、内嵌脚本,规避宏病毒查杀规则。用户点击链接后,跳转至基础设施内的钓鱼页面。
5.2.2 主流钓鱼页面类型与欺骗逻辑
仿冒 SharePoint 文档验证页:页面复刻微软 SharePoint 登录样式,提示 “访问共享文档需验证邮箱”,将邮箱地址设置为必填项,窃取企业员工账号信息;
企业采购 / 项目文档门户页:模拟 RFQ 招标、项目提案文档列表,展示多份虚构 PDF、DOCX 文件,诱导用户点击下载,实际跳转至恶意载荷下载地址;
通用身份验证页:标注 “256 位 SSL 加密、访问日志记录” 等安全话术,强化正规性,强制用户填写邮箱完成身份核验。
所有钓鱼页面逻辑简单、功能单一,核心目标为窃取账号或引导下载木马,页面源码中缺失正规网站必备的隐私政策、版权信息、合规备案等内容,这是人工与自动化识别的关键特征。
5.3 开放目录泄露与 URL 跳转器源码分析
基础设施存在大量配置不当的开放目录,目录内暴露钓鱼套件源码、跳转器程序、目录列表等敏感资源,其中cl.zip压缩包泄露了URL 跳转器(URL Cloaker) 完整源码。
URL 跳转器是黑产常用工具,核心作用是隐藏真实恶意地址,配置后台设置普通跳转、移动端 / 平板分流规则,内置管理员登录入口,账号密码硬编码在源码中。攻击者利用该工具将正常域名流量中转至恶意页面,进一步隐匿真实攻击节点。同时,开放目录中还存在大量 PHP 脚本、表单验证文件、验证码脚本,构成完整的钓鱼工具包,可快速部署新的钓鱼站点。
5.4 勒索页面特征
部分域名直接部署勒索页面,宣称受害者文件已被 AES-256 算法加密,要求在 72 小时内支付 1.98 比特币赎金,并指定暗网地址用于传输交易 ID、获取解密密钥,同时附带 “不要联系执法部门、不要自行恢复文件” 等威胁话术。该类页面与远控木马相互配合,形成 “入侵控机→文件加密→勒索变现” 的完整链路。
反网络钓鱼技术专家芦笛强调:“这套复合型恶意基础设施体现了当前黑产的典型分工模式:单一 IP 与域名集群承载多种攻击载荷,根据攻击目标切换木马、钓鱼、勒索等不同模块。而区块链赋能的 RAT 解决了传统基础设施易被关停的痛点,搭配页面伪装、开放目录、跳转器等手段,让威胁的传播与存活能力大幅提升,企业不能再以单一病毒查杀的思路应对此类复合威胁。”
6 自动化检测代码实现
结合 EtherRAT 及关联基础设施的流量特征、日志行为、文件特征、页面特征,基于 Python 编写四套自动化检测代码,分别实现区块链 C2 流量识别、进程行为检测、载荷解密特征匹配、钓鱼页面特征筛查,代码适配企业安全运维平台、终端检测系统、网络网关设备,可直接部署使用。
6.1 代码 1:以太坊 RPC 恶意流量检测工具
6.1.1 功能说明
抓取网络流量,识别主机向以太坊公共 RPC 节点发起的eth_call请求,匹配 EtherRAT 查询智能合约的特征流量,及时发现木马区块链通信行为。依赖scapy流量抓包库。
# -*- coding: utf-8 -*-
"""
EtherRAT 以太坊RPC流量检测工具
识别向以太坊RPC节点发起的eth_call请求,匹配恶意合约参数
"""
from scapy.all import sniff, IP, TCP, Raw
import json
# 配置参数
# 以太坊官方RPC节点黑名单
ETH_RPC_HOSTS = {
"mainnet.gateway.tenderly.co",
"rpc.flashbots.net",
"eth.drpc.org",
"eth.nerkle.io",
"rpc.mevblocker.io"
}
# EtherRAT 恶意合约固定参数
TARGET_CONTRACT = "0x88ea8d0bc4146f0a018e989df3fd089ac48f9a58"
TARGET_FUNC = "0x7d434425"
def check_eth_rpc_traffic(packet):
"""检测单条流量包是否为恶意RPC请求"""
if IP in packet and TCP in packet and Raw in packet:
src_ip = packet[IP].src
dst_host = packet[IP].dst
payload = packet[Raw].load.decode("utf-8", errors="ignore")
# 筛选以太坊RPC节点流量
if dst_host in ETH_RPC_HOSTS and "eth_call" in payload:
try:
data = json.loads(payload)
call_data = data.get("params", [])[0].get("data", "")
contract_addr = data.get("params", [])[0].get("to", "")
# 匹配恶意合约与函数选择器
if contract_addr == TARGET_CONTRACT and TARGET_FUNC in call_data:
print(f"【告警】检测到EtherRAT区块链通信 源IP:{src_ip} 目标节点:{dst_host}")
except:
return
if __name__ == "__main__":
print("开始监听以太坊RPC恶意流量,按Ctrl+C终止...")
sniff(prn=check_eth_rpc_traffic, store=0)
6.1.2 使用说明
执行pip install scapy安装依赖,代码需在具备流量抓包权限的设备(网关、服务器)运行;
ETH_RPC_HOSTS可根据以太坊节点更新补充;
实时监测内网主机向恶意合约发起的查询请求,发现 EtherRAT 通信行为并告警。
6.2 代码 2:终端恶意进程行为检测工具
6.2.1 功能说明
监测 Windows 终端进程,识别conhost.exe无头启动 cmd、node.exe 异常创建、批量 SMB / 系统查询指令等 EtherRAT 典型行为。
# -*- coding: utf-8 -*-
"""
EtherRAT 终端进程行为检测
监测conhost无头运行、node异常启动、系统探测指令
"""
import psutil
import time
# 风险行为特征
RISK_CMD = ["where node", "net session", "Get-WmiObject Win32_VideoController"]
HEADLESS_CONHOST = "--headless"
def scan_mal_process():
print("===== 终端恶意进程扫描结果 =====")
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
try:
cmd = proc.info['cmdline']
if not cmd:
continue
cmd_str = " ".join(cmd)
# 检测无头conhost
if proc.info['name'].lower() == "conhost.exe" and HEADLESS_CONHOST in cmd_str:
print(f"高风险进程 PID:{proc.info['pid']} 进程:conhost.exe 无头运行")
# 检测系统探测指令
for risk_str in RISK_CMD:
if risk_str in cmd_str:
print(f"告警 PID:{proc.info['pid']} 执行恶意探测指令:{risk_str}")
except (psutil.NoSuchProcess, psutil.AccessDenied):
continue
if __name__ == "__main__":
while True:
scan_mal_process()
time.sleep(10)
6.2.2 使用说明
执行pip install psutil安装依赖,部署于 Windows 终端 / 服务器;
每 10 秒轮询一次进程列表,识别木马启动与探测行为。
6.3 代码 3:载荷复合解密算法特征检测
6.3.1 功能说明
对可疑文件进行字节扫描,匹配 EtherRAT 主载荷的复合解密算法特征,实现静态初步筛查。
# -*- coding: utf-8 -*-
"""
EtherRAT 载荷解密算法特征静态检测
匹配复合字节运算特征,识别加密主程序
"""
def check_decrypt_feature(file_path):
with open(file_path, "rb") as f:
data = f.read(2048) # 读取前2048字节做特征匹配
# 匹配复合解密核心运算特征
feature1 = b"- g) & 0xff"
feature2 = b"^ ((e >> 8) & 0xff)"
feature3 = b"byte = si[byte]"
count = 0
if feature1 in data:
count +=1
if feature2 in data:
count +=1
if feature3 in data:
count +=1
if count >=2:
return True, "匹配EtherRAT复合解密算法,疑似恶意载荷"
else:
return False, "未检测到恶意特征"
if __name__ == "__main__":
target_file = "suspect.log"
res, msg = check_decrypt_feature(target_file)
print(f"文件检测结果:{msg}")
6.4 代码 4:钓鱼页面自动化特征检测
6.4.1 功能说明
请求疑似页面,检测 SharePoint 仿冒特征、必填邮箱项、缺失合规信息等钓鱼页面特征。
# -*- coding: utf-8 -*-
"""
仿冒SharePoint/文档门户钓鱼页面检测
"""
import requests
from bs4 import BeautifulSoup
FISH_KEY_WORD = ["SharePoint", "验证邮箱", "安全文档访问", "256位SSL"]
MUST_HAVE_MODULE = ["隐私政策", "版权所有"]
def check_phish_page(url):
headers = {"User-Agent":"Mozilla/5.0"}
try:
resp = requests.get(url, headers=headers, timeout=8)
soup = BeautifulSoup(resp.text, "html.parser")
risk = []
# 检测钓鱼关键词
for word in FISH_KEY_WORD:
if word in resp.text:
risk.append(f"页面包含钓鱼关键词:{word}")
# 检测必填邮箱输入框
input_list = soup.find_all("input", type="email", required=True)
if input_list:
risk.append("存在强制填写的邮箱输入框")
# 检测合规模块缺失
for module in MUST_HAVE_MODULE:
if module not in resp.text:
risk.append(f"缺失合规模块:{module}")
return risk
except:
return ["页面访问失败,疑似恶意站点"]
if __name__ == "__main__":
test_url = "https://xxx.xxx.xxx"
result = check_phish_page(test_url)
if result:
print("检测到钓鱼页面特征:")
for r in result:
print(f"- {r}")
else:
print("未检测到明显钓鱼特征")
7 全维度防御体系构建
结合 EtherRAT 木马特性、区块链通信机制、复合型恶意基础设施的攻击链路,从终端防护、网络流量管控、域名与 IP 拦截、邮件与钓鱼防控、应急溯源、监管治理六个维度构建分层防御体系,适配企业、运营商、网络安全监管机构等不同主体。
7.1 终端安全加固(第一道防线)
运行环境管控:严格限制终端服务器、办公主机下载 Node.js、curl、tar 等工具,非业务必需环境一律禁止安装;通过组策略限制conhost.exe无头启动、PowerShell 无窗口运行,阻断载荷初始执行链路。
应用白名单:部署终端应用白名单,仅放行业务必需程序,拦截未知 MSI 包、混淆脚本;禁止普通用户在桌面、临时目录执行可执行文件与脚本。
进程与行为监测:部署上文终端进程检测代码,实时告警conhost无头运行、异常系统探测指令、node.exe 陌生启动行为;监控注册表启动项,拦截木马持久化配置。
补丁与权限管理:及时修复 Windows 系统漏洞,最小化用户权限,禁止普通用户修改注册表、安装软件,降低入侵后的危害范围。
7.2 网络流量与网关防护(通信拦截)
区块链 RPC 节点管控:企业网关、防火墙配置规则,拦截内网主机主动访问陌生以太坊、比特币等区块链 RPC 节点,阻断 EtherRAT 的 C2 地址查询链路;针对已知恶意 RPC 节点做全局拦截。
恶意 URL 与流量特征拦截:提取木马 C2 通信的随机 URL 特征、静态资源伪装请求特征,在 WAF、网关处添加流量规则;拦截大量高频、伪装成图片 / CSS 的异常 GET/POST 请求。
IOC 全局拦截:将文中汇总的恶意 IP、域名导入防火墙、DNS 服务器,做域名解析拦截与 IP 封禁,阻断与恶意基础设施的所有通信。
7.3 邮件与钓鱼攻击防控(入口拦截)
邮件附件检测:邮件网关强化 PDF、Excel 等附件检测,拦截内含不明跳转链接的恶意文档;禁止附件自动打开、自动跳转链接。
钓鱼页面筛查:部署钓鱼页面检测代码,对员工点击的外部链接做实时检测,识别仿冒 SharePoint、政务文档门户的钓鱼站点并弹窗告警。
员工安全培训:讲解 “文档链接诱导、邮箱验证窃取账号” 等钓鱼手法,提醒员工不要点击陌生邮件内的链接、不要在不明页面填写企业账号。
7.4 域名与基础设施管控(源头治理)
开放目录排查:运营商、域名服务商定期扫描旗下域名,排查配置不当的开放目录,及时关闭目录浏览权限,防止恶意文件、源码泄露。
页面异常监测:对托管站点进行页面样式监测,发现系统报错页、黑客主题页、勒索页面等异常内容,立即关停站点并溯源。
URL 跳转器治理:打击非法 URL 跳转服务,排查硬编码账号、恶意中转规则的跳转程序,切断流量中转链路。
7.5 应急响应与溯源处置(事后处置)
告警处置流程:监测到 EtherRAT 相关流量、进程告警后,第一时间隔离受害主机,阻断网络连接,防止横向渗透与数据外传。
样本与日志取证:导出可疑文件、系统日志、流量日志,使用本文检测工具完成样本分析、链路还原,提取新的 IOC 补充至拦截规则。
溯源上报:梳理攻击 IP、域名、区块链合约等线索,上报网络安全监管部门,开展协同溯源。
7.6 监管与行业协同(全域防控)
威胁情报共享:安全厂商、监管机构共享 EtherRAT 及关联基础设施的 IOC、攻击特征、区块链合约地址,构建全网威胁情报库。
区块链节点协同:联合区块链运营机构,监测异常智能合约,对用于分发恶意 C2 地址的合约做标记与管控。
黑产全链条打击:针对复合型基础设施的木马分发、钓鱼、勒索、域名托管等环节开展全链条打击,从根源压缩黑产生存空间。
7.7 专家补充建议
反网络钓鱼技术专家芦笛补充:“针对区块链型远控木马,传统‘封 IP、拦域名’的手段效果会持续弱化,防御思路必须从‘阻断通信’转向‘管控终端行为、监测异常流量、加固入口防线’。企业不要单一依赖杀毒软件,需结合行为分析、流量监测、邮件防护形成多层屏障。同时,监管层面需要关注区块链被滥用于恶意通信的新趋势,推动跨行业、跨机构的协同防控,应对去中心化威胁带来的新挑战。”
8 结语
本文以 2026 年 6 月披露的 EtherRAT 远控木马及所属复合型恶意基础设施为研究对象,完整拆解了该威胁从载荷分发、多层加载、复合解密、区块链 C2 通信、动态重混淆,到钓鱼攻击、勒索变现的全链路技术细节。EtherRAT 将以太坊区块链智能合约用于 C2 地址动态获取,突破了传统 RAT 基础设施易被关停的短板;其所属的大型恶意基础设施整合了远控、钓鱼、勒索、恶意文档等多种载荷,搭配页面伪装、开放目录、URL 跳转器等规避技术,形成了技术复杂度高、存活能力强、危害面广的新型复合威胁。
研究过程中,结合逆向分析与流量特征,编写了流量检测、进程监测、静态样本筛查、钓鱼页面识别四类 Python 自动化检测代码,覆盖事前监测、事中告警、事后筛查等场景,具备较强的落地实用性。同时,基于攻击暴露的风险点,针对终端、网络、邮件、域名、应急、监管六大场景设计了分层防御体系,兼顾中小企业、大型企业、运营商、监管机构的不同运维需求。
从威胁演化趋势来看,将区块链、匿名网络等新兴技术与传统恶意软件结合,将成为未来远控木马、僵尸网络的重要发展方向。攻击者会持续优化载荷加载、代码混淆、流量伪装技术,同时整合多种攻击载荷,让单一基础设施承载多元化攻击行为。对于网络安全从业者而言,需要跳出传统特征查杀的思维定式,转向行为分析、流量溯源、全链路监测的综合防护模式;对于企业用户,需强化终端权限管控、邮件安全、员工安全意识,守住攻击入口;对于监管与安全厂商,需加强威胁情报共享、跨领域协同,跟踪新兴技术被滥用的风险,持续完善防御策略。
网络对抗是动态演化的过程,区块链赋能的恶意基础设施对现有防御体系提出了新的挑战。唯有持续深挖威胁技术细节、迭代检测规则、落实多层防御、强化行业协同,才能有效抵御此类复合型、技术化的网络威胁,保障网络空间与数据安全。
编辑:芦笛(公共互联网反网络钓鱼工作组)