PcPedia >> non subire l informatica!

  • Increase font size
  • Default font size
  • Decrease font size
  • default color
  • black color
Home Articoli News WhatsAPP - Ma che succede?

WhatsAPP - Ma che succede?

E-mail Stampa PDF

WhatsAPP  è senza dubbio una delle applicazioni multipiattaforma più utilizzate per la messaggeria mobile; infatti permette di utilizzare il traffico dati per l’invio di sms con notifiche push. Il vantaggio è ovviamente quello di inviare messaggi gratis per chi ha piano un tariffario con traffico dati compreso o per chi dispone di una connessione wifi.

Il suo successo è dovuto al carattere multipiattaforma  ma anche dalla esponenziale diffusione di tablet e smarphone, senza negare la fase emulativa apple-style-way-of-life-very-cool. Per questo motivo è ancora più grave scoprire gravissime ed ingenue falle di sicurezza che minano la privacy di tutti i suoi numerosi utilizzatori .

Analizzando il traffico di rete di questa applicazione utilizza una connessione https sulla porta 443 e qui direte: per fortuna.. il problema è che il resto viaggia tutto in chiaro.

Il protocollo XMPP ed il message digest

WhatsApp utilizza il protocollo XMPP (Extensible Messaging and Presence Protocol, ex jabber, per chi lo ricorda), utilizzato per la messaggistica istantanea e basato su XML.

Il sistema di autenticazione è un  digest  SASL-MD5 (http://www.ietf.org/rfc/rfc2831.txt) di cui riportiamo un esempio di autenticazione preso dagli amici spagnoli di  securitybydefault:

username="34666666666",

realm="s.whatsapp.net",

nonce="1438536309",

cnonce="E0487DC6-6D1A-4A67-AV70-3299TD89O29A",

nc=00000001,

qop=auth,

digest-uri="xmpp/s.whatsapp.net",

response=b98d50c159a938723d8eb8f3039afab2, //sbd J

charset=utf-8

 

Ma se in fase di registrazione non mi hanno chiesto neppure la password come viene generato il digest? Si chiederà un utilizzatore leggermente meno smaliziato e più attento degli altri. Prima di proseguire dobbiamo capire come funziona questo frame work di autenticazione SASL-MD5 (chi vuole venire al dunque lo salti ma …).

UN ESEMPIO DI AUTENTICAZIONE SASL-MD5:

A partire dal documento ufficiale rfc sull’autenticazione  SALS l’utente deusty ci ha regalato un dettagliato esempio di autenticazione SASL (http://deusty.blogspot.com/2007/09/example-please.html), che cercherò di schematizzare:

 

 

Quindi abbiamo il digest di risposta: f079bb0caab1a1f0f5b0950010dcee4c ed ora vediamocome possiamo ottenerlo.

 

CALCOLIAMO UN DIGEST SASL-MD5

I dati in gioco sono questi di seguito,con password e username di esempio:

username=test
password=secret
realm=osXstream.local
nonce=392616736
qop=auth
cnonce=05E0A6E7-0B7B-4430-9549-0FE1C244ABAB
digest-uri=xmpp/osXstream.local
nc=00000001

 

realm è l’identificativo del server, nel caso di whatsapp è s.whatsapp.net.

nonce è un valore che viene fornito dal server per ogni sambio di dati (che può essere casuale)

cnonce è una stringa generata casualmente

digest-uri è il realm preceduto dal percorso xmpp

nc è il contatore di nonce, che conta appunto quanti ”scambi” abbiamo fatto col server

 

generiamo il digest:

 

HA1data = MD5(username:realm:password) = MD5(test:osXstream.local:secret)= 3a4f5725a748ca945e506e30acd906f0

HA1 = MD5(HA1data:nonce:cnonce) = b9709c3cdb60c5fab0a33ebebdd267c4

attenzione perché non dobbiamo operare su stringhe quindi dobbiamo convertire la parte :nonce:cnonce in RAW data.

HA2 = MD5(AUTHENTICATE:digest-uri) = MD5(AUTHENTICATE: xmpp/osXstream.local) = 2b09ce6dd013d861f2cb21cc8797a64d

MD5(HA1:nonce:nc:cnonce:qop:HA2) = MD5(b9709c3cdb60c5fab0a33ebebdd267c4:392616736:00000001:05E0A6E7-0B7B-4430-9549-0FE1C244ABAB:auth:2b09ce6dd013d861f2cb21cc8797a64d)= 37991b870e0f6cc757ec74c47877472b

 

Ecco quindi la risposta da inviare codificata in base 64.

Probabilmente implementerò uno script che riassuma questi passi a titolo esemplificativo. Dopo questa impegnativa digressione possiamo tornare a riprendere il discorso di WhatsApp.

 

TORNIAMO A WHATSAPP: LO SNIFFER

 

Come dicevamo utilizza XMPP, che vengono inviati al server bin-short.whatsapp.net porta 5222.

Il nostro amico spagnolo ha quindi ben deciso di sniffare il traffico di uno smartphone collegato alla rete wireless e utilizzante tale applicazione. Possiamo usare wireshark ed effettivamente notare come tutte le comunicazioni avvengano in chiaro.

 

Come prima applicazione della scoperta ha creato un programmino, WhatsAppSniffer, che utilizza le librerie winpcap che non fa altro che filtrare i pacchetti interessati e mostrare la comunicazione messaggistica al curiosone di turno.

 

IMPLICAZIONI E SVILUPPI:

La conclusione è semplice e comunque vale per chiunque si connetta ad una rete wireless (protetta o non protetta…) : stare attenti a non trasmettere troppi dati personali.

 

Un possibile sviluppo di tale programmino potrebbe essere quello di inviare messaggi fake al chattatore di turno, oppure ancora implementare lo sniffer in modo tale che possa operare con reti protette da wep/wpa con chiave di accesso nota a priori oltre che verificare il fatto che la password di default di WhatsApp messenger sia proprio la parola “password”…

 

RINGRAZIAMENTI E LINK UTILI

waraxe base 64 converter

Script ruby Md5.Sasl di a0rtega: http://a0rtega.pentbox.net/

Deusty blog

seguridadinformatica

securitybydefault


Sostenete il rinnovamento del sito dando un'occhiata ai link pubblicitari che vi interessano.
Commenti
Nuovo Cerca
+/-
Commenta
Nome:
Email:
 
Website:
Titolo:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:D:angry::angry-red::evil::idea::love::x:no-comments::ooo::pirate::?::(
:sleep::););)):0
 
Please input the anti-spam code that you can read in the image.
Criptm00nkey  - Disassemblare |2012-01-17 20:57:52
Effettivamente come dici tu si dice che la password sia univoca per tutti, o. Il tipo che citi dice che è proprio "password" , ccorrerebbe fare dei test di bruteforcing. Lui li ha già fatti e i conti non gli tornano. Sarebbe interessante riprovare a fare i test di brute :magari ha sbagliato qualcosa...

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."