Formbook这个样本家族,在钓鱼邮件攻击里算是老面孔了,但从我近几年处置的几起事件来看,它从来没打算退出舞台,反而一直在悄悄换打法。过去我们对付它的思路,基本是抓样本、提哈希、封域名,一套组合拳打完就觉得稳了。直到有一次处置中发现,同一拨攻击者在一个星期内连续投了三轮不同载荷,每轮都绕过了前一轮刚布下的检测规则,我才意识到,Formbook早已不是单一波次投放那么简单了,它已经演变成一套有节奏、有分工的多波次攻击体系。
这篇内容,我就围绕Formbook多波次钓鱼攻击的技术演化展开聊聊,重点说清楚攻击者为什么这么打、我们观测到的载荷与基础设施有哪些变化,以及防御侧应该从哪些维度去构建对策。无论你是做邮件安全、终端EDR还是威胁狩猎,这篇文章里提到的分析思路和检测建议,都值得直接抄进自己的运营工作里。
1. 先搞清楚Formbook是什么,以及它为什么能成为钓鱼攻击的常客
1.1 从“表单抓取”到全能窃密者的进化路径
Formbook这个名字,最早确实是奔着“表单抓取”去的。早期的样本功能相对单一,主要是在受害者访问网页提交表单时,从浏览器进程内存里把填写的用户名、密码、卡号等信息捞出来。这里面的技术本质是通过注入浏览器进程、挂钩关键API函数来拦截明文数据,在那个Web应用还没有全面普及HTTPS的年代,这种攻击方式非常有效。
但Formbook的厉害之处在于,它没有止步于表单抓取这一个功能点,而是沿着窃密木马的能力谱系不断扩张。如今的Formbook样本普遍具备键盘记录、剪贴板捕获、屏幕截图、Cookie与浏览器保存密码窃取、文件下载与执行、反向Shell等能力。说得直白一点,它已经从单一功能的工具,进化成了攻击者手里的“瑞士军刀”,只要把样本投递到目标机器上,后续要干什么都方便。
从技术演化视角看,这个扩张背后是有逻辑的。攻击者很清楚,单纯偷表单数据的利用场景太窄,而且随着HTTPS普及,中间人式的抓取难度变大。于是他们开始向终端的信任边界要数据——浏览器自动填充的密码库、用户剪贴板里临时复制的敏感信息、屏幕截图捕捉到的动态口令,这些都是更稳定、更可靠的数据来源。我处置过的不少事件里,Formbook回传的数据中,剪贴板内容的价值甚至比表单数据更高,很多运维人员习惯把服务器密码、API密钥临时复制到剪贴板里,结果一不小心中招就被连锅端走。
1.2 它为什么能在钓鱼攻击中反复出现
这里要说一个很多安全运营人员都会忽略的点:Formbook之所以能在高级威胁层出不穷的今天还频繁出现在钓鱼邮件里,核心原因有两个——代码成熟度和商业模式的完善。
代码成熟度体现在稳定性上。Formbook的功能模块经过多年迭代,对Windows各版本操作系统的兼容性做得相当到位,钩子注入、进程注入等关键步骤在大多数环境下都能稳定运行。相比那些一次性的定制木马,Formbook的掉线率低、回传成功率高,攻击者不需要投入太多精力去维护基础设施,投放后等着收数据就行。
同时,Formbook的分发模式也已经完全商业化。攻击者并不需要自己改造样本,在地下渠道里,构建服务、破解服务、分发订阅都是现成的,缴纳费用就能拿到定制版本,甚至可以选择载荷形态和加密方式。这种低门槛的分发模式,导致我们看到的Formbook样本变体极多,传统基于文件哈希的黑名单机制在它面前基本失效。这也是我为什么一直强调,对付Formbook不能只靠特征库,必须从行为逻辑和攻击模式上去做检测。
2. 多波次攻击不是“多发几封邮件”,而是一套战术体系
2.1 什么是多波次攻击,它的节奏如何设计
很多团队对多波次的理解还停留在“攻击者隔几天再发一轮邮件”这个层面,这种理解过于简单。真正意义上的多波次攻击,每一波次的角色定位、载荷形态、投递通道可能完全不同,它们之间是协同配合的关系,而不是简单的重复。
我处置过的一个典型流程是这样的:第一波邮件通常带有正文诱导语和链接,域名的首次解析时间只在攻击开始前几个小时,邮件网关首次见到这个域名,信誉库没有数据,放行概率很高。这一波的目的主要是探路,测试邮件网关的拦截策略、验证目标邮箱的有效性,顺便收割一轮第一波就上钩的“低垂果实”。隔一到两天后,第二波邮件换了一种话术,附件从链接变成了带有宏的文档,载荷也从第一波的单一可执行文件换成了经过重新打包的变体,哈希完全不同,前一波建立的哈希黑名单直接失效。等到第三波,攻击者可能不再走附件和链接的常规路线,而是利用压缩包嵌套加密码备注的方式,专门针对那些人工审核邮件的组织。
这个过程中,每一波次之间并不是随机组合的,而是在根据前面的投放结果动态调整。比如发现第一波链接点击率低,第二波就会强化话术的紧迫感,或者改用更贴近业务场景的附件名称。发现某个文件被沙箱检出,后续波次就会调整打包方式,增大沙箱检测的难度。这种反馈闭环,让防御方的每一次规则调整都显得滞后半拍。
2.2 多波次打法的三个核心目的
攻击者花这么大力气去设计多波次,根本上是为了解决三个问题。
第一个问题是提高命中率。单波次的钓鱼攻击,即便话术设计得再精妙,也可能因为收件人状态、终端环境、网关策略等原因被过滤掉。分成多个波次,每次用不同的载荷和通道,相当于在海里撒多张网,总能网到一些鱼。从攻防博弈的角度看,这是典型的“概率优化”——每波次单独算的成功率可能只有百分之几,但累积到一个投放周期内,整体成功率会显著抬升。
第二个问题是规避检测规则的时效性。安全运营团队在发现一波攻击后,通常会提取文件哈希、域名、邮件主题等IOC(失陷指标),并第一时间下发到网关和终端。但攻击者只要在新一波次中更换哈希、更换域名、修改邮件模板,前一轮积累的IOC就会变成废纸。这种“以时间换空间”的做法,直接攻击了防御方的响应速度短板。
第三个问题是测试防御盲区。多波次攻击天然带有“分层试探”的属性,第一波用链接、第二波用宏文档、第三波用ISO镜像挂载,本质上是在摸清目标组织的防御纵深。一旦某一个通道在某一波次中被放行,后续攻击者就会放大对这一通道的利用强度。从实际观测来看,很多长期遭受钓鱼攻击的组织,最终缺口往往集中在某一种特定载荷形态上,这就是被攻击者反复试探后找到的突破口。
2.3 多波次攻击的周期窗口与易被忽视的特征
值得注意的是,多波次攻击的时间节奏与正常业务流量之间存在相关性,这一点在实践中经常被忽视。攻击者会有意避开目标组织的非工作时间,把邮件发送时间设置在员工开始集中查看邮件的时段,比如周一到周三的上午。这样做的好处是,在邮件到达和人工上报之间形成尽可能短的时间差,减少被处置的时间窗口。
另外,多波次攻击的邮件在标题、发件人显示名、正文结构上往往存在隐蔽的关联。比如发件人域名虽然每一轮都不同,但命名习惯相似,都是几个随机字母组合成看似合理的单词。正文里的诱导链接虽然指向不同域名,但URL路径结构经常复用一套模板。这些特征单个看很散,但组合起来就是攻击者基础设施指纹的一部分,也是我们做关联分析的重要切入点。
3. 技术演化的几个可见方向
3.1 载荷形态的迭代:从直接附件到容器化绕检
早期Formbook钓鱼攻击最常用的载荷是直接附一个可执行文件(EXE)在邮件里,文件名往往伪装成发票、订单、简历。这种打法在十年前可能好使,但现在绝大多数邮件网关都会拦截可执行文件附件,直接投递EXE的命中率已经很低。
于是我们观察到载荷形态发生了明显的容器化趋势。攻击者先把可执行文件或脚本打包进ISO、IMG这种光盘镜像文件里,因为这类文件不在常规的高危附件类型清单中,邮件网关默认放行。收件人下载后在Windows资源管理器里双击挂载,就能看到里面的文件,再双击运行就中招了。这个过程利用了Windows系统天生支持挂载ISO的特性,以及邮件网关对镜像类附件认知不足的盲区。
另一个常见的形态是LNK文件加DLL侧载。邮件附件伪装成快捷方式,指向一个诱饵文档,实际执行时却加载同目录下的恶意DLL完成注入。这种手法在沙箱里很容易被漏掉,因为很多自动化沙箱不会模拟真实的双击LNK行为,也不会跟进后续的侧载流程。还有一种更阴的是用OneNote等笔记文档内嵌附件,诱导用户点击嵌入的图标或文件,这类载荷利用了用户对笔记类文档的低警惕心理。
从防御角度看,光是跟着攻击者换附件类型清单是永远慢一拍的。我们要做的,是把邮件附件类型、附件内文件结构、打开附件后的进程行为串成一条完整链路,任何一个环节出现异常,都应该触发告警,而不是等最终恶意进程起来了才发现。
3.2 投递过程的多样化:URL跳转与基础设施轮换
除了直接附件,URL型投递在Formbook的攻击活动中也非常常见。但这几年URL投递的方式也完成了迭代,从早期短链接直达恶意站点,变成了多层跳转的参数化链路。我观测到一个典型的链路是:邮件内嵌的URL先跳转到某个被入侵的合法站点,由站点上的临时脚本做一次302跳转,再经过一个泛解析域名解析到托管恶意文件的存储桶。整个链路经过两到三次跳转,每跳转一次,市面上的URL信誉库就多一次跟丢的概率。
域名和IP轮换的节奏也在加快。以往我们还经常能看到一个恶意域名存活一两周的情况,现在Formbook的多波次攻击里,很多域名的存活时间只有几十个小时,最长不超过三天。域名的注册信息、DNS解析记录、HTTP响应内容全部做了伪装,有些甚至直接使用合法域名服务商的子域名或免费服务作为落地页,进一步模糊了信誉判断。
在这个环节,我们值得关注的是基础设施的复用与隔绝之间的平衡。虽然每个波次的域名都不同,但经过DNS解析定位后,不少域名最终指向的C2服务器IP段是重叠的,或者使用了同一家CDN服务商的配置。攻击者试图隔绝波次之间的关联,但在运营层面上,我们依然可以通过ASN归属、证书指纹、TLS配置等维度把散落的IOC关联回同一个攻击组织。这也是多波次并不是无懈可击的关键——基础设施层面的隐蔽做得好,但并非完美。
3.3 C2通信的隐蔽化调整
Formbook的C2通信在过往版本中以HTTP明文为主,流量特征相对明显,安全设备基于域名和URL路径就能拦截不少。但近些年的样本中,C2通信普遍使用了HTTPS加密,部分变体还会把收集到的数据先做一次自定义加密再通过HTTP POST传出。加密通信让传统的内容检测直接失效,NTA设备如果没有配置解密镜像,基本只能看到“加密流量”这个级别的事件,完全无法还原内部数据。
此外,C2域名的生成也开始采用类DGAs(域名生成算法)的方式。样本内置种子和生成规则,定期计算出新的C2域名去连接,播报地址通过图像或注释形式藏在某个看似正常的博客评论、社交平台帖子里。这种“活饵”模式让安全运营团队很难通过一次性封禁域名来切断信道,因为你封掉一批域名,样本内置的规则又能生成下一批。
从防御视角看,针对C2通信的检测重点应该从域名特征转向行为特征。终端侧关注进程是否在短时间内尝试连接大量不同域名,或者连接行为是否符合既定的周期性规律。网络侧关注流量中的JA3指纹、证书特征等无需解密就能提取的元数据,这类指标的对抗成本高,攻击者改起来不像换域名那样轻巧。
3.4 免杀与持续化的技术调整
Formbook样本在免杀层面的调整也相当频繁。过去我们提取一个样本就能在VT上看到几十款引擎的检出,而现在的样本普遍采用多层加密压缩、代码混淆、动态解密等手段,VT检出率大幅降低。有些变体在沙箱检测方面下了不少功夫,会检测是否处于虚拟化环境、是否有调试器附加、鼠标行为是否由自动化驱动,一旦判定为分析环境就直接退出。这些手段不算新颖,但在Formbook这种大规模投放场景里性价比极高,明显提升了样本在自动化设备上的存活率。
持续化方面,Formbook的注册表项、计划任务、启动文件夹等持久化手段属于常规操作,但最近的一些变体开始使用模板注入和进程挖空来提升隐蔽性。恶意代码先注入到一个正常签名进程里,再借助该进程的合法身份做后续操作,有效降低了EDR基于进程名的可疑判定命中率。此外,部分样本还会在回传数据后自毁,删除自身文件和痕迹,进一步收窄取证窗口。
4. 防御对策:从单点封堵到纵深联动
4.1 邮件入口的检测策略调整
邮件安全网关是对抗钓鱼攻击的第一道防线,但传统网关主要在“已知恶意”这个层面发力,对多波次攻击里的未知载荷识别能力有限。我建议在邮件入口做三层策略调整。
第一层,附件类型的策略性收缩。与其维护一份不断更新且永远追不上的恶意附件类型黑名单,不如直接收窄邮件附件的允许范围。企业内部正常业务往来的文档格式相对固定,对可执行文件、脚本文件、镜像文件、压缩包内嵌可疑文件等类型做阻断或强制走审批通道,能在源头砍掉大量风险入口。
第二层,URL信誉检查的时效性强化。邮件内嵌链接的实时扫描很关键,网关需要在邮件到达的当下就解析出最终跳转地址,并查证目标页面的信誉。但我还要提醒一点,不要过度依赖外部信誉库,攻击者换域名的速度远快于信誉库的更新速度。建议在网关侧增加“新域名首访”的独立风险标签,凡是解析时间在24小时内、且邮件来自外部陌生发件人的组合,直接提高处理优先级。
第三层,邮件头与发件人身份的交叉验证。多波次攻击经常利用显示名伪造或相似域名仿冒来增加可信度。我们可以在网关上配置SPF、DKIM、DMARC的严格校验,并建立内部关键部门常用发件人与外部域名的白名单映射关系。这条策略不能完全拦住攻击者,但能显著过滤掉低成本的批量仿冒,迫使攻击者投入更高成本去伪造身份。
需要注意的是,邮件网关的策略不能一直处于静态。多波次攻击的一个显著特征是波次之间会不断调整手法,每轮攻击结束后,运营人员都应及时把前一轮的载荷特征、URL基础设施、邮件模板等指标转化为下一阶段网关策略的输入,形成动态闭环。
4.2 终端防护的行为检测与响应逻辑
终端EDR在抵御Formbook多波次攻击中扮演的角色,应该从“查杀已知样本”转变为“识别异常行为链路”。Formbook的落地执行过程有比较明显的共同行为特征,比如Office进程调用PowerShell、进程从临时目录释放可执行文件、启动项变更、可疑的注册表写入、进程注入到签名进程等。这些行为单个看可能并不致命,但串在一起就构成了高风险链路。
我建议在EDR侧重点建立两类检测规则。第一类是进程链异常检测:正常的办公场景里,用户双击一个文档,进程链通常是文档应用自身,不会出现文档应用派生Cmd、再派生PowerShell、再释放二进制并执行的链条。捕获这个链条并在告警里带上父进程、命令行参数、文件路径等上下文信息,可以让分析人员快速判断是否为钓鱼投递。
第二类是注入与持久化行为检测:Formbook变体在注入正常进程和写入自启动项的环节存在一定的共性操作,比如通过CreateRemoteThread等API注入进程、写入Run注册表键、向启动文件夹投放链接文件。针对这些行为做重点监控,并配置自动隔离反应,能够有效降低样本在终端上的持久化成功率。
这里要特别强调一点:终端防护不能只看单个终端的孤立行为,需要把同一时间窗口内多台终端的告警做聚合分析。多波次钓鱼攻击往往在同一波次里对多个目标投递相同或相似的载荷,如果EDR平台上短时间内出现多条相似告警,即便单条告警的可信度不够高,也应当提升响应级别,这通常是攻击波次的早期信号。
4.3 样本分析与IOC提取的进阶思路
处置Formbook多波次攻击时,样本分析的目标不只是判断“恶意与否”,还要回答“这个样本与前面几波攻击是什么关系”。为了支撑这种关联性判断,分析人员在做静态和动态提取时,建议额外关注以下几类指标。
一是样本的打包器与混淆器指纹。即使每个波次的样本都经过了重新打包,但打包器使用习惯、混淆器的版本特征往往存在一致性,这些指纹能帮助我们把不同波次的样本关联到同一操作者。
二是C2通信协议的特征字段。Formbook的HTTP请求中,User-Agent格式、POST数据包的结构、加密算法的自定义标识等特征,在不同变体之间可能存在祖传复用。提取这类“基因级”指纹比单纯记域名和处理面积更有价值。
三是样本作者留下的配置信息。Formbook的配置信息常包含C2地址、加密密钥、任务类型等,把这些配置信息做交叉比对,可以形成攻击者基础设施的画像,为后续预判下一波次的投递方向提供依据。
在实际分析工作中,我建议团队维护一份覆盖以上维度的“攻击者基础设施档案”,每处置一波攻击就把新观测到的域名、IP、证书、样本指纹、通信特征都归档进去。这样持续迭代一段时间后,再看到新的钓鱼样本,就能快速判断这个攻击者是否以前来过,以及可能会怎么打。
4.4 安全运营中的威胁狩猎思路
多波次攻击给安全运营(尤其是SOC)带来的最大挑战是,单靠告警响应是忙不过来的。攻击者会在多个波次里不断调整手法,而很多手法在第一次出现时未必会产生告警。这就要求运营团队主动做威胁狩猎,在攻击者完成攻击链路之前发现异常痕迹。
针对Formbook多波次攻击的威胁狩猎,我建议围绕三个维度展开。时间维度上,对同一用户或同一部门在短时间内反复收到外部邮件、点击不同链接的行为做聚类分析,识别异常浏览行为与管理活动的对应关系。数据维度上,重点查邮件网关日志中附件类型、链接域名的新旧程度、目标用户的部门属性等字段,找出高风险邮件的聚集模式。终端维度上,利用EDR的终端搜索能力,批量查询一段时间内是否有PowerShell执行事件增加、临时目录文件大量生成、进程链异常等蛛丝马迹。
狩猎规则的建立不是一蹴而就的,需要结合历史事件的结论反复调优。我给自己团队定的规矩是,每处置完一轮攻击活动,狩猎规则至少要新增或更新一条,保证攻击者的新手法在下一轮出现时,我们有更大的概率提前探测到。
4.5 员工安全意识培训的改进方向
技术层面聊得再多,钓鱼攻击最终绕不开“人”这个环节。但传统的安全意识培训效果有限,主要原因在于培训内容与真实攻击场景脱节,员工学完之后依然无法识别新型钓鱼邮件。
针对Formbook多波次攻击的实际情况,培训内容应该做三方面的调整。第一,用真实攻击案例做教材。把处置过程中截取的真实钓鱼邮件脱敏后作为教学素材,讲清楚邮件里哪些细节是伪造的、为什么要诱导点击链接、附件打开后的异常行为是什么,让员工形成直观的辨识能力。第二,组织钓鱼演练时,不要只做单轮测试,而是模拟多波次的节奏,让员工体验攻击者反复尝试的过程,强化他们在连续诱导下的抵抗力。第三,建立清晰的报告与响应路径,让员工知道发现可疑邮件后该联系谁、该做什么操作、可以在多大程度上保留邮件作为溯源证据,避免员工因为害怕点错而隐瞒不报。
我见过不少团队员工安全意识并不低,但在真正遇到钓鱼邮件时,因为贪图“快速处理工作事务”而跳过验证步骤,最终被精心设计的紧急性话术打动,点了链接、输了密码。这种教训说明,安全意识培训的核心不在知识灌输,而在行为塑造,需要用贴近实战的方式反复锤炼员工的应激反应。
5. 一次模拟多波次攻击的复盘与对策验证
为了更直观地呈现多波次攻击的演化规律与防御对策的配合方式,我把自己处置过的多个真实事件融合成一个模拟案例,代号叫X行动。
第一波攻击发生在周一上午,邮件标题仿冒为业务系统中的异常登录告警,正文提供了一个链接,要求收件人立即验证账号信息。邮件网关检测到域名首次解析时间在几小时内,触发了我们配置的“新域名+外部发件人”风险标记,高层级告警直接推给了分析人员。顺着域名溯源,我们发现页面是一个仿冒登录页,且页面背后加载了一段跳转脚本。虽然没有实际投递Formbook载荷,但基础设施的注册模式与前几个月我们处置过的Formbook钓鱼行动高度相似,于是我们把该基础设施加入到动态监控列表里。
第二波攻击在周三到来,这次邮件带了一个ISO镜像附件。镜像文件通过了网关的附件类型放行策略,但在终端侧,EDR捕获到了脚手架进程加载后发现异常子进程连接外部的行为。EDR的进程链规则触发告警,自动化响应脚本隔离了该终端,提取样本后分析确认是Formbook变体,与前一波的C2基础设施存在通信关联。这一轮攻击的载荷虽然绕过了邮件网关,但没能在终端防护层达成目的。
第三波攻击在周五发起,这次没有走链接也没有走附件投递,而是向目标人员发送了一个看似正常的压缩包,压缩包内嵌LNK文件与诱饵PDF。邮件网关因为压缩包包含LNK文件,直接判定为高风险并阻止了投递,同时我们在邮件网关日志中发现同一时间段有多个类似邮件尝试投递,于是对发件人域名与附件指纹做了批量封禁。
复盘这次模拟行动的处置过程,我们用的每一层防护单独看都能找到被绕过的点,但组合起来形成了一个纵深防御体系。第一波邮件被网关标记、第二波被终端行为检测拦下、第三波被网关周期性封堵,攻击者的多波次节奏被打乱,无法形成有效命中。这也验证了一个核心思路:对付多波次攻击,单点防护做得再强都有缺口,只有让每一道防线都参与联动,才能把攻击者的成功率压到低位。
6. 常见问题与排查技巧实录
6.1 为什么文件哈希没变,但新一波攻击又复活了
有不少运营人员对这个问题感到困惑:明明我把上一轮攻击的样本哈希拉黑得很彻底,为什么隔了几天,又收到一封一模一样的附件,标识为正常,甚至能正常打开投递?
这里面涉及几个容易被忽视的细节。第一,攻击者可能在邮件格式包装上做了手脚,比如把同一个样本嵌进不同的压缩包结构,或者修改了压缩包的加密方式,导致邮件网关看到的文件哈希与终端落地的文件哈希并不一致。第二,有些网关的哈希检测只针对附件主体,而攻击者可以通过在附件里增加冗余文件、改变内部文件顺序等方式,生成新的打包哈希,从而绕过基于哈希的封禁。第三,要留意是否是本地终端的旧缓存覆盖了网关策略,尤其是那些通过个人网盘或内部共享中转的文件,往往会绕过邮件网关的检测直接落地。
排查这个问题,建议从邮件网关日志和终端落地文件两个维度同时入手,把网关看到的附件哈希与终端实际落地的文件哈希做交叉比对,找出差异的具体环节。同时,建立针对压缩包内部文件的解包分析机制,而不是只看外层文件哈希,压缩包内嵌文件的哈希与全文件路径的哈希都应该纳入检测范围。
6.2 为什么同一个URL之前放行、后来拦截
URL信誉的时效性让很多运营团队头疼,同一个URL在上午还是正常的,下午就被标记为恶意,这种动态变化并不少见。背后的原因主要有两个方向。一个方向是URL本身对应的站点受到了入侵,攻击者在站点上挂载了恶意代码,等到信誉系统发现时已经出现了延迟;另一个方向是攻击者故意用“活饵”策略,先让URL指向无害页面,等信誉检测通过后,再在特定条件下切换到恶意内容,比如按用户区域、按访问来源、按特定的时间窗口返回不同内容。
针对这个问题,最有效的排查手段是复现访问并使用多个视角的检测,不只靠单一信誉库的结果。我建议运营团队自建一个轻量级的URL内容变更监测工具,对邮件中提取到的URL做定时访问,记录响应内容、页面标题、最终落地域名等快照,一旦发现内容发生变更就及时告警。邮件网关的URL检测只能看到邮件到达那一刻的页面状态,而这种持续监测才能捕获“变脸”式的恶意URL。
6.3 沙箱检测结果可靠吗,为什样本在沙箱里“正常”
Formbook这类窃密木马在沙箱里显示“正常行为”的情况非常常见,尤其是在多波次攻击中,攻击者会针对性调整样本的检测规避逻辑。样本可能检测到自身运行环境的虚拟化特征,比如特定的注册表、驱动、进程列表等,然后直接退出;也可能设置了长时间延迟,在自动化沙箱等待结束时才开始执行恶意行为;还有可能把恶意行为拆分成多个阶段,每个阶段单独看都很正常,只有组合起来才构成攻击。
提高沙箱分析的可靠性,建议从三个方面入手。一是丰富沙箱的环境指纹伪装能力,让分析环境在样本面前看起来更像真实用户终端。二是将沙箱运行时间从常规的几十秒延长到几分钟甚至更长,并引入人工交互模拟机制,比如模拟鼠标移动、键盘输入等。三是把沙箱行为报告与终端的EDR事件关联起来分析,有些样本在沙箱里不发作,但在真实终端上会触发EDR的行为告警,两边的数据结合起来才能拼出完整的攻击链。
6.4 如何设置钓鱼事件关联分析的时间窗口
多波次攻击的每一波在时间上可能间隔数小时到数天,如果关联分析的时间窗口设置得太短,可能会把同一轮攻击的不同波次误判为独立事件,错过识别攻击者整体节奏的机会;如果设置得太长,又会让分析人员面对大量无关告警,降低研判效率。
我个人的实践积累是,针对钓鱼类事件的关联窗口设置为72小时比较合适。这个时间窗口覆盖了绝大多数多波次攻击相邻波次之间的间隔,同时也不会把相隔太远的无关事件强行串联在一起。在具体分析时,可以把同一发件人域名、同一附件指纹、同一URL基础设施在窗口内出现的所有事件聚合为一个“攻击波次组”,把每一波次的载荷特征、投递时间、受影响范围提取出来,形成该攻击组织的活动画像。基于这种画像,后续投入响应资源时就有据可依,不会在单点上浪费过多精力。
写在处置之后
对付Formbook多波次钓鱼攻击,我体会最深的一点是,不要把精力花在“追着攻击者改特征”上,而要花在“理解攻击者的打法逻辑”上。单波次的样本、域名、哈希都是会快速变化的表象,但攻击者采用的探测-投放-调整-再投放的循环逻辑是相对稳定的,只要我们把这个循环的各个环节都布设了检测点和响应预案,攻击者的成功概率就会被大幅压缩。
操作层面的建议再强调一遍:邮件网关要做附件类型策略与URL动态信誉的组合控制,终端EDR要把检测重心从“查杀已知文件”调整到“识别异常行为链路”,SOC要把威胁狩猎的视角从“单封邮件”扩展到“跨越72小时的活动集群”。在这个基础上,再配合定期的样本交叉分析与基础设施画像归档,Formbook这个老对手虽然还在不断进化,但我们已经有了体系化的应对底气。