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:
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:
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:
- Burp Suite’de, “Proxy” -> “Options” -> “Proxy Listeners” -> “Import / Export CA Certificate” yolunu izleyin ve sertifikayı indirin.
- 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.
- Emülatörü başlatın.
- “adb root” komutuyla root erişimini etkinleştirin.
- “adb remount” komutuyla dosya sistemini yeniden bağlayın.
- İ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.
- Magisk Manager uygulamasını açın.
- “Downloads” bölümüne gidin ve “Magisk Trust User Certs” modülünü yükleyin.
- 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:
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:
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.
- Custom ROM’u indirin ve cihazınıza yükleyin.
- 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:
<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.