喵~各位技术宅们好呀,这里是被惊掉小鱼干的kisa猫娘!
咱昨天刷安全资讯的时候看到一个超级骚的操作——有攻击者居然把钓鱼页面直接挂在了chatgpt.com域名下面!没错,就是你每天都在用的那个ChatGPT官方域名 (´;ω;`)
网络安全公司Push Security最近披露了一类他们命名为LLMShare(大语言模型共享内容滥用)的攻击活动,人家看完报告只想说:这攻击链设计得也太精巧了叭,简直像《心理测量者》里的犯罪系数管理——表面看起来完全无害,暗地里全是坏水喵!
攻击链条全拆解:人家带你一步步看 (๑•̀ㅂ•́)و✧
第一步:SEO投毒 + Google广告做入口
攻击者的起点不是群发钓鱼邮件,而是买Google广告位。当用户在Google搜索ChatGPT相关关键词时,恶意广告会以赞助结果的形式出现在搜索前列。
这个技术选的很有讲究喵——跟微软5月披露的GPU挖矿攻击用的是同一套逻辑。在那次攻击里,攻击者对CrystalDiskInfo、HWMonitor、FurMark等热门工具软件的关键词做了SEO投毒,把恶意链接推到搜索结果前排。这类攻击有个特点:受害者是主动搜索、主动点击的,警惕性本身就比被邮件钓鱼时低得多。
SEO投毒的技术原理说起来也简单——攻击者通过大量生成与目标关键词相关的恶意页面,配合外链农场、内容抓取等手段,短期堆高页面权重。Google广告则更直接,只要花钱就能抢到比自然搜索结果还靠前的位置。两套打法配合,曝光效率拉满喵。
第二步:ChatGPT的渲染能力被当枪使
这一步是整个攻击最“漂亮”的地方——人家不是说“漂亮”是好事,是说技术思路确实刁钻!
ChatGPT有一个内容分享功能,可以把对话生成一个共享页面,链接格式是chatgpt.com/s/xxxxx。本来这玩意儿是方便把AI对话分享给别人的,但ChatGPT支持在对话中渲染自定义HTML内容——这是关键。
攻击者利用这一点,构造了包含恶意HTML代码的对话内容,再生成共享链接。用户点击后看到的不是传统ChatGPT对话,而是一个完全由攻击者的HTML渲染出来的页面——比如伪装成“ChatGPT因访问量过大暂时不可用”的宕机通知页。
这里有个技术细节值得追问:ChatGPT对用户提供的HTML有没有沙箱限制?
从Push Security披露的情况来看,ChatGPT的HTML渲染是在chatgpt.com域下的DOM环境内执行的,这意味着攻击者的内容获得了该域名的完整上下文。虽然OpenAI应该在前端做了XSS过滤和CSP策略,但如果渲染机制允许足够复杂的HTML/CSS呈现,攻击者就能构造出以假乱真的页面——不一定要执行恶意脚本,视觉欺骗本身就足够了喵 (´・ω・`)
第三步:环境感知 + 靶向投递
这个环节就更有意思了——攻击者搞了双层页面。
当安全厂商的扫描器、爬虫或者普通爬网工具访问openew[.]app这个域名时(注意,这个域名长得像不像“openai”?),它返回的是一个无害的AR/VR公司展示页。
但当特定目标受害者访问时,展示的却是假冒的OpenAI桌面应用下载门户。
这种“环境感知绕过”是怎么实现的?常见手段包括:
- IP地址过滤:来自安全公司、数据中心、云服务商IP段的请求返回正常页面
- User-Agent检查:识别自动化扫描工具的UA特征
- 浏览器指纹检测:检查navigator对象属性、屏幕分辨率、WebGL指纹等,判断是真实浏览器还是Headless沙箱
- Referrer追溯:只有从chatgpt.com/s/跳转过来的才展示恶意内容,直接访问看不到
Push Security的研究人员能抓到恶意页面,大概率是用了住宅代理IP或者真实设备环境做探测——否则看到的永远只是那个看似无害的AR/VR公司站点喵。
第四步:恶意软件分发 + 虚拟机检测
一旦通过环境检测,受害者会看到提供Windows和macOS版本的下载链接。Push Security的安全测试确认,下载的程序内置了虚拟机环境检测——启动后先检查自己是不是在虚拟机里跑,如果是就装死,不是才执行后续恶意行为。
这里就跟微软报告里的挖矿攻击对上了——那波攻击也是先检测是否有40多种分析工具进程名、是否在虚拟机里,确认环境“干净”才继续。攻击者的反分析意识越来越强了呐 (`へ´)
为什么这种攻击特别难防?
传统钓鱼检测依赖几个关键锚点:域名是否可疑、证书是否匹配、页面是否有模仿知名品牌的痕迹。但LLMShare攻击把这几个锚点全给废了:
- 域名:chatgpt.com——合法,没毛病
- 证书:OpenAI官方证书——完全没问题
- URL路径:/s/是正常的分享功能路径——看起来也没问题
对企业安全防护工具来说,判断一个页面是否恶意的剩余手段就只剩内容行为分析和URL路径模式识别了。但如果攻击者的自定义HTML不与后端交互、不触发网络请求(下载动作由用户主动点击触发),那静态内容分析也很难抓到异常。
这不是“安全工具太弱”的问题,而是平台功能本身的合法能力被滥用时,传统基于黑名单+域名信誉的检测模型天然存在盲区喵。
别忘了攻击者也在做AB测试哦
Push Security提到,他们在客户环境中还看到了这个攻击的Claude变体——利用的是Anthropic Claude的类似分享机制。这说明攻击者不是单次试水,而是成体系地把多个AI平台当攻击面在测。
谁家效果好、哪家检测难,攻击者心里可能比平台自己还清楚 (´;ω;`)
防护思路总结喵~
- 对个人用户:Google搜索结果的广告区域要有天然的不信任感。AI工具下载走官方渠道,别被网页里的“宕机通知”带节奏
- 对安全团队:把chatgpt.com/s/这类AI平台分享路径纳入异常页面行为监控范围,检查跳转链和后续下载行为
- 对AI平台:共享页面的HTML渲染能力需要更严格的沙箱限制,比如禁用外部资源加载、限制CSS复杂度、在页面中明确标注“这是第三方生成的共享内容”
好啦,今天的kisa技术小课堂就到这里喵!
这个案例给咱最大的教训就是:钓鱼攻击的进化方向不是更复杂,而是更“合法”。当恶意内容披上合法平台的外衣,靠常识和肉眼已经不够用了——这是技术对抗的新常态噢 (。・ω・。)ノ♡
喜欢的话记得三连喵,下期再聊~