打开网易新闻 查看精彩图片

去年下半年,台湾某大学行政人员收到一封邮件,附件是一份盖着公章的"教育部函件"。解压密码写在邮件正文里,一切看起来正规得无可挑剔。这份文件的真实身份,是一个伪装成趋势科技安全软件的恶意程序——点击后,一台Lua解释器、Rust库和Windows DLL层层嵌套的后门,悄然接管了系统。

Cisco Talos(思科威胁情报团队)追踪到这个代号"UT"的黑客组织时,发现他们已经把鱼叉式钓鱼玩出了新高度。目标锁定台湾非政府组织和高校,所有诱饵文档都用繁体中文撰写,连政府公文的格式都模仿得惟妙惟肖。这不是广撒网的勒索软件生意,而是一场精心策划的渗透。

第一层伪装:把木马包装成"杀毒软件"

攻击链条的起点是LucidPan——一个被Talos研究员点名的投放器。它的图标、应用名称、甚至数字签名都照搬趋势科技的产品,受害者看到的界面和正版安全软件几乎无异。

这种"借壳上市"的手法在APT攻击里不算新鲜,但UT组织的细节处理相当老练。LucidPan会同时释放一份真正的政府公文作为烟雾弹,让用户以为自己在安装防护程序的同时,顺手打开了工作文件。恶意代码的执行被拆分成多个步骤,每一步都踩着Windows系统的正常行为做掩护。

具体来说,LucidPan利用的是DLL搜索顺序劫持(DLL Search Order Hijacking)。它把一个名为DismCore.dll的恶意文件,塞进Windows部署映像服务和管理(DISM)框架的目录里,旁边放着合法的index.exe。用户点击伪装成快捷方式的LNK文件时,index.exe会"自然"加载这个被调包的DLL——系统层面的信任链没有被破坏,杀毒软件也很难嗅出异常。

持久化机制同样走"合法程序代理"路线:一个指向msedge.exe的快捷方式被放进Windows启动文件夹,伪装成Edge浏览器的正常启动。实际上它触发的是藏在%APPDATA%目录里的后续载荷,DismCore.dll本身也被重命名和隐藏,混在一堆系统临时文件里。

第二层架构:用Lua和Rust搭建"俄罗斯套娃"

第二层架构:用Lua和Rust搭建"俄罗斯套娃"

LucidRook的核心设计暴露了这个组织的技术取向。它不是一个单一的恶意程序,而是一个"分阶段加载器"(Stager)——本身只负责搭建环境,真正的功能模块按需下载执行。

这个加载器的内部结构相当少见:内嵌一个完整的Lua解释器,配合Rust语言编译的库,最终封装成Windows DLL格式。Lua脚本语言的轻量特性让它适合快速迭代攻击逻辑,Rust则提供了内存安全和反编译难度,两者组合在APT工具里并不常见。

Talos团队还发现了LucidRook的"侦察兵"兄弟:LucidNight。这个配套工具专门负责收集目标环境信息——操作系统版本、安装软件、网络配置——然后把数据回传。它的存在说明UT组织采用"先侦察、后下手"的分层策略:用LucidNight筛选高价值目标,再决定是否投放完整的LucidRook后门。

这种工具链的模块化设计,让防御方很难通过单一特征做阻断。每个组件看起来都平平无奇,组合起来却能完成权限维持、数据窃取、横向移动的全套操作。

第三层意图:为什么偏偏是台湾的高校和NGO?

Cisco Talos给这次活动的定性是"中等置信度的定向入侵",而非 opportunistic(机会主义)的广撒网攻击。几个细节支撑这个判断:繁体中文的精准本地化、政府公文的社会工程学设计、以及针对特定机构类型的持续投放。

高校和NGO的共同点是——网络防御预算有限,但持有的数据价值不低。学术机构的科研资料、涉台研究项目、国际交流记录;NGO的捐赠者数据库、活动参与者信息、内部通讯——这些都不是能直接变现的"数字资产",却对特定情报需求方有长期价值。

UT组织的身份尚未被公开归因到具体国家背景,但攻击手法显示出典型的APT特征:耐心、资源充足、技术栈混搭。Lua+Rust的组合在东亚某些地区的工具开发传统里有迹可循,不过Talos报告没有给出进一步指向。

值得注意的一个技术细节是密码保护压缩包的使用。这既是规避邮件网关检测的常见手段,也制造了一种"专属感"——受害者需要手动输入密码才能解压,这个小小的交互步骤反而增强了钓鱼的可信度。攻击者甚至懒得用复杂的密码,简单的数字组合就足够让自动化沙箱束手无策。

防御这类攻击的难点在于"信任链的完整性"被系统性利用。从政府公文的视觉信任,到知名安全软件的品牌信任,再到Windows系统组件的行为信任——每一层都是真实的,只是被拼接成了虚假的场景。终端用户很难在点击瞬间识别这种嵌套欺骗,依赖传统特征码的杀毒软件同样会在多层加载中丢失追踪。

Talos建议的检测点包括监控异常的DISM框架调用、启动文件夹中指向浏览器的可疑LNK文件、以及%APPDATA%目录下非常规的DLL活动。但对于缺乏专业安全运营团队的高校和NGO来说,这些技术措施的实施成本并不低。

一个尚未解答的问题是:LucidRook的完整载荷究竟包含哪些功能模块?Talos目前只捕获了加载器阶段,后续的分阶段下载内容因目标环境限制未能完整还原。这意味着实际受害系统中可能还潜伏着更深层的组件,而它们的设计目的——数据窃取、监控、还是作为跳板——仍然笼罩在Lua解释器的黑箱里。