iOS Burp Suite कॉन्फ़िगरेशन

Tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Installing the Burp Certificate on iOS Devices

iOS उपकरणों पर सुरक्षित वेब ट्रैफ़िक विश्लेषण और SSL pinning के लिए, Burp Suite का उपयोग या तो Burp Mobile Assistant के माध्यम से या मैन्युअल कॉन्फ़िगरेशन के जरिए किया जा सकता है। नीचे दोनों तरीकों का संक्षेप में मार्गदर्शन दिया गया है:

Automated Installation with Burp Mobile Assistant

Burp Mobile Assistant Burp Certificate, proxy configuration, और SSL Pinning की इंस्टॉलेशन प्रक्रिया को सरल बनाता है। विस्तृत मार्गदर्शन PortSwigger’s official documentation पर उपलब्ध है।

Manual Installation Steps

  1. Proxy Configuration: iPhone की Wi-Fi सेटिंग्स में Burp को proxy के रूप में सेट करके शुरू करें।
  2. Certificate Download: अपने डिवाइस के ब्राउज़र में http://burp पर जाएँ और certificate डाउनलोड करें।
  3. Certificate Installation: डाउनलोड किया गया profile Settings > General > VPN & Device Management में इंस्टॉल करें, फिर Certificate Trust Settings के तहत PortSwigger CA के लिए trust सक्षम करें।

Configuring an Interception Proxy

यह सेटअप iOS डिवाइस और इंटरनेट के बीच के ट्रैफ़िक का विश्लेषण Burp के माध्यम से करने में सक्षम बनाता है, जिसके लिए ऐसे Wi-Fi नेटवर्क की आवश्यकता होती है जो client-to-client ट्रैफ़िक का समर्थन करता हो। यदि यह उपलब्ध नहीं है, तो usbmuxd के माध्यम से USB कनेक्शन एक वैकल्पिक विकल्प हो सकता है। PortSwigger के ट्यूटोरियल device configuration और certificate installation पर गहराई से निर्देश प्रदान करते हैं।

Transparent Proxying via OpenVPN + iptables REDIRECT

यदि target app कॉन्फ़िगर्ड HTTP proxy को अनदेखा करता है, तो एक विकल्प यह है कि iOS डिवाइस को एक researcher-controlled VPN gateway के पीछे रखा जाए और ट्रैफ़िक को transparently Burp या mitmproxy में redirect किया जाए।

यह स्वयमेव certificate pinning bypass नहीं है। यह केवल नेटवर्क प्लम्बिंग को हल करता है ताकि डिवाइस ट्रैफ़िक बिना per-app या per-device proxy कॉन्फ़िगर किए आपके interception proxy तक पहुँच सके। यदि ऐप वास्तविक certificate pinning करती है, तो HTTPS डिक्रिप्शन तब तक विफल रहेगा जब तक pinning को अलग से bypass नहीं किया जाता।

Typical flow:

  1. एक OpenVPN सर्वर को एक Linux होस्ट पर चलाएँ और iOS डिवाइस को कनेक्ट करें ताकि उसका ट्रैफ़िक tun0 पर आए।
  2. Burp या mitmproxy को VPN listener IP पर port 8080 से बाइंड करें।
  3. Burp में invisible proxying सक्षम करें क्योंकि redirected clients proxy-aware नहीं होते और वे ऐसे बोलेंगे जैसे वे सीधे destination से कनेक्ट कर रहे हों।
  4. tun0 पर आने वाले TCP 80 और 443 को local proxy listener की ओर redirect करें।
  5. egress interface पर एक POSTROUTING MASQUERADE नियम जोड़ें ताकि proxied traffic gateway छोड़ सके और replies VPN के माध्यम से वापस आ सकें।
  6. interception proxy CA को iOS डिवाइस पर इंस्टॉल और ट्रस्ट करें ताकि केवल system trust store पर निर्भर ऐप्स generated leaf certificates को स्वीकार कर सकें।

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

Notes:

  • यह उपयोगी है जब आप टार्गेट ऐप को बदले बिना या iOS Wi-Fi सेटिंग्स में एक explicit proxy कॉन्फ़िगर किए बिना forced interception चाहते हैं।
  • 443 को Burp पर रीडायरेक्ट करना केवल उन ऐप्स के लिए काम करता है जो इंस्टॉल किए गए CA पर भरोसा करते हैं या जिन ऐप्स में TLS validation / pinning पहले ही bypass किया गया हो।
  • उपस्ट्रीम repository के उदाहरण स्क्रिप्ट में एक IP लिया जाता है और POSTROUTING नियम में /24 जोड़ा जाता है। व्यावहारिक रूप से, एक fixed /24 मानने के बजाय actual VPN client subnet का उपयोग करें।
  • यदि आप Burp का उपयोग करते हैं, तो सक्षम करें Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying
  • mitmproxy को उसी लेआउट में उपयोग किया जा सकता है यदि यह VPN listener IP से बाइंड किया गया हो और transparent-mode आवश्यकताएँ पूरी हों।

Jailbroken Devices के लिए उन्नत कॉन्फ़िगरेशन

Jailbroken डिवाइस वाले यूज़र्स के लिए, USB के ऊपर SSH (via iproxy) एक तरीका प्रदान करता है जिससे ट्रैफ़िक को सीधे Burp के माध्यम से रूट किया जा सके:

  1. SSH कनेक्शन स्थापित करें: iproxy का उपयोग करके SSH को localhost पर फ़ॉरवर्ड करें, जिससे iOS डिवाइस से उस कंप्यूटर पर कनेक्शन संभव हो जो Burp चला रहा है।
iproxy 2222 22
  1. Remote Port Forwarding: iOS डिवाइस के पोर्ट 8080 को कंप्यूटर के localhost पर फ़ॉरवर्ड करें ताकि Burp के इंटरफ़ेस तक डायरेक्ट एक्सेस सक्षम हो।
ssh -R 8080:localhost:8080 root@localhost -p 2222
  1. Global Proxy Setting: अंत में, iOS डिवाइस की Wi-Fi सेटिंग्स में manual proxy सेट करें, ताकि सभी वेब ट्रैफ़िक Burp के माध्यम से जाए।

पूर्ण नेटवर्क मॉनिटरिंग/स्निफ़िंग

non-HTTP डिवाइस ट्रैफ़िक की मॉनिटरिंग प्रभावी ढंग से Wireshark का उपयोग करके की जा सकती है, यह एक ऐसा टूल है जो सभी प्रकार के डेटा ट्रैफ़िक को capture कर सकता है। iOS डिवाइसेज़ के लिए, real-time ट्रैफ़िक मॉनिटरिंग Remote Virtual Interface बनाकर सुलभ होती है, यह प्रक्रिया इस Stack Overflow पोस्ट में विस्तार से दी गई है। शुरू करने से पहले, macOS सिस्टम पर Wireshark इंस्टॉल होना आवश्यक है।

प्रक्रिया में कई प्रमुख चरण शामिल हैं:

  1. iOS डिवाइस और macOS होस्ट के बीच USB के माध्यम से कनेक्शन प्रारंभ करें।
  2. iOS डिवाइस का UDID पता करें, जो ट्रैफ़िक मॉनिटरिंग के लिए आवश्यक है। यह macOS Terminal में एक कमांड चलाकर किया जा सकता है:
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
  1. UDID की पहचान के बाद, Wireshark खोलें और डेटा कैप्चर के लिए “rvi0” इंटरफ़ेस चुनें।
  2. लक्षित मॉनिटरिंग के लिए, जैसे किसी विशिष्ट IP address से संबंधित HTTP ट्रैफ़िक कैप्चर करना, Wireshark के Capture Filters का उपयोग किया जा सकता है:

Simulator में Burp Cert इंस्टालेशन

  • Export Burp Certificate

In Proxy –> Options –> Export CA certificate –> Certificate in DER format

  • Drag and Drop करके certificate को Emulator के अंदर रखें
  • Emulator के अंदर Settings –> General –> Profile –> PortSwigger CA पर जाएँ, और certificate verify करें
  • Emulator के अंदर Settings –> General –> About –> Certificate Trust Settings पर जाएँ, और PortSwigger CA सक्षम करें

बधाई, आपने सफलतापूर्वक Burp CA Certificate को iOS simulator में कॉन्फ़िगर कर लिया है

Tip

iOS simulator MacOS की proxy configurations का उपयोग करेगा।

MacOS Proxy कॉन्फ़िगरेशन

Burp को proxy के रूप में कॉन्फ़िगर करने के चरण:

  • System Preferences –> Network –> Advanced पर जाएँ
  • Proxies टैब में Web Proxy (HTTP) और Secure Web Proxy (HTTPS) को चिन्हित करें
  • दोनों विकल्पों में 127.0.0.1:8080 सेट करें

  • Ok और फिर Apply पर क्लिक करें

References

Tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें