iOS Burp Suite Yapılandırması

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

iOS Cihazlarda Burp Sertifikasının Yüklenmesi

Güvenli web trafiği analizi ve SSL pinning için iOS cihazlarda Burp Suite ya Burp Mobile Assistant aracılığıyla ya da elle yapılandırma ile kullanılabilir. Aşağıda her iki yöntem için özet bir rehber bulunmaktadır:

Burp Mobile Assistant ile Otomatik Kurulum

Burp Mobile Assistant, Burp Sertifikası’nın kurulumu, proxy yapılandırması ve SSL Pinning işlemlerini basitleştirir. Detaylı rehbere PortSwigger’ın resmi dokümantasyonundan ulaşabilirsiniz.

Manuel Yükleme Adımları

  1. Proxy Yapılandırması: Başlamak için iPhone’un Wi‑Fi ayarlarında Burp’u proxy olarak ayarlayın.
  2. Sertifika İndirme: Sertifikayı indirmek için cihazınızdaki tarayıcıda http://burp adresine gidin.
  3. Sertifika Kurulumu: İndirilen profili Ayarlar > Genel > VPN ve Aygıt Yönetimi üzerinden yükleyin, ardından PortSwigger CA için Sertifika Güven Ayarları altında güveni etkinleştirin.

Configuring an Interception Proxy

Bu kurulum, iOS cihazı ile internet arasındaki trafiğin Burp üzerinden analiz edilmesini sağlar ve client-to-client trafiğine izin veren bir Wi‑Fi ağı gerektirir. Bu yoksa, alternatif olarak usbmuxd üzerinden bir USB bağlantısı kullanılabilir. PortSwigger’ın öğreticileri device configuration ve certificate installation konusunda ayrıntılı talimatlar sağlar.

OpenVPN + iptables REDIRECT ile Şeffaf Proxyleme

Hedef uygulama yapılandırılmış HTTP proxy’yi yok sayıyorsa, alternatif olarak iOS cihazını bir araştırmacı denetimli VPN geçidi arkasına koyup trafiği Burp veya mitmproxy’e şeffaf şekilde yönlendirebilirsiniz.

Bu tek başına bir certificate pinning bypass değildir. Sadece cihaz trafiğinin, uygulama başına veya cihaza özel proxy yapılandırmadan interception proxy’nize ulaşmasını sağlar. Uygulama gerçek certificate pinning yapıyorsa, pinning ayrı olarak atlatılmadan HTTPS şifre çözümü başarısız olacaktır.

Tipik akış:

  1. Bir OpenVPN sunucusunu Linux host üzerinde çalıştırın ve iOS cihazını bağlayın, böylece trafiği tun0 üzerinden gelir.
  2. Burp veya mitmproxy’yi VPN dinleyici IP’sine port 8080 üzerinde bağlayın.
  3. Burp’ta invisible proxying’i etkinleştirin; çünkü yönlendirilen istemciler proxy farkında değildir ve doğrudan hedefe bağlanıyormuş gibi konuşurlar.
  4. tun0 üzerinde gelen TCP 80 ve 443 trafiğini yerel proxy dinleyicisine yönlendirin.
  5. Çıkış arayüzüne POSTROUTING MASQUERADE kuralı ekleyin, böylece proxylenmiş trafik ağ geçidinden çıkabilir ve yanıtlar VPN üzerinden dönebilir.
  6. Sistem güven deposuna güvenen uygulamaların oluşturulan yaprak sertifikaları kabul etmesi için interception proxy CA’sını iOS cihazına yükleyin ve güvenini etkinleştirin.

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

Notlar:

  • Bu, hedef uygulamayı değiştirmeden veya iOS Wi‑Fi ayarlarında açık bir proxy yapılandırmadan zorunlu araya girme yapmak istediğiniz durumlarda kullanışlıdır.
  • 443’ü Burp’e yönlendirmek yalnızca yüklü olan CA’ya güvenen uygulamalar veya TLS validation / pinning’in zaten atlatıldığı uygulamalar için çalışır.
  • Upstream repository örnek betiği bir IP alır ve POSTROUTING kuralında /24 ekler. Pratikte sabit bir /24 varsaymak yerine gerçek VPN istemcisi alt ağını kullanın.
  • Eğer Burp kullanıyorsanız, Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying seçeneğini etkinleştirin.
  • mitmproxy, VPN dinleyici IP’sine bağlıysa ve transparent-mode gereksinimleri karşılanıyorsa aynı düzen içinde kullanılabilir.

Jailbreak’li Cihazlar için Gelişmiş Yapılandırma

Jailbroken cihazlara sahip kullanıcılar için, USB üzerinden SSH (via iproxy) trafiği doğrudan Burp üzerinden yönlendirmek için bir yöntem sunar:

  1. SSH Bağlantısı Kurun: SSH’i localhost’a yönlendirmek için iproxy kullanın; bu, iOS cihazının Burp’un çalıştığı bilgisayara bağlanmasını sağlar.
iproxy 2222 22
  1. Uzak Port Yönlendirme: iOS cihazının 8080 portunu bilgisayarın localhost’una yönlendirerek Burp arayüzüne doğrudan erişimi etkinleştirin.
ssh -R 8080:localhost:8080 root@localhost -p 2222
  1. Genel Proxy Ayarı: Son olarak, iOS cihazının Wi‑Fi ayarlarını manuel proxy kullanacak şekilde yapılandırın ve tüm web trafiğini Burp’e yönlendirin.

Tam Ağ İzleme/Sniffing

HTTP olmayan cihaz trafiğinin izlenmesi, tüm veri trafiği biçimlerini yakalayabilen bir araç olan Wireshark kullanılarak verimli bir şekilde gerçekleştirilebilir. iOS cihazları için gerçek zamanlı trafik izleme, Remote Virtual Interface oluşturulmasıyla kolaylaştırılır; bu süreç this Stack Overflow post’ta ayrıntılı olarak açıklanmıştır. Başlamadan önce bir macOS sistemine Wireshark kurulumu gereklidir.

Prosedür birkaç önemli adımı içerir:

  1. iOS cihaz ile macOS host arasında USB üzerinden bir bağlantı başlatın.
  2. Trafik izlemesi için gerekli olan iOS cihazının UDID’ini belirleyin. Bu, macOS Terminalinde bir komut çalıştırılarak yapılabilir:
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
  1. UDID tespit edildikten sonra, Wireshark açılmalı ve veri yakalama için “rvi0” arayüzü seçilmelidir.
  2. Belirli bir IP adresiyle ilgili HTTP trafiğini yakalamak gibi hedefe yönelik izleme için Wireshark’ın Capture Filters’ı kullanılabilir:

Burp Sertifika Kurulumu (Simulator)

  • Burp Sertifikasını Dışa Aktarma

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

  • Sürükle ve Bırak ile sertifikayı Emulator içine taşıyın
  • Emulator içinde Settings –> General –> Profile –> PortSwigger CA yoluna gidin ve sertifikayı doğrulayın
  • Emulator içinde Settings –> General –> About –> Certificate Trust Settings yoluna gidin ve PortSwigger CA’yı etkinleştirin

Tebrikler, iOS simulator’da Burp CA Certificate’i başarıyla yapılandırdınız

Tip

iOS simulator, MacOS’un proxy yapılandırmalarını kullanacaktır.

MacOS Proxy Yapılandırması

Burp’u proxy olarak yapılandırma adımları:

  • System Preferences –> Network –> Advanced bölümüne gidin
  • Proxies sekmesinde Web Proxy (HTTP) ve Secure Web Proxy (HTTPS) işaretleyin
  • Her iki seçenekte de 127.0.0.1:8080 yapılandırın

  • Ok’e ve ardından Apply’e tıklayın

Referanslar

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin