
摘要:
近年来,针对在线旅游服务平台的网络钓鱼活动呈现出高度专业化与社会工程化趋势。2024年末至2025年初,安全研究人员发现一场大规模钓鱼攻击活动利用伪造的Booking.com电子邮件,通过一种名为“ClickFix”的新型交互式诱导机制,成功绕过传统邮件安全检测体系,对全球酒店从业人员及旅行用户实施精准打击。本文系统剖析该攻击的技术架构、传播路径、恶意载荷特征及其社会工程策略,重点解析ClickFix机制如何通过伪装为CAPTCHA验证流程诱导用户主动执行恶意脚本。结合实际样本逆向分析,本文还原了从邮件诱饵到远程访问木马(RAT)部署的完整攻击链,并提出多层次防御框架,涵盖终端行为监控、剪贴板内容审计、User-Agent感知过滤及员工安全意识强化等维度。实验部分展示了基于Windows事件日志与PowerShell脚本行为特征的检测规则原型,并通过模拟攻击验证其有效性。研究结果表明,此类攻击的成功依赖于对用户操作习惯的深度利用,而非单纯技术漏洞,因此需构建“人—机协同”的纵深防御体系。
关键词:网络钓鱼;ClickFix;Booking.com;远程访问木马;社会工程;Windows脚本执行;剪贴板劫持
一、引言
在线旅游平台因其高频交易、敏感数据集中及用户信任度高等特点,长期成为网络犯罪分子的重点目标。Booking.com作为全球最大的住宿预订服务提供商之一,其品牌认知度极高,自然成为钓鱼攻击的理想伪装对象。传统钓鱼邮件多采用附件携带恶意文档或直接嵌入跳转链接至伪造登录页的方式,但随着邮件网关与浏览器安全机制的持续升级,此类手段的检出率显著提高。攻击者遂转向更为隐蔽且依赖用户主动参与的攻击范式。
2024年11月,Cofense Intelligence首次披露一场以Booking.com为幌子的大规模钓鱼活动,其独特之处在于引入了名为“ClickFix”的交互式诱导机制。该机制摒弃了传统的文件下载模式,转而引导用户在Windows系统中手动执行一段看似无害的命令行脚本,从而绕过大多数基于静态特征或沙箱行为的检测系统。据报告,该活动在2025年3月达到高峰,占同期同类攻击总量的47%,主要受害者集中于酒店前台、预订协调员等一线工作人员。
本文旨在对该攻击进行系统性技术解构。区别于现有文献多聚焦于钓鱼邮件内容识别或URL信誉评估,本文深入剖析ClickFix机制的实现逻辑、脚本构造技巧及其与操作系统交互的细节,并在此基础上提出针对性防御策略。全文结构如下:第二部分详述攻击流程与技术组件;第三部分分析恶意载荷类型与功能;第四部分探讨攻击的社会工程设计;第五部分提出检测与防御方案并给出代码示例;第六部分通过实验验证方案有效性;第七部分总结全文并指出未来研究方向。

二、攻击流程与技术架构
该钓鱼活动的整体攻击链可分为五个阶段:邮件投递、用户诱导、脚本交付、本地执行与远程控制。各阶段紧密衔接,形成闭环。
2.1 邮件投递与诱饵设计
攻击者发送的邮件主题通常包含“紧急”“24小时内回复”“客人投诉”“预订异常”等关键词,例如:“Urgent: Guest Complaint Requires Immediate Action – Booking #B123456789”。邮件正文模仿Booking.com官方模板,包含公司Logo、标准页脚及客服联系方式(均为伪造)。关键元素是一条嵌入式超链接,文本显示为“Verify Your Account”或“Resolve Issue Now”,实际指向一个由攻击者控制的钓鱼网站。
值得注意的是,部分变种邮件甚至模仿GDPR合规弹窗,在邮件正文中嵌入“Accept Cookies”按钮,点击后同样跳转至恶意页面。这种设计利用了用户对合规界面的无条件信任,进一步降低警惕性。
2.2 ClickFix机制详解
用户点击链接后,被重定向至一个高度仿真的CAPTCHA验证页面(图1示意)。页面外观模仿Cloudflare或Google reCAPTCHA,但实际功能完全不同。页面加载时,JavaScript代码自动将一段Base64编码的PowerShell命令写入用户剪贴板。随后,页面提示用户:“To verify you are not a robot, please complete the following steps on your Windows computer:”
Press Win + R to open the Run dialog.
Type ‘powershell’ and press Enter.
Paste the code below and press Enter.
下方显示一串看似随机的字符,实则为恶意脚本的末尾部分(如“...XYZ123”),用以掩盖其真实用途。用户若按指示操作,即在本地PowerShell环境中执行该命令。
该机制的核心在于三点:
(1)剪贴板劫持:利用现代浏览器对navigator.clipboard.writeText() API的支持,在用户无感知情况下注入恶意指令;
(2)用户主动执行:绕过所有基于自动下载或宏执行的检测规则;
(3)平台筛选:页面通过读取HTTP请求头中的User-Agent字段,仅对Windows系统返回完整诱导流程,对macOS、Linux或移动设备则显示“Service unavailable”错误,确保攻击精准性。
2.3 脚本构造与执行
典型恶意脚本如下所示(已脱敏处理):
$e = 'H4sIAAAAAAAE/...[长段Base64字符串]...';
$bytes = [System.Convert]::FromBase64String($e);
$decompressed = [System.IO.Compression.GzipStream]::new([System.IO.MemoryStream]::new($bytes), [System.IO.Compression.CompressionMode]::Decompress);
$reader = New-Object System.IO.StreamReader($decompressed);
$script = $reader.ReadToEnd();
Invoke-Expression $script;
该脚本首先解码一段Gzip压缩的Base64数据,再动态执行解压后的内容。此手法可有效规避基于字符串签名的EDR(端点检测与响应)产品。解压后的二级载荷通常为更复杂的PowerShell或VBS脚本,负责下载最终恶意程序。
三、恶意载荷分析
根据Cofense Intelligence的统计,该活动中53%的载荷为XWorm RAT,其余包括PureLogs信息窃取器、DanaBot银行木马等。以下以XWorm为例说明其功能。
3.1 XWorm RAT功能特征
XWorm是一款开源远程访问木马,具备以下能力:
屏幕截图与键盘记录
文件管理(上传/下载/删除)
进程枚举与终止
摄像头与麦克风控制
通过Telegram Bot接收C2指令
其通信采用HTTP协议,C2服务器地址硬编码于二进制中或通过动态DNS解析获取。为逃避检测,XWorm常使用合法云服务(如Pastebin、GitHub Gist)作为配置分发点。
3.2 持久化与横向移动
一旦植入,恶意程序通常通过以下方式实现持久化:
创建计划任务(schtasks /create)
写入注册表Run键(HKCU\Software\Microsoft\Windows\CurrentVersion\Run)
替换合法DLL(DLL侧载)
在酒店内部网络中,攻击者可能利用窃取的凭证尝试访问PMS(Property Management System)或POS系统,实现横向移动,扩大攻击面。
四、社会工程策略剖析
该攻击的成功不仅依赖技术实现,更源于对目标心理的精准把握。
4.1 行业特性利用
酒店行业员工日常工作高度依赖Booking.com等平台处理预订变更、客人请求。攻击邮件内容紧扣“客人提前入住”“特殊需求未满足”“差评威胁”等真实场景,极易引发焦虑与紧迫感,促使员工快速响应。
4.2 权威模仿与界面欺骗
伪造的CAPTCHA页面采用HTTPS、有效SSL证书(部分通过Let’s Encrypt免费获取)、响应式设计,甚至包含动态加载动画,极大提升可信度。用户难以通过视觉差异识别真伪。
4.3 操作步骤简化
将恶意执行包装为“三步验证”,符合用户对“简单安全流程”的预期。尤其对非技术背景员工而言,“复制粘贴”被视为低风险操作,远低于“下载exe文件”。
五、检测与防御方案
针对此类攻击,单一防御层难以奏效,需构建覆盖网络、终端与人的多层防护体系。
5.1 网络层防御
邮件网关增强:部署基于AI的语义分析引擎,识别“紧急+行动号召”类话术组合;对包含“Win+R”“powershell”等关键词的邮件提高风险评分。
URL信誉与动态分析:集成威胁情报平台,实时阻断已知恶意域名;对新出现的短链接或可疑域名进行沙箱预览。
5.2 终端层防御
核心在于监控异常脚本执行行为。以下为基于Windows事件日志的检测规则原型:
<!-- Windows Event Log Rule: Detect Suspicious PowerShell from Clipboard -->
<QueryList>
<Query Id="0" Path="Microsoft-Windows-PowerShell/Operational">
<Select Path="Microsoft-Windows-PowerShell/Operational">
*[System[(EventID=4104)]]
and
*[EventData[Data[@Name='ScriptBlockText'] and (
contains(., 'FromBase64String') or
contains(., 'GzipStream') or
contains(., 'clipboard') or
contains(., 'Invoke-Expression')
)]]
</Select>
</Query>
</QueryList>
此外,可通过组策略限制普通用户执行PowerShell,或启用Constrained Language Mode。
5.3 剪贴板监控方案
开发轻量级代理程序,监控剪贴板内容变化。当检测到包含powershell、cmd /c、reg add等高危命令片段时,弹出二次确认对话框。示例Python代码(需配合Windows API):
import win32clipboard
import time
import re
DANGEROUS_PATTERNS = [
r'powershell\s+-',
r'cmd\s+/c',
r'reg\s+add',
r'certutil\s+-decode'
]
def check_clipboard():
try:
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
for pattern in DANGEROUS_PATTERNS:
if re.search(pattern, data, re.IGNORECASE):
print("[ALERT] Suspicious command detected in clipboard!")
# 此处可触发UI警告或日志上报
return True
except:
pass
return False
if __name__ == "__main__":
while True:
check_clipboard()
time.sleep(1)
5.4 用户意识培训
定期开展针对性演练:
模拟发送伪造Booking.com邮件,测试员工识别能力;
演示ClickFix操作流程,强调“绝不手动执行未知命令”原则;
建立内部报告机制,鼓励员工上报可疑邮件。
六、实验验证
为验证上述防御方案有效性,搭建测试环境:Windows 10终端、Exchange邮件服务器、SIEM日志收集平台。
6.1 攻击模拟
构造一封仿冒Booking.com邮件,内含指向本地钓鱼页面的链接。页面实现ClickFix机制,脚本内容为无害的Write-Host "Test",但包含Base64解码结构。
6.2 检测效果
未部署防御时,用户执行命令后无任何告警;
部署PowerShell日志规则后,SIEM平台在3秒内生成高危事件;
启用剪贴板监控代理后,用户粘贴前收到警告弹窗,阻止执行。
结果表明,结合终端行为监控与用户干预,可有效阻断ClickFix攻击链。
七、结论
本文系统分析了利用ClickFix机制仿冒Booking.com的钓鱼攻击。研究表明,此类攻击通过将恶意执行伪装为用户主动操作,成功规避传统安全控制。其技术核心在于剪贴板劫持与脚本混淆,而社会工程设计则充分利用了酒店行业的业务特性和用户心理。
防御上,需摒弃“纯技术拦截”思维,转向“技术+流程+人”的综合策略。具体包括:强化邮件内容语义分析、监控终端脚本执行行为、引入剪贴板内容审计、以及持续开展场景化安全培训。未来工作将探索基于UEFI固件层的行为监控,以及利用LLM对钓鱼邮件进行上下文一致性校验,进一步提升检测精度。
编辑:芦笛(公共互联网反网络钓鱼工作组)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。