L’analisi del traffico di rete generato da dispositivi mobili, sia dal browser che dalle app installate, rappresenta una tecnica fondamentale nell’ambito della sicurezza informatica, del debugging e dell’analisi funzionale. Comprendere quali dati sono inviati e ricevuti da uno smartphone è cruciale per valutare la privacy, identificare vulnerabilità o semplicemente osservare il comportamento di un’applicazione. Burp Suite è uno strumento ampiamente riconosciuto in questo settore, capace di agire come proxy in grado di “catturare” ed esaminare il traffico dati in transito.
Principio di funzionamento: il ruolo del proxy Burp Suite
Alla base dell’intercettazione del traffico da smartphone con Burp Suite, vi è la configurazione del dispositivo mobile affinché utilizzi un proxy di rete. Invece di comunicare direttamente con i server di destinazione, il telefono è istruito per far transitare tutto il traffico attraverso un indirizzo IP locale e una porta specifici.
Sul sistema locale, ad esempio un PC Windows, Linux o un sistema macOS, si può installare Burp Suite. Il programma riceve ogni richiesta proveniente dallo smartphone, la inoltra al server di destinazione, elabora la risposta dal server e infine la gira al dispositivo mobile. Durante questo processo di inoltro, Burp Suite ha la possibilità di ispezionare, e potenzialmente modificare, i dati che transitano. Compresi quelli trasferiti attraverso connessioni cifrate via SSL/TLS (ad esempio per gli scambi di dati che usano il protocollo HTTPS).
Configurazione dell’ambiente di lavoro con Burp Suite
Per riuscire ad analizzare il traffico dati in transito, è necessario – come accennato in precedenza – servirsi di un PC (desktop o notebook) collegato con la stessa rete locale su cui è attestato lo smartphone. Quest’ultimo risulta connesso via WiFi; il PC desktop o il laptop con Burp Suite possono utilizzare indifferentemente una connessione WiFi oppure Ethernet via cavo.
Come primo passo, si può scaricare e installare Burp Suite Community Edition, edizione completamente gratuita quindi scegliere Temporary project in memory, Use Burp defaults, Start Burp al primo avvio.
In corrispondenza delle impostazioni proxy (menu Proxy, Proxy settings), è necessario l’interfaccia di rete sulla quale si desidera avviare l’attività di intercettazione (pulsante Add, Specific address). L’interfaccia selezionata deve essere configurata con l’indirizzo IP del computer utilizzato sulla rete locale. Nel campo Bind to port, si può indicare una porta specifica, ad esempio 8080.
In questo modo si comunica a Burp Suite su quale indirizzo e porta deve attendere il traffico proveniente dal dispositivo mobile. Nell’esempio, l’indirizzo utilizzato è 192.168.1.170:8080
.
Impostazione del proxy sullo smartphone
Il dispositivo mobile deve quindi essere impostato in maniera tale da usare il sisstema con Burp Suite installato come proxy. Nelle impostazioni di rete del telefono (ad esempio, accedendo alle impostazioni WiFi di Android), è necessario specificare l’indirizzo IP del server Burp Suite.
Di solito basta toccare sul nome della propria rete WiFi, scegliere la voce Proxy, Manuale quindi digitare indirizzo IP e porta del server proxy Burp Suite.
Per poter intercettare anche il traffico cifrato, che è ormai la norma per la maggior parte delle comunicazioni moderne, è essenziale installare il certificato di Burp Suite sullo smartphone. Senza questo certificato, il dispositivo mobile non può fidarsi della connessione proxy stabilita con il sistema Burp Suite.
Per procedere in tal senso, basta aprire il browser quindi digitare – nella barra degli indirizzi – indirizzo IP e porta (nel nostro esempio 192.168.1.170:8080
). Toccando CA Certificate, è possibile scaricare e installare il certificato autogenerato da Burp Suite.
Se l’installazione non devesse andare a buon fine, è necessario portarsi nelle impostazioni del dispositivo mobile e aggiungere manualmente il certificato digitale, scegliendo Certificato CA e infine selezionando il file cacert.der
scaricato in precedenza.
Analisi dei dati scambiati da qualunque app installata sul dispositivo mobile
Una volta completata la configurazione, si può avviare il monitoraggio del traffico dati da e verso lo smartphone toccando il pulsante Intercept off nella scheda Proxy, Intercept di Burp Suite.
Nella finestra di Burp Suite, a seconda delle app in esecuzione sul dispositivo mobile, appare tutto il traffico generato. Ad esempio le richieste (request) inviate dallo smartphone (insieme con tutti i dati in esse contenute) e le risposte (response) ricevute dai server remoti.
Il traffico dati è visualizzato in tempo reale quando l’intercettazione è attiva, ed è possibile rivederlo nella cronologia HTTP (HTTP history) di Burp Suite.
La capacità di bloccare e inoltrare il traffico in Burp Suite (Forward) è fondamentale per controllare il flusso dei dati durante l’analisi.
Sfide e limitazioni
Sebbene l’intercettazione del traffico del browser funzioni generalmente bene con la configurazione base descritta, l’intercettazione del traffico delle applicazioni può presentare delle sfide.
Alcune app potrebbero non funzionare perché “si lamentano” del certificato SSL in uso. Il comportamento è spesso riconducibile all’uso di tecniche di SSL Pinning o Certificate Pinning: l’applicazione è in questi casi sviluppata per accettare espressamente solo un set specifico di certificati (quelli attesi per i server legittimi), rifiutando quindi il certificato emesso da Burp Suite.
Il successo dipende anche dalla versione di Android utilizzata. Per superare le restrizioni imposte da tecniche di sicurezza più avanzate o dalle versioni più recenti dei sistemi operativi, potrebbe essere necessario installare il certificato di Burp Suite nella directory root del telefono Android, un processo che va eseguito separatamente è che è più complesso.
Una buona idea potrebbe essere quella di sottoporre a root un dispositivo Android che ormai non si utilizza più e sfruttarlo, come abbiamo fatto noi, per eseguire tutti i test delle app con Burp Suite.
Infine, nulla vieta di usare l’approccio descritto nell’articolo per studiare il comportamento e il traffico dati generato da sistemi Windows, Linux e macOS.
Credit immagine in apertura: PortSwigger