iOS Burp Suite Konfiguracija

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Installing the Burp Certificate on iOS Devices

Za analizu sigurnog web saobraćaja i SSL pinning na iOS uređajima, Burp Suite se može koristiti ili preko Burp Mobile Assistant ili putem ručne konfiguracije. Ispod je sažeti vodič za obe metode:

Automated Installation with Burp Mobile Assistant

Burp Mobile Assistant pojednostavljuje proces instalacije Burp Certificate, konfiguracije proxy-a i SSL Pinning. Detaljna uputstva mogu se naći na PortSwigger’s official documentation.

Manual Installation Steps

  1. Proxy Configuration: Počnite tako što ćete podesiti Burp kao proxy u Wi‑Fi podešavanjima iPhone-a.
  2. Certificate Download: Idite na http://burp u pregledaču uređaja da biste preuzeli sertifikat.
  3. Certificate Installation: Instalirajte preuzeti profil preko Settings > General > VPN & Device Management, zatim omogućite poverenje za PortSwigger CA u Certificate Trust Settings.

Configuring an Interception Proxy

Podešavanje omogućava analizu saobraćaja između iOS uređaja i interneta preko Burp-a, što zahteva Wi‑Fi mrežu koja podržava client-to-client saobraćaj. Ako to nije dostupno, USB veza preko usbmuxd može poslužiti kao alternativa. PortSwigger’s tutorials provide in-depth instructions on device configuration and certificate installation.

Transparent Proxying via OpenVPN + iptables REDIRECT

Ako ciljna aplikacija ignoriše podešeni HTTP proxy, alternativa je da se iOS uređaj postavi iza VPN gateway pod kontrolom istraživača i transparentno preusmeri saobraćaj u Burp ili mitmproxy.

Ovo samo po sebi nije certificate pinning bypass. Rešava samo mrežno usmeravanje tako da saobraćaj uređaja stigne do vašeg presretačkog proxy-ja bez podešavanja proxy-ja po aplikaciji ili uređaju. Ako aplikacija koristi stvarni certificate pinning, HTTPS dešifrovanje će i dalje neuspeti dok pinning ne bude zasebno zaobiđen.

Tipičan tok:

  1. Pokrenite OpenVPN server na Linux hostu i povežite iOS uređaj tako da njegov saobraćaj stigne na tun0.
  2. Podesite da Burp ili mitmproxy slušaju na VPN listener IP na portu 8080.
  3. Omogućite invisible proxying u Burp-u jer preusmereni klijenti nisu svesni proxy-ja i komuniciraju kao da se direktno povezuju na destinaciju.
  4. Preusmerite TCP 80 i 443 koji dolaze na tun0 prema lokalnom proxy listener-u.
  5. Dodajte POSTROUTING MASQUERADE pravilo na egress interfejsu kako bi proxied saobraćaj mogao napustiti gateway i da se odgovori vraćaju preko VPN-a.
  6. Instalirajte i verujte CA presretačkog proxy-ja na iOS uređaju tako da aplikacije koje se oslanjaju samo na sistemski trust store prihvate generisane leaf sertifikate.

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

Napomene:

  • Ovo je korisno kada želite prisilno presretanje bez menjanja ciljne aplikacije ili podešavanja eksplicitnog proxy-ja u iOS Wi‑Fi podešavanjima.
  • Preusmeravanje 443 ka Burp-u funkcioniše samo za aplikacije koje veruju instaliranom CA ili za aplikacije gde je TLS validacija / pinning već zaobiđena.
  • Primer skripte iz upstream repozitorijuma uzima IP i dodaje /24 u POSTROUTING pravilu. U praksi koristite stvarni subnet VPN klijenta umesto pretpostavljanja fiksnog /24.
  • If you use Burp, enable Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying.
  • mitmproxy se može koristiti u identičnoj konfiguraciji ako je vezan za VPN listener IP i ako su ispunjeni zahtevi za transparent mode.

Napredna konfiguracija za jailbroken uređaje

Za korisnike sa jailbroken uređajima, SSH preko USB (putem iproxy) nudi metod za usmeravanje saobraćaja direktno kroz Burp:

  1. Uspostavite SSH konekciju: Koristite iproxy da prosledite SSH na localhost, omogućavajući konekciju sa iOS uređaja na računar na kojem radi Burp.
iproxy 2222 22
  1. Udaljeno prosleđivanje porta: Prosledite port 8080 sa iOS uređaja na localhost računara kako biste omogućili direktan pristup Burp interfejsu.
ssh -R 8080:localhost:8080 root@localhost -p 2222
  1. Globalno podešavanje proxy-ja: Na kraju, podesite Wi‑Fi podešavanja iOS uređaja da koriste manuelni proxy, usmeravajući sav web saobraćaj kroz Burp.

Potpuno mrežno praćenje/presretanje

Praćenje ne-HTTP saobraćaja uređaja može se efikasno obaviti koristeći Wireshark, alat sposoban za hvatanje svih oblika podatkovnog saobraćaja. Za iOS uređaje praćenje saobraćaja u realnom vremenu omogućava se kreiranjem Remote Virtual Interface, postupak je detaljno opisan u ovaj post na Stack Overflow-u. Pre početka, instalacija Wireshark na macOS sistemu je preduslov.

Procedura uključuje nekoliko ključnih koraka:

  1. Uspostavite vezu između iOS uređaja i macOS hosta preko USB-a.
  2. Utvrđivanje UDID iOS uređaja je neophodno za praćenje saobraćaja. To se može uraditi izvršavanjem komande u Terminalu na macOS-u:
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
  1. Nakon identifikacije UDID-a, treba otvoriti Wireshark i izabrati interfejs “rvi0” za snimanje podataka.
  2. Za ciljani monitoring, kao što je hvatanje HTTP saobraćaja vezanog za određenu IP adresu, mogu se koristiti Wireshark-ovi Capture Filters:

Burp Cert Installation in Simulator

  • Export Burp Certificate

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

  • Prevucite i otpustite sertifikat u Emulator
  • U emulatoru otvorite Settings –> General –> Profile –> PortSwigger CA i potvrdite sertifikat
  • U emulatoru otvorite Settings –> General –> About –> Certificate Trust Settings i omogućite PortSwigger CA

Čestitamo, uspešno ste konfigurisali Burp CA sertifikat u iOS simulatoru

Tip

iOS simulator će koristiti proxy konfiguracije MacOS-a.

Konfiguracija proxy-a na MacOS-u

Koraci za podešavanje Burp-a kao proxy-ja:

  • Go to System Preferences –> Network –> Advanced
  • In Proxies tab mark Web Proxy (HTTP) and Secure Web Proxy (HTTPS)
  • In both options configure 127.0.0.1:8080

  • Kliknite na Ok i zatim na Apply

Reference

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks