返回首页

伪装成 YouTube 面板的恶意 Chrome 扩展

伪装成 YouTube 面板的恶意 Chrome 扩展技术剖析。演示了声明功能缺失、远程界面管理存在、用户数据收集以及通过第三方域名的隐藏变现。

恶意 Chrome 扩展的样子:假 YouTube 面板剖析
Advertisement 728x90

伪装成 YouTube 侧边栏的恶意 Chrome 扩展分析

Chrome 网上应用商店中发现了一个名为“Youside — YouTube Sidebar”的 Chrome 扩展。它与 YouTube 功能毫无关系。与承诺的功能——嵌入式播放器、订阅管理和快速访问——相反,它实现了一个第三方后端的瘦客户端,集成了远程界面控制、用户数据收集以及隐藏的变现机制。

架构:无逻辑客户端

ID 为 mmecpiobcdbjkaijljohghhpfgngpjmk 的这个扩展,体现了典型的恶意软件架构:本地逻辑极少,严重依赖外部服务器。启动时,它从 localStorage 生成或检索一个持久的 user_id,然后查询 https://mines.cloudapi.stream/user_info 的 API。服务器响应完全决定了用户界面的行为——从元素可见性到 HTML 块内容。

主要特性:

Google AdInline article slot
  • 无调用 YouTube API 或 youtube.com 域名
  • 无实现 IFrame Player API
  • 无处理订阅、视频搜索或视频流传输的逻辑
  • 所有操作均由外部服务器响应控制

这种设计允许攻击者动态更改扩展行为,而无需在商店中更新代码。

远程界面控制

服务器返回一个包含 successis_validratingprotxt 等字段的 JSON 对象。客户端直接将这些数据应用到 DOM 上,且不进行任何验证:

if (result.is_valid) {
  proplansID.classList.add('h_');
  playBtn.classList.remove('h_');
} else {
  playBtn.classList.add('h_');
}

这种方法类似于功能标志,但缺少针对注入的防护。直接插入 HTML 尤其危险:

Google AdInline article slot
if (result.protxt) {
  proplansID.innerHTML = result.protxt;
}

由于内容未经过过滤或清理,服务器可以通过 innerHTML 注入任意 JavaScript,即使在扩展的隔离上下文中,也能实现 XSS 攻击。

隐藏变现与跟踪

所有带有 .buyBtn 类的按钮均被拦截并重定向到外部域名:

document.querySelectorAll('.buyBtn').forEach(btn => {
  btn.setAttribute(
    'href',
    `https://topup.cloudapi.stream/?user_id=${encodeURIComponent(localStorage.getItem("user_id"))}&type=game`
  );
});

这些元素的任何点击都会通过 URL 参数传递用户的唯一 ID。这将用户操作与他们的个人资料关联,用于变现或进一步画像。

Google AdInline article slot

为实现可靠跟踪,它结合使用:

  • 来自 localStorageuser_id(持久标识符)
  • chrome.runtime.id(浏览器中扩展的唯一 ID)
  • navigator.language(用户语言代码)

这种组合即使 IP 变更或 cookie 被清除,也能实现高精度识别。

缺少承诺的功能

尽管商店描述中声称如此,但该扩展中没有任何与 YouTube 相关的代码:

  • 无调用 YouTube Data API
  • 无通过 iframe 嵌入视频播放器
  • 无播放事件处理
  • 无播放列表或频道逻辑

它与 YouTube 的唯一交互是播放按钮点击时的重定向:

playBtn.addEventListener("click", () => {
  window.location = "https://youtube.com/";
});

这证实了该扩展纯粹是一个有用工具的伪装,其真实目的是数据收集和流量变现。

关键要点

  • 该扩展未提供承诺的 YouTube 功能。
  • 界面完全由外部服务器通过无安全保障的 API 控制。
  • 可能进行任意 HTML 注入,存在 XSS 风险。
  • 通过组合标识符进行隐藏用户跟踪。
  • 所有变现链接重定向到第三方域名,并传递 user_id

— Editorial Team

Advertisement 728x90

继续阅读