活动邀请里的Google登录页,正在替攻击者转发验证码
原创
tcode
tcode
字节脉搏实验室
2026年10月19日 14:10
北京
去阅读
10月8日,思科Talos公开了一起针对中文使用者的账号钓鱼活动,编号UAT-11985。Talos称,攻击目标是与台湾研究机构有关联的人员,邀请邮件冒用台湾欧洲联盟中心、政治大学国际关系研究中心和台湾综合研究院等机构名义,内容围绕地缘政治、国际关系等公开活动展开。10月16日,The Hacker News对这份研究做了二次报道。两边的核心事实一致,日期口径不同:一手披露在前,二次报道在后。
真正需要留意的不是“又来了一封钓鱼邮件”,而是登录页的工作方式。邮件里的链接看起来指向Google Forms,实际到达的却是一套仿冒Google登录界面的中间人(AitM)页面。它不把密码写进静态表格,而是把浏览器和真实Google认证服务器连成一条实时通道,把用户输入的每一步、包括多因素认证(MFA)挑战,原样转发。换句话说,动态验证码在这里不是一道墙,而是被抄走的第二把钥匙。
邀请是假的,登录页却做得像真的
Talos拿到的三封邀请邮件被冒用的对象不同:台湾欧洲联盟中心、政治大学国际关系研究中心、台湾综合研究院。邮件发件人身份无法被上述机构确认,Talos据此判断发件人身份是伪造的,机构名称和公开活动信息被当成可信外衣。邮件的结构也高度一致:先用一段宏观的国际局势判断建立权威感,再针对收件人写一段恭维话,最后给出活动主题、日期、地点和报名方式。Talos认为,这种跨不同议题仍保持近乎相同句法的写法,说明背后使用了可复用的生成模板,并评估该活动带有AI辅助生成内容的强烈迹象;但它明确表示,无法据此确认邮件完全由大语言模型生成。这个区分很重要:可以怀疑批量生成,不能把“像AI写的”当成攻击者身份的证明。
还有个细节把攻击面从屏幕内扩到了屏幕外。部分邮件附带了从合法网站抓取的活动海报,海报上的二维码被替换成攻击者控制的地址。Talos推测,攻击者预期收件人会把海报打印出来张贴在办公区,让没有收到邮件的人也去扫码报名。对收件人来说,海报、活动名称、机构落款都可能是真的,唯一被换掉的是二维码背后的地址。
登录页怎样一边骗你,一边和Google同步
这套页面的第一步是伪装成Google表单。用户点开链接后,看到的是与真实Google表单几乎一致的界面;当用户准备提交时,页面要求用Google账号登录,随后跳到仿冒的Google登录页。到这里,页面开始扮演中间人。
开始阶段,页面的JavaScript先收集语言、浏览器标识、屏幕尺寸和是否为移动设备等信息,通过google\_login\_start请求发给攻击者的HTTP服务器;服务器建立会话后,再让页面与攻击者基础设施建立WebSocket连接,接收当前会话状态。用户输入账号或手机号时,页面通过google\_input\_identifier把标识发给服务器,服务器再去问真实Google这个账号是否存在、是否启用了通行密钥(passkey)流程。Google返回什么,伪造页面就显示什么。
用户提交密码时,页面通过google\_login\_check把密码、账号标识和浏览器标识交给攻击者的服务器,服务器转交真实Google。如果Google要求追加验证,服务器把认证类型和页面布局传回来,页面再切到对应的MFA步骤;用户输入的验证码同样被实时转走。Talos的结论是,这种把一次性POST请求和低延迟WebSocket状态更新拆开的做法,让攻击者可以跟着认证流程逐步推进,最终完成账号接管而不让受害者明显察觉。
三个可以直接检查的线索
第一个线索是地址栏,不是页面外观。Google账号登录必须发生在accounts.google.com这个源上;仿冒页面即使图标、字体和排版都一致,域名也不是这个。Talos在IOC文件里公布了四个仿冒域名,形如google.morelessty.com、jmlh.morelessty.com、google.centerhoti.com和google.natrlyi.com,它们都借用了google或accounts字样,但注册域和accounts.google.com没有关系。任何表单页面在站内弹出“请重新登录Google账号”的窗口,都应该先停下看清楚它究竟把凭据提交给谁。
第二个线索在网络侧。Talos给出的请求名是google\_login\_start、google\_input\_identifier和google\_login\_check,认证状态更新走WebSocket。对防御方来说,单看某个域名可能很快失效,但“HTTP POST载荷里出现明显的Google登录事件名,同时又对陌生域名发起WebSocket升级”这个组合,比单个IP或域名更有排查价值。Talos提供的ClamAV签名为Html.Phishing.UAT11985-10060614-0,Snort 2与Snort 3规则ID分别为1:67198和7:31。
第三个线索藏在页面源码里。Talos观察到,伪造页面包含一个隐藏的section,用iframe加载本地的/google-login-assets/operation-success.html,iframe的ID是google-success-frame,并带有sandbox=\"allow-scripts\"属性;页面用这个结构模拟登录成功。配合页面末尾经过字符串轮换和控制流混淆的JavaScript,这类源码特征可以作为邮件安全网关、浏览器防护和样本分析的补充证据。需要提醒的是,这些特征来自Talos对样本的分析,不代表每个变种都会原样保留。
已经输过账号的人,先做哪一步
如果密码和动态码已经输进了可疑页面,第一件事不是再试一次登录,而是从一台干净设备上改密码并撤销现有会话。Google账号设置里的“安全性”页面可以查看最近的安全事件、已登录设备和两步验证方式;改密码只能让旧密码失效,未必能立刻踢掉已经拿到的会话,所以要同时检查“退出所有设备”,并核对是否有陌生的通行密钥、备用验证方式、应用专用密码或第三方授权。
第二步是查账号有没有被设置转发和过滤规则。攻击者拿到账号后,不一定马上发信,常见做法是先加一条转发或过滤器,把特定邮件静默抄走。这个检查要同时看收件箱规则、转发地址、POP/IMAP访问和已授权应用,而不是只看密码有没有被改。这一步最好由两个人交叉检查,一人看登录设备,一人看转发规则,避免只改密码却漏掉仍在生效的抄送规则。
第三步才是加固认证。短信和动态验证码都可能被这种中间人页面实时转发;通行密钥或硬件安全密钥受源绑定限制,不能像普通验证码那样直接搬到另一个域名上。但Talos同时发现,伪造页面会依据真实Google返回的状态显示密码或通行密钥提示,所以“这次没输密码”不能当成安全结论。更可靠的做法是:平时从收藏夹或手动输入accounts.google.com进入,不通过活动邮件里的链接登录;团队使用Google Workspace的,查看是否有条件访问、会话时长和安全密钥策略可以收紧。
有一个可以直接转述给同事的自查问题:最近有没有收到活动邀请,点开后出现Google登录页,或者扫过一张活动海报上的二维码?如果有,把原邮件、海报、二维码截图、链接地址和当时的时间点一起留存,不要只转发链接。先确认地址栏是不是accounts.google.com,再决定是否需要改密码、撤销会话和检查转发规则。
边界
这份材料能确认的是攻击活动的目标群体、仿冒机构、邮件模板、海报二维码替换和AitM页面机制;Talos没有公布受害人数,也没有把攻击活动归因到某个国家或具体组织。关于开发者主要使用简体中文、页面最初由简体中文版本改写而来的判断,Talos的置信度是中等,属于技术特征推断,不是身份结论。研究也没有声称中国大陆已有受害者,不能把“支持简体中文和繁体中文”扩写成国内机构已经被打。IOC中的发件地址属于个人邮箱,本文不逐条公开,以免把可能被冒用或被接管的普通账号当成攻击者定论。Google账号的安全页面、通行密钥和会话撤销功能会随产品更新变化,实际处置时以当前界面为准。
来源
Cisco Talos,《UAT-11985: AI-assisted event lures delivering real-time Google AitM phishing》,页面标注2026-10-08 06:01,https://blog.talosintelligence.com/uat-11985/
Cisco Talos,《UAT-11985 IOCs》,2026-10,https://github.com/Cisco-Talos/IOCs/blob/main/2026/10/uat-11985.txt
The Hacker News,Ravie Lakshmanan,《UAT-11985 Uses Fake Event Invites to Target Taiwan Research Affiliates With Google AitM Phishing》,页面标注2026-10-16,https://thehackernews.com/2026/10/uat-11985-uses-fake-event-invites-to.html
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论