Διαμόρφωση Burp Suite για iOS

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Εγκατάσταση του πιστοποιητικού Burp σε συσκευές iOS

Για ανάλυση ασφαλούς web κίνησης και SSL pinning σε συσκευές iOS, το Burp Suite μπορεί να χρησιμοποιηθεί είτε μέσω του Burp Mobile Assistant είτε με χειροκίνητη διαμόρφωση. Παρακάτω υπάρχει συνοπτικός οδηγός και για τις δύο μεθόδους:

Αυτοματοποιημένη εγκατάσταση με Burp Mobile Assistant

Ο Burp Mobile Assistant απλοποιεί τη διαδικασία εγκατάστασης του πιστοποιητικού Burp, τη ρύθμιση του proxy και το SSL Pinning. Αναλυτικές οδηγίες υπάρχουν στην επίσημη τεκμηρίωση της PortSwigger.

Χειροκίνητα βήματα εγκατάστασης

  1. Proxy Configuration: Ξεκινήστε ρυθμίζοντας το Burp ως proxy στις ρυθμίσεις Wi‑Fi του iPhone.
  2. Certificate Download: Πλοηγηθείτε στο http://burp από το πρόγραμμα περιήγησης της συσκευής σας για να κατεβάσετε το πιστοποιητικό.
  3. Certificate Installation: Εγκαταστήστε το ληφθέν προφίλ μέσω Settings > General > VPN & Device Management, και στη συνέχεια ενεργοποιήστε την εμπιστοσύνη για την PortSwigger CA κάτω από τις Certificate Trust Settings.

Διαμόρφωση Interception Proxy

Η ρύθμιση επιτρέπει την ανάλυση κίνησης μεταξύ της συσκευής iOS και του Internet μέσω Burp, απαιτώντας ένα δίκτυο Wi‑Fi που υποστηρίζει client-to-client traffic. Αν δεν υπάρχει, μια σύνδεση USB μέσω usbmuxd μπορεί να λειτουργήσει ως εναλλακτική. Οι οδηγίες της PortSwigger παρέχουν αναλυτικές πληροφορίες για την διαμόρφωση της συσκευής και την εγκατάσταση πιστοποιητικού.

Transparent Proxying μέσω OpenVPN + iptables REDIRECT

Αν η στοχοποιημένη εφαρμογή αγνοεί το ρυθμισμένο HTTP proxy, μια εναλλακτική είναι να τοποθετήσετε τη συσκευή iOS πίσω από μια πύλη VPN υπό τον έλεγχο του ερευνητή και να ανακατευθύνετε διαφανώς την κίνηση προς το Burp ή το mitmproxy.

Αυτό δεν αποτελεί από μόνο του παράκαμψη του certificate pinning. Λύνει μόνο την δικτυακή δρομολόγηση ώστε η κίνηση της συσκευής να φτάνει στον interception proxy χωρίς να χρειάζεται ρύθμιση per-app ή per-device proxy. Εάν η εφαρμογή εφαρμόζει πραγματικό certificate pinning, η αποκρυπτογράφηση HTTPS θα αποτύχει μέχρι να παρακαμφθεί το pinning ξεχωριστά.

Τυπική ροή:

  1. Εκτελέστε έναν OpenVPN server σε host Linux και συνδέστε τη συσκευή iOS ώστε η κίνησή της να φτάνει στο tun0.
  2. Συνδέστε (bind) το Burp ή το mitmproxy στην IP του VPN listener στην πόρτα 8080.
  3. Ενεργοποιήστε το invisible proxying στο Burp επειδή οι ανακατευθυνόμενοι clients δεν είναι proxy-aware και θα συμπεριφέρονται σαν να συνδέονται απευθείας στον προορισμό.
  4. Ανακατευθύνετε τα TCP 80 και 443 που φτάνουν στο tun0 προς τον τοπικό proxy listener.
  5. Προσθέστε έναν κανόνα POSTROUTING MASQUERADE στην egress διεπαφή ώστε η proxied κίνηση να μπορεί να εξέλθει από την πύλη και οι απαντήσεις να επιστρέφουν μέσω του VPN.
  6. Εγκαταστήστε και εμπιστευθείτε την CA του interception proxy στη συσκευή iOS ώστε οι εφαρμογές που βασίζονται μόνο στο system trust store να αποδεχθούν τα παραγόμενα leaf πιστοποιητικά.

Παραδείγματα κανόνων:

# 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

Σημειώσεις:

  • Αυτό είναι χρήσιμο όταν θέλετε αναγκαστική υποκλοπή χωρίς να αλλάξετε την εφαρμογή-στόχο ή να διαμορφώσετε ρητό proxy στις ρυθμίσεις Wi‑Fi του iOS.
  • Η ανακατεύθυνση του 443 στο Burp λειτουργεί μόνο για εφαρμογές που εμπιστεύονται την εγκατεστημένη CA ή για εφαρμογές όπου η επικύρωση TLS / pinning έχει ήδη παρακαμφθεί.
  • Το παράδειγμα script στο upstream repository παίρνει μια IP και προσθέτει /24 στον κανόνα POSTROUTING. Στην πράξη, χρησιμοποιήστε το πραγματικό υποδίκτυο πελάτη VPN αντί να υποθέτετε ένα σταθερό /24.
  • Αν χρησιμοποιείτε Burp, ενεργοποιήστε Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying.
  • mitmproxy μπορεί να χρησιμοποιηθεί στην ίδια διάταξη εάν είναι δεμένο στην VPN listener IP και ικανοποιούνται οι απαιτήσεις transparent-mode.

Προχωρημένη διαμόρφωση για jailbroken συσκευές

Για χρήστες με jailbroken συσκευές, SSH over USB (via iproxy) προσφέρει μια μέθοδο για να δρομολογήσετε την κίνηση απευθείας μέσω του Burp:

  1. Εγκαθιδρύστε σύνδεση SSH: Χρησιμοποιήστε iproxy για να προωθήσετε το SSH στο localhost, επιτρέποντας τη σύνδεση από τη συσκευή iOS στον υπολογιστή που τρέχει Burp.
iproxy 2222 22
  1. Remote Port Forwarding: Προωθήστε τη θύρα 8080 της συσκευής iOS στο localhost του υπολογιστή για να επιτρέψετε άμεση πρόσβαση στο interface του Burp.
ssh -R 8080:localhost:8080 root@localhost -p 2222
  1. Global Proxy Setting: Τέλος, διαμορφώστε τις ρυθμίσεις Wi‑Fi της συσκευής iOS ώστε να χρησιμοποιούν χειροκίνητο proxy, κατευθύνοντας όλη την web κίνηση μέσω του Burp.

Πλήρης Παρακολούθηση/Sniffing Δικτύου

Η παρακολούθηση της κίνησης μη‑HTTP συσκευών μπορεί να πραγματοποιηθεί αποτελεσματικά με χρήση του Wireshark, ενός εργαλείου ικανoύ να καταγράφει όλες τις μορφές κυκλοφορίας δεδομένων. Για συσκευές iOS, η παρακολούθηση σε πραγματικό χρόνο διευκολύνεται μέσω της δημιουργίας μιας Απομακρυσμένης Εικονικής Διεπαφής, μια διαδικασία που περιγράφεται σε αυτή την ανάρτηση στο Stack Overflow. Πριν ξεκινήσετε, η εγκατάσταση του Wireshark σε macOS είναι απαραίτητη.

Η διαδικασία περιλαμβάνει μερικά βασικά βήματα:

  1. Ξεκινήστε μια σύνδεση μεταξύ της συσκευής iOS και του macOS host μέσω USB.
  2. Καθορίστε το iOS συσκευής UDID, ένα απαραίτητο βήμα για την παρακολούθηση της κίνησης. Αυτό μπορεί να γίνει εκτελώντας μια εντολή στο macOS Terminal:
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
  1. Μετά τον εντοπισμό του UDID, ανοίξτε το Wireshark και επιλέξτε τη διεπαφή “rvi0” για την καταγραφή δεδομένων.
  2. Για στοχευμένη παρακολούθηση, όπως η καταγραφή HTTP κίνησης που αφορά μια συγκεκριμένη IP διεύθυνση, μπορούν να χρησιμοποιηθούν τα Capture Filters του Wireshark:

Burp Cert Installation in Simulator

  • Export Burp Certificate

Σε Proxy –> Options –> Export CA certificate –> Certificate in DER format

  • Drag and Drop το πιστοποιητικό μέσα στον Emulator
  • Μέσα στον emulator πηγαίνετε σε Settings –> General –> Profile –> PortSwigger CA, και επιβεβαιώστε το πιστοποιητικό
  • Μέσα στον emulator πηγαίνετε σε Settings –> General –> About –> Certificate Trust Settings, και ενεργοποιήστε το PortSwigger CA

Συγχαρητήρια, έχετε ρυθμίσει επιτυχώς το Burp CA Certificate στο iOS simulator

Tip

Ο iOS simulator θα χρησιμοποιήσει τις proxy ρυθμίσεις του MacOS.

MacOS Proxy Configuration

Βήματα για να ρυθμίσετε τον Burp ως proxy:

  • Πηγαίνετε σε System Preferences –> Network –> Advanced
  • Στην καρτέλα Proxies επιλέξτε Web Proxy (HTTP) και Secure Web Proxy (HTTPS)
  • Σε και τις δύο επιλογές ρυθμίστε 127.0.0.1:8080

  • Κάντε κλικ στο Ok και στη συνέχεια στο Apply

References

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks