
VEIL#DROP 通过 Blogger 投递 PureLogs 窃密器
Securonix 披露一条名为 VEIL#DROP 的多阶段恶意软件投递链,借助社会工程和 Blogger 页面分发 PureLogs 信息窃取器。攻击可能通过鱼叉式钓鱼或 drive-by compromise 进入;处置建议包括关注可疑 JavaScript、PowerShell 和 Microsoft 签名 LOLBin 行为。
网络安全研究人员指出,一条新的多阶段恶意软件投递攻击链正在利用社会工程和 Blogger 页面分发名为 PureLogs 的信息窃取器。
Securonix 将该活动命名为 VEIL#DROP。研究人员怀疑,初始载荷要么通过鱼叉式钓鱼分发,要么通过 drive-by compromise 分发;后者发生在毫无防备的用户访问了攻击者控制下的网站时,无论该网站是否合法。
研究人员 Akshay Gaikwad、Shikha Sangwan 和 Aaron Beardslee 在与 The Hacker News 分享的报告中表示:“感染链始于一个伪装得极具迷惑性的 JavaScript 文件,它冒充文档(例如 transcript.pdf.js),通过 Windows Script Host 执行,并在启用 execution policy bypasses 的情况下启动 PowerShell。”
从整体上看,这个 PowerShell 脚本负责从 Blogger(“htlwub00klocate.blogspot[.]com”)获取下一阶段载荷,攻击者借此滥用 Google 受信任的基础设施作为 stager,从而绕过基于信誉的防御,并与正常网页活动混杂在一起。
下载的 PowerShell 载荷充当一个通道,加载类似 Google 这样的正常网页,制造出 PDF 文档被打开的印象,而感染流程则在后台静默进行,最终部署 PureLogs Stealer。PureLogs Stealer 是一款基于 .NET 的信息窃取器,已知会从受感染主机中收集大量敏感数据。
该 PowerShell loader 还会尝试确保后续 PowerShell 命令能够不受限制地执行,终止诸如 “wscript.exe” 等特定进程以尽量减少取证痕迹,删除 “transcript.pdf.js” 以清除执行证据,并解密内嵌载荷。
Securonix 解释说:“在成功进行 XOR 解密后,loader 转入 VEIL#DROP 框架中最具规避性的组件之一:动态阶段生成与运行时变形。与使用硬编码 URL 或可预测执行模式等静态指标不同,恶意软件在执行期间动态构建下一阶段载荷位置。”
其方式是在每次执行时,通过在 URL 字符串中插入随机数量的正斜杠(“/”),为每次执行构建一个独特的 blogspot[.]com URL,以绕过静态 URL 特征、基于指标的封锁以及基于 URL 的过滤机制。
此外,解码后的脚本还会在运行时通过将脚本中的占位值替换为随机生成的字符串和数值来实现变形和多态性。这种可变性旨在绕过脚本特征和文件哈希,从而阻止可靠检测。
重建后的脚本最终会完全在内存中执行,不会在磁盘上留下任何痕迹。该组件充当一个 loader,负责解码并运行核心恶意组件,而核心组件本身只是一个 .NET assembly,并通过一种称为 reflective code loading 的技术启动。
如果安全控制和其他环境限制阻止其直接从内存中执行恢复出的 .NET assemblies,loader 还内置了一种备用执行方法,依赖 Microsoft 签名二进制文件,例如 “regsvcs.exe”、“installutil.exe”、“msbuild.exe” 和 “aspnet_compiler.exe”,以不引人注意的方式实现相同目标。
由于这些二进制文件是受信任的、由 Microsoft 签名且系统中通常已存在,living-off-the-land(LotL)方法使攻击者能够让其活动看起来合法,并悄悄规避监测。
研究人员指出:“loader 最值得注意的一点是,它并不依赖任何单一的 LOLBin。相反,执行遵循级联模型,逐一尝试每种方法,直到某一种成功。”
信息窃取器感染的影响通常不会止步于最初被攻陷的终端,因为被收集的数据可作为跳板,帮助攻击者更深入地渗透目标环境、建立持久化、执行横向移动,甚至突破其云基础设施。
Securonix 表示:“受感染网站、多扩展名伪装、受信任的云服务、XOR 混淆载荷、reflective .NET loading、fileless execution 和 LOLBIN 滥用的组合,表明攻击者有意规避传统杀毒软件、减少取证痕迹,并在整个感染生命周期中维持操作隐蔽性。”