Configuration de Burp Suite pour iOS
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
Installation du certificat Burp sur les appareils iOS
Pour l’analyse du trafic web sécurisé et le SSL pinning sur les appareils iOS, Burp Suite peut être utilisé soit via le Burp Mobile Assistant, soit via une configuration manuelle. Voici un guide résumé des deux méthodes :
Installation automatisée avec Burp Mobile Assistant
Le Burp Mobile Assistant simplifie l’installation du certificat Burp, la configuration du proxy et le SSL pinning. Un guide détaillé est disponible dans la documentation officielle de PortSwigger : https://portswigger.net/burp/documentation/desktop/tools/mobile-assistant/installing
Étapes d’installation manuelle
- Configuration du proxy : Commencez par définir Burp comme proxy dans les réglages Wi‑Fi de l’iPhone.
- Téléchargement du certificat : Rendez-vous sur
http://burpdepuis le navigateur de l’appareil pour télécharger le certificat. - Installation du certificat : Installez le profil téléchargé via Settings > General > VPN & Device Management, puis activez la confiance pour la CA PortSwigger dans Certificate Trust Settings.
Configuration d’un proxy d’interception
Cette configuration permet d’analyser le trafic entre l’appareil iOS et Internet via Burp, en nécessitant un réseau Wi‑Fi qui supporte le trafic client-à-client. Si ce n’est pas disponible, une connexion USB via usbmuxd peut servir d’alternative. Les tutoriels de PortSwigger fournissent des instructions détaillées sur la configuration de l’appareil et l’installation du certificat.
Proxy transparent via OpenVPN + iptables REDIRECT
Si l’application cible ignore le proxy HTTP configuré, une alternative consiste à placer l’appareil iOS derrière une passerelle VPN contrôlée par le chercheur et à rediriger transparentement le trafic vers Burp ou mitmproxy.
Ce n’est pas en soi un contournement du certificate pinning. Cela ne résout que la plomberie réseau pour que le trafic de l’appareil atteigne votre proxy d’interception sans configurer de proxy par application ou par appareil. Si l’application réalise un vrai certificate pinning, le déchiffrement HTTPS échouera toujours tant que le pinning n’aura pas été contourné séparément.
Flux typique :
- Faites tourner un serveur OpenVPN sur un hôte Linux et connectez l’appareil iOS pour que son trafic arrive sur
tun0. - Liez Burp ou
mitmproxyà l’IP d’écoute du VPN sur le port8080. - Activez invisible proxying dans Burp car les clients redirigés ne sont pas aware du proxy et se comporteront comme s’ils se connectaient directement à la destination.
- Redirigez les flux TCP
80et443arrivant surtun0vers le listener local du proxy. - Ajoutez une règle
POSTROUTINGMASQUERADE sur l’interface de sortie afin que le trafic proxifié puisse quitter la passerelle et que les réponses reviennent via le VPN. - Installez et faites confiance à la CA du proxy d’interception sur l’appareil iOS afin que les applications qui se fient uniquement au magasin de confiance système acceptent les certificats leaf générés.
Exemples de règles:
# 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
Remarques :
- Ceci est utile lorsque vous souhaitez forced interception sans modifier l’application cible ou configurer un proxy explicite dans les réglages Wi‑Fi d’iOS.
- Rediriger
443vers Burp ne fonctionne que pour les applications qui font confiance à la CA installée ou pour les applications où la validation TLS / pinning a déjà été contournée. - Le script d’exemple du dépôt upstream prend une IP et ajoute
/24dans la règlePOSTROUTING. En pratique, utilisez le sous-réseau réel du client VPN au lieu de supposer un/24fixe. - Si vous utilisez Burp, activez Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying.
mitmproxypeut être utilisé dans la même configuration s’il est lié à l’IP du listener VPN et que les exigences du mode transparent sont satisfaites.
Configuration avancée pour les appareils jailbreakés
Pour les utilisateurs d’appareils jailbreakés, SSH over USB (via iproxy) offre une méthode pour rediriger le trafic directement via Burp :
- Establish SSH Connection : Utilisez iproxy pour rediriger SSH vers localhost, permettant la connexion depuis l’appareil iOS vers l’ordinateur exécutant Burp.
iproxy 2222 22
- Remote Port Forwarding : Redirigez le port 8080 de l’appareil iOS vers le localhost de l’ordinateur pour permettre l’accès direct à l’interface de Burp.
ssh -R 8080:localhost:8080 root@localhost -p 2222
- Global Proxy Setting : Enfin, configurez les réglages Wi‑Fi de l’appareil iOS pour utiliser un proxy manuel, en dirigeant tout le trafic web via Burp.
Full Network Monitoring/Sniffing
La surveillance du trafic non-HTTP des appareils peut être effectuée efficacement à l’aide de Wireshark, un outil capable de capturer toutes les formes de trafic de données. Pour les appareils iOS, la surveillance en temps réel est facilitée par la création d’une Remote Virtual Interface, un processus détaillé dans this Stack Overflow post. Avant de commencer, l’installation de Wireshark sur un système macOS est requise.
La procédure implique plusieurs étapes clés :
- Établissez une connexion entre l’appareil iOS et l’hôte macOS via USB.
- Déterminez l’UDID de l’appareil iOS, étape nécessaire pour la surveillance du trafic. Cela peut être fait en exécutant une commande dans le Terminal macOS :
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
- Après l’identification de l’UDID, Wireshark doit être ouvert, et l’interface “rvi0” sélectionnée pour la capture des données.
- Pour une surveillance ciblée, par exemple la capture du trafic HTTP lié à une adresse IP spécifique, les Capture Filters de Wireshark peuvent être utilisés :
Burp Cert Installation in Simulator
- Export Burp Certificate
In Proxy –> Options –> Export CA certificate –> Certificate in DER format
.png)
- Glisser-déposer le certificat dans l’émulateur
- Dans l’émulateur allez dans Settings –> General –> Profile –> PortSwigger CA, et vérifiez le certificat
- Dans l’émulateur allez dans Settings –> General –> About –> Certificate Trust Settings, et activez PortSwigger CA
.png)
Félicitations, vous avez configuré avec succès le certificat CA de Burp dans le simulateur iOS
Tip
Le simulateur iOS utilisera les configurations de proxy de MacOS.
MacOS Proxy Configuration
Étapes pour configurer Burp comme proxy :
- Allez dans System Preferences –> Network –> Advanced
- Dans l’onglet Proxies cochez Web Proxy (HTTP) et Secure Web Proxy (HTTPS)
- Dans les deux options configurez 127.0.0.1:8080
.png)
- Cliquez sur Ok puis sur Apply
References
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.


