Proxy ile Android Uygulamaların Trafiğini İnceleme
Birçok Android uygulaması Google servisleriyle çalışır. Bazı uygulamalar bu servisleri sadece gerekli işlemler için kullanırken; bazı uygulamalar konumunuzu, operatörünüzü, hatta telefonunuzun belirli bir andaki ses seviyesini içeren verileri öğrenmek için kullanabilir. Ya da uygulamanın kendi analitik servisleri mevcut olabilir. Bu durumda uygulamanın ne tür verileri gönderdiğini öğrenmek için uygulamanın trafiğini incelemek gerekir.
Araçlar
• Burp Suite Community Edition
• Bir adet Android cihaz veya emülatör
BurpSuite Ayarları
BurpSuite açın ve temporary project seçeneğiyle ilerleyin. Sonra Proxy sekmesine gelerek Proxy ayarlarını açın.
Yeni proxy listener ekle seçeneğine tıklayın. Burada port numarasını 8082 olarak ayarlayın. Bu noktada tüm arayüzlerden dinleme olarak ayarlayın, normal şartlarda bu ayar güvenli değil fakat şimdilik görmezden gelelim.
Ayarları kaydettikten sonra şöyle gözükmeli.
Burada Import/export CA Certificate seçeneğine tıklayın. Çıkan pencerede sertifikayı DER formatında kaydedin. Bu sertifikayı Android cihaza yükleyeceğiz.
Android Cihazı Ayarları
Kaydedilen .cer dosyasını Android cihaza atın. Dosyaya tıklayın ve istediğiniz bir isim vererek sertifikayı yükleyin. Android sistemi bilinmeyen bir kaynaktan sertifika yüklendi bildirimi verebilir. Yüklerken de uyarı veriyorsa kabul ederek devam edin.
Emülatöre sertifika yüklerken uzantıyı .crt olarak değişmeniz gerekebilir.
Cihazın Wi-Fi ayarlarına gelerek ağa bağlı olduğunuz Wi-Fi basılı tutun. Açılan menüden Ağ ayarlarını değiştir seçeneğine tıklayın. Proxy ayarlarını manuel olarak ayarlayarak Hostname kısmına bilgisayarınızın yerel IP adresini yazın. Yerel IP öğrenmek için Windows’ta ipconfig
, Linux’te ifconfig
komutunu kullanabilirsiniz. Port kısmına ise BurpSuite’de ayarladığımız port numarasını yazın. Burada 8082 yazıyor olmalı.
BurpSuite İncelemesi
BurpSuite’de Proxy sekmesine gelerek HTTP geçmişini açın. Cihaz herhangi bir adrese istek yapıyorsa burada görünmeli. Örneğin Brave tarayıcısı açıldığı anda https://go-updater.brave.com/
adresine bir istek yapıyor. Bu kapatmanın mümkün olmadığı Brave güncelleme özelliği. İsteği ve cevabı incelersek ilgili istemcinin son sürümü kullanmakta olduğunu görebiliriz.
Kısacası olay bu. Örneğin açık kaynak olan Kiwi Browser’ın arama çubuğundan yapılan Yahoo ve Bing aramalarının verilerini gönderdiği ortaya çıkmıştı, tabii bu en hafif örneklerden biri ve geliştiricinin savunması da var. Fakat bazı şirketler gerçekten sınır bilmiyor, fazlasıyla özel ve kişisel veriler topluyorlar (“-Sözleşmeyi kabul ettiniz. -Evet?”). Bu gibi durumlarda bunları tespit etmek ve mümkün olduğunca önlemek ise bize kalıyor.
Uygulama bağlantı hatası veriyorsa muhtemelen sertifika pinlemesi vb. koruyucu mekanizmalara sahiptir. apk-mitm, android-unpinner veya ReVanced
Override certificate pinning
patchini kullanarak erişim sağlayabilirsiniz.