Mostra tutti

Come compremettere il tuo account di WhatsApp rispondendo ad una videochiamata

Come compremettere il tuo account di WhatsApp rispondendo ad una videochiamata

E se solo ricevendo una videochiamata su WhatsApp si potesse hackerare il tuo smartphone?

Questo problema può verificarsi quando un utente WhatsApp accetta una chiamata da un peer maligno. Riguarda sia i client Android che iPhone.

Tutto questo suona sporco, ma Natalie Silvanovich, ricercatrice della sicurezza di Google Project Zero, ha trovato una vulnerabilità critica in WhatsApp messenger che avrebbe potuto permettere agli hacker di prendere in remoto il pieno controllo della tua WhatsApp semplicemente videochiamandoti attraverso l’applicazione di messaggistica.

La vulnerabilità è un problema di overflow di memoria che si attiva quando un utente riceve un pacchetto RTP malformato appositamente creato tramite una richiesta di videochiamata, con conseguente errore di corruzione e crash dell’applicazione mobile WhatsApp.

Poiché la vulnerabilità influisce sull’implementazione RTP (Real-time Transport Protocol) di Whatsapp, il difetto riguarda le applicazioni Android e iOS, ma non WhatsApp Web che si basa su WebRTC per le videochiamate.

Silvanovich ha anche pubblicato un proof-of-concept exploit, insieme alle istruzioni per riprodurre l’attacco WhatsApp.
Anche se la proof-of-concept pubblicata da Silvanovich innesca solo la corruzione della memoria, un altro ricercatore di Google Project Zero, Tavis Ormandy, sostiene che “Questa vulnerabilità è un grosso problema”.

Rispondere a una chiamata di un aggressore potrebbe compromettere completamente WhatsApp”.

In altre parole, gli hacker hanno solo bisogno del tuo numero di telefono per dirottare completamente il tuo account WhatsApp e spiare le tue conversazioni segrete.
Silvanovich ha scoperto e segnalato la vulnerabilità al team di WhatsApp nell’agosto di quest’anno. WhatsApp ha riconosciuto e corretto il problema il 28 settembre nel suo client Android e il 3 ottobre nel suo client iPhone.

Due mesi fa, i ricercatori hanno anche scoperto un difetto nel modo in cui l’applicazione mobile WhatsApp si connette con WhatsApp Web che ha permesso agli utenti malintenzionati di intercettare e modificare il contenuto dei messaggi inviati sia in conversazioni private che di gruppo di cui abbiamo discusso in questo post.

WhatsApp: Heap Corruption in RTP processing

Project Member Reported by natashenka@google.com
Heap corruption can occur when the WhatsApp mobile application receives a malformed RTP packet.

08-31 15:43:50.721 9428 9713 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7104200000 in tid 9713 (Thread-11)
08-31 15:43:50.722 382 382 W : debuggerd: handling request: pid=9428 uid=10119 gid=10119 tid=9713
08-31 15:43:50.818 9720 9720 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-31 15:43:50.818 9720 9720 F DEBUG : Build fingerprint: ‘google/angler/angler:7.1.2/N2G48H/natash11071827:userdebug/dev-keys’
08-31 15:43:50.818 9720 9720 F DEBUG : Revision: ‘0’
08-31 15:43:50.818 9720 9720 F DEBUG : ABI: ‘arm64’
08-31 15:43:50.818 9720 9720 F DEBUG : pid: 9428, tid: 9713, name: Thread-11 >>> com.whatsapp <<<
08-31 15:43:50.818 9720 9720 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7104200000
08-31 15:43:50.819 9720 9720 F DEBUG : x0 00000071041ffde8 x1 00000071047796b0 x2 0000000000000000 x3 0000000000000030
08-31 15:43:50.819 9720 9720 F DEBUG : x4 0000000000000000 x5 0000000000000040 x6 00000071041fffd8 x7 8181818181818181
08-31 15:43:50.819 9720 9720 F DEBUG : x8 8181818181818181 x9 8181818181818181 x10 8181818181818181 x11 8181818181818181
08-31 15:43:50.819 9720 9720 F DEBUG : x12 8181818181818181 x13 8181818181818181 x14 8181818181818181 x15 0000000000000000
08-31 15:43:50.819 9720 9720 F DEBUG : x16 0000007110a468a0 x17 000000712f3b0908 x18 0000000000000000 x19 0000000000000280
08-31 15:43:50.819 9720 9720 F DEBUG : x20 00000071088744a8 x21 0000000000000280 x22 00000071256a5a28 x23 0000007104ff9b70
08-31 15:43:50.819 9720 9720 F DEBUG : x24 000000000000100d x25 000000000000120d x26 0000007104779480 x27 0000007108830828
08-31 15:43:50.819 9720 9720 F DEBUG : x28 0000000000151f80 x29 00000071043fe540 x30 000000711060a010
08-31 15:43:50.819 9720 9720 F DEBUG : sp 00000071043fe320 pc 000000712f3b0a5c pstate 0000000060000000
08-31 15:43:50.825 9720 9720 F DEBUG :
08-31 15:43:50.825 9720 9720 F DEBUG : backtrace:
08-31 15:43:50.825 9720 9720 F DEBUG : #00 pc 000000000001aa5c /system/lib64/libc.so (memcpy+340)
08-31 15:43:50.825 9720 9720 F DEBUG : #01 pc 00000000000c500c /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #02 pc 00000000000c7d60 /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #03 pc 00000000000f88d4 /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #04 pc 00000000000f6948 /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #05 pc 00000000000f0ef4 /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #06 pc 00000000000f0630 /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #07 pc 00000000000eef3c /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #08 pc 00000000001272e0 /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #09 pc 0000000000303d20 /data/app/com.whatsapp-2/lib/arm64/libwhatsapp.so
08-31 15:43:50.825 9720 9720 F DEBUG : #10 pc 0000000000068734 /system/lib64/libc.so (_ZL15__pthread_startPv+208)
08-31 15:43:50.825 9720 9720 F DEBUG : #11 pc 000000000001da7c /system/lib64/libc.so (__start_thread+16)

This issue can occur when a WhatsApp user accepts a call from a malicious peer. It affects both the Android and iPhone clients.

Per testare e riprodurre la vulnerabilità di WhatsApp:

  1. Applicare la patch  libwhatsapp.so nell’applicazione Android usando bsdiff. Questa patch intercetta un memcpy poco prima che venga chiamato srtp_protect, e altera il buffer RTP.
    Lo SHA1 della libreria originale che ho usato era cfdb0266cbd6877e5d146ddd59fa83ebccdd013d;
    Lo SHA1 della libreria modificata è 042256f240367eaa4a096527d1afbeb56ab2eeb4.
  2. Generare il file allegato, natalie2.c per il dispositivo Android su cui è in esecuzione l’applicazione, e copiarlo in /data/data/data/com.whatsapp/libn.so.
  3. Copiare i file nella cartella allegata in /data/data/data/com.whatsapp/files in modo che /data/data/com.whatsapp/files/t0 sia una posizione valida.
  4. Riavviare WhatsApp, chiamare il dispositivo di destinazione e rispondere alla chiamata. Il device si bloccherà in pochi secondi.

I log dei crash su Android e iPhone sono collegati. Si noti che è stato modificato il binario di destinazione Android per disabilitare la gestione personalizzata dei crash di WhatsApp. L’installazione di WhatsApp per iPhone non è stata modificata.

patch.diff
428 bytes Download
natalie2.c
1.5 KB View Download
newfiles.zip
17.6 MB Download
androidlog
746 KB View Download
WhatsApp-2018-08-31-154544.ips
90.2 KB Download

Quindi, se non avete ancora aggiornato la vostra WhatsApp per Android o WhatsApp per iOS, dovreste considerare la possibilità di aggiornare ora.

libro vita da hacker