近期,网络安全领域出现了一起针对跨国SaaS服务商的复杂钓鱼攻击。攻击者精心构建了一个五层嵌套的无文件恶意软件加载器,旨在绕过Microsoft AMSI(反恶意软件扫描接口)及各类静态检测手段。从我们的应急响应经验来看,这种高度定制化的加载技术,已成为当前高级威胁组织绕过终端防护的核心手段。
攻击链深度拆解
该攻击以“采购订单”为诱饵,通过TAR压缩包诱导用户执行其中的恶意JScript脚本。整个攻击过程通过五个层级的逻辑解耦与混淆,实现了最终Payload的内存驻留:
第一层:环境预埋。利用WScript.Shell.Environment创建进程句柄,为后续各阶段的代码暂存提供环境空间。
第二层:反向偏移混淆。攻击者通过偏移加密隐藏PowerShell启动命令,最终通过conhost.exe启动无头模式的PowerShell实例,掩盖执行迹象。
第三层:循环密钥解密。利用特定的循环密钥对Base64编码的加载器进行解密,并将关键变量存储在系统环境变量中。这一环节是很多企业容易忽视的,攻击者通过将代码碎片化存入环境变量,成功规避了基于文件路径的常规监测。
第四层:碎片化重组。这是该恶意软件最核心的“去特征化”手段。攻击者将Payload拆分为数百个环境变量,在运行时动态重组并调用[scriptblock]::Create()执行。通过字符串拆分(如'Lo'+'ad')等技巧,极大地削弱了AMSI的检测能力。
第五层:字符映射加载。最终的.NET Payload并未以常见的Base64或Hex形式存在,而是伪装成CJK(中日韩统一表意文字)字符。加载器通过减去特定数值进行还原,并利用反射机制(Reflection.Assembly::Load)直接在内存中触发执行,整个过程不产生任何磁盘落地文件。
技术洞察与威胁评估
从溯源分析来看,虽然最终载荷被初步判定与Agent Tesla有关,但其加载器本身的工程复杂性表明,这可能出自成熟的威胁组织,或是一个功能强大的“加密即服务”平台。
类似攻击近年来明显增加,其核心特征在于:
- 极高的内存驻留率:通过反射式加载,彻底告别了传统文件扫描。
- 异常的环境变量利用:大量随机命名的环境变量是该攻击的典型行为指纹。
- 动态代码重组:通过脚本块动态构建逻辑,使得基于静态特征的防护策略几乎失效。
Solar 应急响应建议
针对此类无文件攻击,单纯依赖杀毒软件的特征库已不足够。我们建议企业从以下几个维度加强防御:
监控关键行为链:重点捕捉 wscript.exe 启动 conhost.exe 或 powershell.exe 的异常父子进程关系。 强化脚本安全审查:关注 PowerShell 中 [scriptblock]::Create() 的调用以及对环境变量的频繁读写操作。 提升内存检测能力:对于调用反射加载(Reflective Loading)的行为,应作为高危告警实时处置。 关注 PowerShell 日志:开启并收集 Script Block Logging 和 Transcription 日志,这在溯源分析中至关重要。
在当前防御环境下,企业应将“异常脚本执行”与“内存加载行为”提升至与“木马文件落地”同等级别的威胁响应标准。
如果您想了解勒索病毒的最新发展趋势,或在实际业务中遇到类似安全事件,欢迎关注“Solar应急响应团队”。
全国热线:400-613-6816 官网:www.solarsecurity.cn / www.sierting.com