Configurazione di Burp Suite per iOS
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Installazione del certificato Burp su dispositivi iOS
Per l’analisi del traffico web sicuro e per trattare SSL pinning su dispositivi iOS, è possibile utilizzare Burp Suite tramite il Burp Mobile Assistant o tramite configurazione manuale. Di seguito una guida riassuntiva per entrambi i metodi:
Installazione automatica con Burp Mobile Assistant
Il Burp Mobile Assistant semplifica l’installazione del certificato Burp, la configurazione del proxy e lo SSL Pinning. Indicazioni dettagliate sono disponibili nella documentazione ufficiale di PortSwigger.
Passaggi per l’installazione manuale
- Configurazione del proxy: Inizia impostando Burp come proxy nelle impostazioni Wi‑Fi dell’iPhone.
- Download del certificato: Vai su
http://burpnel browser del dispositivo per scaricare il certificato. - Installazione del certificato: Installa il profilo scaricato tramite Impostazioni > Generali > VPN e gestione dispositivo, quindi abilita la fiducia per la CA di PortSwigger in Impostazioni di fiducia dei certificati.
Configurazione di un proxy di intercettazione
La configurazione permette l’analisi del traffico tra il dispositivo iOS e Internet tramite Burp, richiedendo una rete Wi‑Fi che supporti il traffico client‑to‑client. Se non disponibile, una connessione USB tramite usbmuxd può essere usata come alternativa. I tutorial di PortSwigger forniscono istruzioni dettagliate sulla configurazione del dispositivo e sull’installazione del certificato.
Proxy trasparente tramite OpenVPN + iptables REDIRECT
Se l’app target ignora il proxy HTTP configurato, un’alternativa è mettere il dispositivo iOS dietro un researcher-controlled VPN gateway e reindirizzare trasparentemente il traffico verso Burp o mitmproxy.
Questo non è un bypass del certificate pinning di per sé. Risolve solo il plumbing di rete in modo che il traffico del dispositivo raggiunga il tuo interception proxy senza dover configurare un proxy per singola app o per il dispositivo. Se l’app effettua un vero certificate pinning, la decrittazione HTTPS fallirà comunque finché il pinning non viene bypassato separatamente.
Flusso tipico:
- Esegui un server OpenVPN su un host Linux e connetti il dispositivo iOS in modo che il suo traffico arrivi su
tun0. - Associa Burp o
mitmproxyall’IP listener della VPN sulla porta8080. - Abilita invisible proxying in Burp perché i client reindirizzati non sono proxy‑aware e si comporteranno come se si connettessero direttamente alla destinazione.
- Reindirizza le connessioni TCP
80e443che arrivano sutun0verso il listener locale del proxy. - Aggiungi una regola
POSTROUTINGMASQUERADE sull’interfaccia di uscita in modo che il traffico proxyato possa lasciare il gateway e le risposte ritornino attraverso la VPN. - Installa e attiva la fiducia per la CA dell’interception proxy sul dispositivo iOS in modo che le app che si affidano solo allo system trust store accettino i certificati leaf generati.
Example rules:
# Redirect VPN client traffic into the local interception proxy
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 443 -j REDIRECT --to-ports 8080
# Allow VPN client traffic to egress back to the Internet
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Note:
- Questo è utile quando vuoi intercettazione forzata senza modificare l’app target o configurare un proxy esplicito nelle impostazioni Wi‑Fi di iOS.
- Reindirizzare
443verso Burp funziona solo per le app che si fidano della CA installata o per app dove la validazione/pinning TLS è già stata aggirata. - Lo script di esempio nel repository upstream prende un IP e aggiunge
/24nella regolaPOSTROUTING. In pratica, usa la subnet reale del client VPN invece di presumere un/24fisso. - Se usi Burp, abilita Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying.
mitmproxypuò essere usato nella stessa configurazione se è legato all’IP del listener VPN e i requisiti della modalità trasparente sono soddisfatti.
Configurazione avanzata per dispositivi jailbroken
Per gli utenti con dispositivi jailbroken, SSH su USB (via iproxy) offre un metodo per instradare il traffico direttamente attraverso Burp:
- Stabilisci la connessione SSH: Usa iproxy per inoltrare SSH a localhost, permettendo la connessione dal dispositivo iOS al computer che esegue Burp.
iproxy 2222 22
- Port forwarding remoto: Inoltra la porta 8080 del dispositivo iOS al localhost del computer per abilitare l’accesso diretto all’interfaccia di Burp.
ssh -R 8080:localhost:8080 root@localhost -p 2222
- Impostazione proxy globale: Infine, configura le impostazioni Wi‑Fi dell’iOS per usare un proxy manuale, indirizzando tutto il traffico web attraverso Burp.
Monitoraggio/Sniffing di rete completo
Il monitoraggio del traffico non-HTTP del dispositivo può essere eseguito in modo efficiente usando Wireshark, uno strumento capace di catturare tutte le forme di traffico dati. Per i dispositivi iOS, il monitoraggio in tempo reale del traffico è facilitato dalla creazione di una Remote Virtual Interface, un processo dettagliato in this Stack Overflow post. Prima di iniziare, è necessario installare Wireshark su un sistema macOS.
La procedura comporta diversi passaggi chiave:
- Avvia una connessione tra il dispositivo iOS e l’host macOS via USB.
- Accertati del UDID del dispositivo iOS, un passaggio necessario per il monitoraggio del traffico. Questo può essere fatto eseguendo un comando nel Terminale macOS:
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
- Dopo l’identificazione dell’UDID, aprire Wireshark e selezionare l’interfaccia “rvi0” per la cattura dei dati.
- Per il monitoraggio mirato, ad esempio per catturare il traffico HTTP relativo a un indirizzo IP specifico, è possibile utilizzare i Capture Filters di Wireshark:
Installazione del certificato Burp nel simulatore
- Export Burp Certificate
In Proxy –> Options –> Export CA certificate –> Certificate in DER format
.png)
- Trascina e rilascia il certificato all’interno dell’emulatore
- All’interno dell’emulatore vai su Settings –> General –> Profile –> PortSwigger CA, e verifica il certificato
- All’interno dell’emulatore vai su Settings –> General –> About –> Certificate Trust Settings, e abilita PortSwigger CA
.png)
Congratulazioni, hai configurato con successo il certificato CA di Burp nel simulatore iOS
Tip
Il simulatore iOS utilizzerà le configurazioni proxy di MacOS.
Configurazione proxy MacOS
Passaggi per configurare Burp come proxy:
- Vai su System Preferences –> Network –> Advanced
- Nella scheda Proxies seleziona Web Proxy (HTTP) e Secure Web Proxy (HTTPS)
- In entrambe le opzioni configura 127.0.0.1:8080
.png)
- Clicca su Ok e poi su Apply
Riferimenti
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.


