SSL Pinning Bypass Teknikleri

Android’de SSL Pinning’i Bypass Etmenin 9 Farklı Yolu

SSL Pinning Nedir ve Ne Amaçla Kullanılır?

SSL Pinning, mobil uygulamalarda güvenliği artırmak için kullanılan bir tekniktir. SSL (Secure Sockets Layer) veya TLS (Transport Layer Security), verilerin güvenli bir şekilde iletilmesini sağlar. SSL Pinning ise, belirli bir sunucunun sertifikasını uygulama içerisine sabitleyerek, sadece bu sertifikaya sahip sunucularla bağlantı kurulmasına izin verir. Bu sayede, man-in-the-middle (MITM) saldırıları ve diğer ağ tabanlı tehditler engellenir.

SSL Pinning Bypass Neden ve Nasıl Yapılır?

Güvenlik testleri ve sızma testleri sırasında, uygulamanın güvenlik önlemlerinin değerlendirilmesi ve olası zafiyetlerin tespit edilmesi için SSL Pinning korumasının atlatılması gerekebilir. Bu süreç, uygulamanın gerçek dünyada karşılaşabileceği saldırı senaryolarını simüle etmeye yardımcı olur. Aşağıda, Android cihazlarda SSL Pinning’i bypass etmek için kullanılabilecek dokuz farklı yöntem bulunmaktadır.

1. Frida Kullanarak SSL Pinning’i Bypass Etmek

Frida, güçlü bir dinamik araç setidir ve canlı uygulamaların davranışlarını değiştirmek için kullanılır. Frida ile SSL Pinning kontrollerini bypass edebilirsiniz. Frida script’leri yazarak veya hazır script’leri kullanarak bu işlemi gerçekleştirebilirsiniz. Örnek bir Frida script’i şu şekildedir:

javascript
Java.perform(function () { var okhttp3_CertificatePinner = Java.use('okhttp3.CertificatePinner'); okhttp3_CertificatePinner.check.overload('java.lang.String', 'java.util.List').implementation = function (str, list) { console.log('Bypassing SSL Pinning for: ' + str); return; }; });

Bu script’i çalıştırmak için terminalde şu komutu kullanabilirsiniz:

bash
frida -U -f com.example.app -l bypass_ssl_pinning.js --no-pause

2. Xposed Framework ile SSL Pinning’i Atlatmak

Xposed Framework, Android cihazlarda sistem seviyesinde değişiklikler yapmanıza olanak tanır. Bu framework’ü kullanarak SSL Pinning’i bypass edebilir ve trafik analizlerinizi gerçekleştirebilirsiniz. SSLUnpinning gibi Xposed modüllerini kullanarak bu işlemi kolayca yapabilirsiniz. Xposed Installer uygulaması üzerinden SSLUnpinning modülünü yükleyip etkinleştirerek kullanabilirsiniz.

3. Burp Suite ve Burp Suite’nin CA Sertifikasını Kullanma

Burp Suite, güvenlik testlerinde yaygın olarak kullanılan bir proxy aracıdır. Burp Suite’nin CA sertifikasını cihazınıza yükleyerek, SSL Pinning korumasını atlatabilir ve trafik analizi yapabilirsiniz. CA sertifikasını yüklemek için şu adımları izleyin:

  1. Burp Suite’de, “Proxy” -> “Options” -> “Proxy Listeners” -> “Import / Export CA Certificate” yolunu izleyin ve sertifikayı indirin.
  2. Android cihazınızda, “Ayarlar” -> “Güvenlik” -> “Sertifikaları Yükle” bölümüne gidin ve Burp sertifikasını yükleyin.

4. Android Emulator ile SSL Pinning’i Atlatmak

Android Emulator, test işlemlerinde kullanışlı bir araçtır. Emülatördeki güvenlik kontrollerini atlayarak SSL Pinning’i bypass edebilirsiniz. Emülatörde sistem dosyalarına erişim daha kolay olduğu için, SSL sertifikalarını değiştirmek veya uygulama kodlarını modifiye etmek mümkündür.

  1. Emülatörü başlatın.
  2. “adb root” komutuyla root erişimini etkinleştirin.
  3. “adb remount” komutuyla dosya sistemini yeniden bağlayın.
  4. İlgili SSL sertifikalarını emülatöre yükleyin.

5. Magisk ile Root ve Rooted Cihazlarda SSL Pinning’i Bypass Etmek

Magisk, root işlemlerini gerçekleştirmek ve gizlemek için kullanılan popüler bir araçtır. Magisk modüllerini kullanarak, rooted cihazlarda SSL Pinning korumasını atlatabilirsiniz. Örneğin, “Magisk Trust User Certs” modülünü kullanarak kullanıcı sertifikalarını güvenilir hale getirebilirsiniz.

  1. Magisk Manager uygulamasını açın.
  2. “Downloads” bölümüne gidin ve “Magisk Trust User Certs” modülünü yükleyin.
  3. Cihazınızı yeniden başlatın.

6. ApkTool Kullanarak Uygulama Kodlarını Değiştirmek

ApkTool, APK dosyalarını decompile edip yeniden derlemek için kullanılan bir araçtır. ApkTool ile uygulama kodlarını değiştirebilir ve SSL Pinning kontrollerini kaldırabilirsiniz. Örnek bir kullanım şu şekildedir:

bash
apktool d myapp.apk # Decompile edilen kodlar üzerinde değişiklik yapıldıktan sonra apktool b myapp # Yeni APK dosyası imzalanmalıdır jarsigner -keystore my-release-key.jks myapp.apk alias_name

7. Objection ile SSL Pinning’i Atlatmak

Objection, Frida tabanlı bir mobil güvenlik test aracıdır. Objection ile canlı olarak uygulamaların güvenlik kontrollerini değiştirebilir ve SSL Pinning’i bypass edebilirsiniz. Örnek bir Objection komutu şu şekildedir:

bash
objection -g com.example.app explore # Objection shell içinde android sslpinning disable

8. Custom ROM Kullanarak Güvenlik Kontrollerini Atlatmak

Custom ROM’lar, cihazın işletim sistemini değiştiren özel ROM’lardır. Custom ROM’lar ile cihazın güvenlik kontrollerini değiştirebilir ve SSL Pinning’i bypass edebilirsiniz. Ancak, bu yöntem cihaz garantisini geçersiz kılabilir ve dikkatli kullanılmalıdır.

  1. Custom ROM’u indirin ve cihazınıza yükleyin.
  2. Cihazınızın bootloader’ını açın ve Custom ROM’u flashlayın.

9. Network Security Configuration Dosyalarını Değiştirmek

Android uygulamaları, ağ güvenliği konfigürasyonlarını tanımlamak için XML dosyaları kullanır. Bu dosyalarda değişiklik yaparak SSL Pinning kontrollerini kaldırabilirsiniz. Uygulamanın res/xml/network_security_config.xml dosyasını değiştirerek bu işlemi gerçekleştirebilirsiniz. Örnek bir network_security_config.xml dosyası şu şekildedir:

xml
<network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">example.com</domain> <trust-anchors> <certificates src="system"/> <certificates src="user"/> </trust-anchors> </domain-config> </network-security-config>

Bu yöntemler, Android cihazlarda SSL Pinning’i bypass etmek için kullanılabilecek farklı tekniklerdir. Güvenlik testleri ve araştırma amacıyla kullanıldığında faydalı olabilirler. Ancak, bu bilgileri kötü niyetli amaçlarla kullanmak yasalara aykırıdır ve ciddi sonuçlar doğurabilir.

Bu yazıda anlatılan her teknik ve yaklaşım bilgilendirme amacındadır ve güvenliğinizi sağlamanıza yardımcı olmak için hazırlanmıştır. Daha profesyonel destek ve detaylı bilgi için Secure Fors ile irtibata geçebilirsiniz. Secure Fors, uzman kadrosu ile siber güvenlik ihtiyaçlarınıza yönelik çözümler sunmaktadır. Güvenliğinizi en üst düzeyde tutmak için profesyonel hizmetlerimizden faydalanabilirsiniz.

Sosyal medyada paylaş
Facebook
Twitter
LinkedIn
Telegram