Install Burp Certificate
Last updated
Last updated
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)
Öncelikle Burp'tan Der sertifikasını indirmeniz gerekiyor. Bunu Proxy --> Options --> Import / Export CA certificate kısmında yapabilirsiniz.
Sertifikayı Der formatında dışa aktarın ve Android'in anlayabileceği bir forma dönüştürelim. Burp sertifikasını AVD'deki Android makinesinde yapılandırmak için bu makineyi -writable-system
seçeneği ile çalıştırmanız gerektiğini unutmayın.
Örneğin, şu şekilde çalıştırabilirsiniz:
Sonra, burp sertifikasını yapılandırmak için:
Makine yeniden başlatmayı tamamladıktan sonra burp sertifikası kullanılmaya başlanacaktır!
Eğer cihazınızı Magisc ile rootladıysanız (belki bir emülatör), ve Burp sertifikasını yüklemek için önceki adımları takip edemiyorsanız çünkü dosya sistemi salt okunur ve yazılabilir olarak yeniden bağlayamıyorsanız, başka bir yol vardır.
Bu videoda açıklandığı gibi:
Bir CA sertifikası yükleyin: Sadece sürükleyip bırakın DER Burp sertifikasını uzantısını .crt
olarak değiştirerek mobil cihazda İndirilenler klasörüne kaydedin ve Sertifika yükle
-> CA sertifikası
kısmına gidin.
Sertifikanın doğru bir şekilde kaydedildiğini kontrol etmek için Güvenilir kimlik bilgileri
-> KULLANICI
kısmına gidin.
Sistem güvenilir hale getirin: Magisc modülünü MagiskTrustUserCerts (bir .zip dosyası) indirin, sürükleyip bırakın telefonunuza, telefonunuzdaki Magics uygulamasına gidin ve Modüller
bölümüne geçin, Depodan yükle
seçeneğine tıklayın, .zip
modülünü seçin ve yüklendikten sonra yeniden başlatın:
Yeniden başlatmadan sonra, Güvenilir kimlik bilgileri
-> SİSTEM
kısmına gidin ve Postswigger sertifikasının orada olduğunu kontrol edin.
Son Android 14 sürümünde, sistem güvenilir Sertifika Otoritesi (CA) sertifikalarının yönetiminde önemli bir değişiklik gözlemlenmiştir. Önceden, bu sertifikalar /system/etc/security/cacerts/
dizininde bulunuyordu ve root ayrıcalıklarına sahip kullanıcılar tarafından erişilebilir ve değiştirilebilir durumdaydı, bu da sistem genelinde anında uygulanmasını sağlıyordu. Ancak, Android 14 ile birlikte, depolama yeri /apex/com.android.conscrypt/cacerts
dizinine taşınmıştır; bu dizin /apex
yolunun içinde yer almakta olup, doğası gereği değiştirilemezdir.
APEX cacerts yolu'nu yazılabilir olarak yeniden bağlama girişimleri başarısızlıkla sonuçlanmaktadır, çünkü sistem böyle işlemlere izin vermemektedir. Geçici bir dosya sistemi (tmpfs) ile dizini ayırma veya üst üste bindirme girişimleri bile değiştirilemezliği aşmamaktadır; uygulamalar, dosya sistemi düzeyindeki değişikliklere bakılmaksızın orijinal sertifika verilerine erişmeye devam etmektedir. Bu dayanıklılık, /apex
montajının ÖZEL yayılma ile yapılandırılmasından kaynaklanmaktadır; bu da /apex
dizinindeki herhangi bir değişikliğin diğer süreçleri etkilememesini sağlamaktadır.
Android'in başlatılması, işletim sistemini başlatırken Zygote sürecini de başlatan init
süreci ile gerçekleşir. Bu süreç, özel bir /apex
montajını içeren yeni bir montaj ad alanı ile uygulama süreçlerini başlatmaktan sorumludur ve böylece bu dizindeki değişiklikleri diğer süreçlerden izole eder.
Yine de, /apex
dizinindeki sistem güvenilir CA sertifikalarını değiştirmek isteyenler için bir çözüm bulunmaktadır. Bu, /apex
'i özel yayılmayı kaldıracak şekilde manuel olarak yeniden bağlamayı içerir ve böylece yazılabilir hale getirir. Süreç, /apex/com.android.conscrypt
içeriğini başka bir yere kopyalamayı, /apex/com.android.conscrypt
dizinini salt okunur kısıtlamasını ortadan kaldırmak için ayırmayı ve ardından içeriği /apex
içindeki orijinal konumuna geri yüklemeyi içerir. Bu yaklaşım, sistem çöküşlerini önlemek için hızlı hareket etmeyi gerektirir. Bu değişikliklerin sistem genelinde uygulanmasını sağlamak için, system_server
'ı yeniden başlatmak önerilir; bu, tüm uygulamaları etkili bir şekilde yeniden başlatır ve sistemi tutarlı bir duruma getirir.
Yazılabilir Bir Dizin Kurma: İlk olarak, mevcut olmayan APEX sistem sertifika dizininin üzerine bir tmpfs
monte edilerek yazılabilir bir dizin oluşturulur. Bu, aşağıdaki komut ile gerçekleştirilir:
CA Sertifikalarını Hazırlama: Yazılabilir dizinin kurulumu sonrasında, kullanılacak CA sertifikaları bu dizine kopyalanmalıdır. Bu, /apex/com.android.conscrypt/cacerts/
dizininden varsayılan sertifikaların kopyalanmasını içerebilir. Bu sertifikaların izinlerinin ve SELinux etiketlerinin uygun şekilde ayarlanması önemlidir.
Zygote için Bağlama Montajı: nsenter
kullanarak, Zygote'ın montaj ad alanına girilir. Zygote, Android uygulamalarını başlatmaktan sorumlu olan süreçtir ve bundan sonraki tüm başlatılan uygulamaların yeni yapılandırılmış CA sertifikalarını kullanmasını sağlamak için bu adım gereklidir. Kullanılan komut:
Bu, başlatılan her yeni uygulamanın güncellenmiş CA sertifikaları ayarlarına uyacağını garanti eder.
Çalışan Uygulamalara Değişiklik Uygulama: Zaten çalışan uygulamalara değişiklikleri uygulamak için, nsenter
tekrar kullanılarak her uygulamanın ad alanına ayrı ayrı girilir ve benzer bir bağlama montajı gerçekleştirilir. Gerekli komut şudur:
Alternatif Yaklaşım - Yumuşak Yeniden Başlatma: Alternatif bir yöntem, init
sürecinde (PID 1) bind mount işlemi gerçekleştirmek ve ardından işletim sistemini stop && start
komutlarıyla yumuşak bir şekilde yeniden başlatmaktır. Bu yaklaşım, değişikliklerin tüm ad alanlarına yayılmasını sağlar ve her bir çalışan uygulamayı ayrı ayrı ele alma ihtiyacını ortadan kaldırır. Ancak, bu yöntem genellikle yeniden başlatmanın rahatsızlığı nedeniyle daha az tercih edilmektedir.
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)