J'essaie de capturer le trafic HTTP (S) à partir d'une application Xamarin iOS proxy-inattendue. Les outils actuels que j'ai disponibles sont un Mac avec une machine VM Linux Mint VM, Xcode et IOS Developer Tools, Burp Suite Community Edition, Charles Proxy et Wireshark.
J'ai testé les stratégies suivantes avec divers degrés de réussite (mais jamais plein succès):
Configuration: Burp Suite/Charles Proxy s'exécutant sur un Mac, avec le certificat de CA proxy installé sur le périphérique IOS. Le périphérique IOS est configuré pour utiliser un proxy HTTP.
Problème: intercepte uniquement certaines demandes non formulées par l'API natif HttpClient
de Xamarin, telles que Google Analytics, qui n'est pas utile pour analyser l'API d'intérêt.
Configuration: périphérique iOS connecté via un câble USB au Mac, a créé une interface réseau sur le Mac par ce guide afin de capturer des paquets directs à partir du périphérique IOS en laissant Wireshark à partir de cette interface réseau.
Problème: Toutes les demandes sont HTTPS et ne peuvent pas être déchiffrées.
Configuration: En faisant un VPN que le périphérique IOS se connecte à, tout le trafic sera acheminé via ce VPN et dans la suite Burp. Le VPN est configuré sur une menthe Linux VM avec son adaptateur réseau ponté sur la carte Wi-Fi de My Mac.
Problème: J'ai partiellement suivi n didacticiel qui décrit un PPTP VPN avec Suite Burp, mais iOS 10 et supérieur a abandonné le support de PPTP. Les tentatives de reproduction avec OpenVPN cédaient peu satisfaisants. Résultats (un autre message sur Serverfault ici ).
Comment fonctionne-t-elle efficacement et (j'espère relativement facilement) le trafic http (s) à partir d'une application mobile iOS qui ne respecte pas les paramètres de proxy du système?
Cela a été un tournant d'événements assez intéressant, apparemment, le problème avec la méthode VPN/Burp Suite a eu à voir avec ma configuration de la proxyation invisible de Burp Suite (dans laquelle j'ai négligé après avoir dépannage plusieurs fois) comme répondu dans le Question Serverfault I Publié précédemment . Pour contribuer à la communauté, voici un didacticiel sur la manière de Mitm une application de proxy-inestimation IOS> 10!
Configurez un linux VM de votre choix (j'ai utilisé Linux Mint, mais les distributions basées à Ubuntu et Debian travaillent aussi bien avec le reste du tutoriel), et Télécharger Burp Suite , de préférence la version JAR telle qu'elle est plus portable.
Installez OpenVPN selon Guide de DigitalOcean . Vérifiez que votre appareil iOS peut se connecter au VPN et qu'il peut accéder à Internet.
iptables
ConfigurationVous avez déjà configuré votre iptables
selon le guide ci-dessus pour masquer les connexions client. Vous devez maintenant configurer iptables
pour transférer toutes les demandes HTTP et HTTPS auprès de OpenVPN tun0
Interface avec le port 8080 (ou quel que soit le port de votre copie de Burp Suite)
# iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 80 -j REDIRECT --to-port 8080
# iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 443 -j REDIRECT --to-port 8080
Lancez Burp Suite, en veillant à:
S'amuser ;)