Install Burp Certificate
Sanal Makinede
İlk olarak, Burp'tan Der sertifikasını indirmeniz gerekmektedir. Bunun için Proxy --> Options --> Import / Export CA certificate adımlarını takip edebilirsiniz
Sertifikayı Der formatında dışa aktarın ve Android'in anlayabileceği bir forma dönüştürelim. AVD'deki Android makinesinde burp sertifikasını yapılandırmak için bu makineyi -writable-system
seçeneğiyle çalıştırmanız gerekmektedir.
Örneğin şu şekilde çalıştırabilirsiniz:
Ardından, burp sertifikasını yapılandırmak için şunları yapın:
Makine yeniden başlatıldığında, burp sertifikası tarafından kullanılacaktır!
Magisc Kullanımı
Eğer cihazınızı Magisc ile rootladıysanız (belki bir emülatör), ve dosya sistemi salt okunur olduğu için Burp sertifikasını yüklemek için önceki adımları takip edemiyorsanız, başka bir yol var.
Bu videoda açıklandığı gibi şunları yapmanız gerekiyor:
Bir CA sertifikası yükleyin: DER Burp sertifikasını
.crt
uzantısına değiştirerek mobil cihaza sürükleyip bırakın ve İndirilenler klasörüne kaydedin, ardındanBir sertifika yükle
->CA sertifikası
yolunu izleyin
Sertifikanın doğru şekilde kaydedildiğini kontrol edin,
Güvenilir kimlik bilgileri
->KULLANICI
'ya gidin
Sistemde güvenilir yapın: Magisc modülünü MagiskTrustUserCerts (bir .zip dosyası) indirin, telefonunuza sürükleyip bırakın, telefonunuzdaki Magics uygulamasına gidin,
Modüller
bölümüne gidin,Depodan yükle
'yi tıklayın,.zip
modülünü seçin ve kurulum tamamlandıktan sonra telefonu yeniden başlatın:
Yeniden başlattıktan sonra,
Güvenilir kimlik bilgileri
->SİSTEM
'e gidin ve Postswigger sertifikasının orada olduğunu kontrol edin
Android 14 Sonrası
En son Android 14 sürümünde, sistem-güvenilir Sertifika Yetkilisi (CA) sertifikalarının işlenişinde önemli bir değişiklik gözlemlenmiştir. Daha önce, bu sertifikalar /system/etc/security/cacerts/
dizininde bulunuyor ve kök ayrıcalıklarına sahip kullanıcılar tarafından erişilebilir ve değiştirilebilirdi, bu da sisteme hemen uygulanmasına olanak tanıyordu. Ancak, Android 14 ile, depolama yeri /apex/com.android.conscrypt/cacerts
dizinine taşındı, bu da doğası gereği değiştirilemez olan /apex
yolundaki bir dizindir.
APEX cacerts yolunu yazılabilir olarak yeniden bağlamaya yönelik girişimler başarısızlıkla karşılaşır, çünkü sistem böyle işlemlere izin vermez. Dizin üzerine geçici bir dosya sistemi (tmpfs) ile aşma veya kaldırma girişimleri bile değiştirilemezliği atlatmaz; uygulamalar, dosya sistemi seviyesinde yapılan değişikliklere rağmen orijinal sertifika verilerine erişmeye devam eder. Bu direnç, /apex
bağının ÖZEL yayılım ile yapılandırılmış olmasından kaynaklanır, bu da /apex
dizinindeki değişikliklerin diğer işlemleri etkilememesini sağlar.
Android'in başlatılması, işletim sistemi başladığında aynı zamanda Zygote işlemini başlatan init
işlemi ile başlar. Bu işlem, yeni bir bağlama ad alanı içeren bir Zygote işlemi başlatarak uygulama işlemlerini başlatma sorumluluğunu üstlenir, bu da bu dizindeki değişiklikleri diğer işlemlerden 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 tekrar yazılabilir hale getirmek için manuel olarak yeniden bağlamayı içerir. Bu işlem, /apex/com.android.conscrypt
içeriğini başka bir konuma kopyalamayı, /apex/com.android.conscrypt
dizinini bağlamayı okuma-yazma kısıtlamasını kaldırmak için ve ardından içeriği orijinal konumlarına /apex
içinde geri yüklemeyi gerektirir. Bu yaklaşım, sistem çökmelerini önlemek için hızlı bir şekilde hareket etmeyi gerektirir. Bu değişikliklerin sistem genelinde uygulanmasını sağlamak için system_server
'ı yeniden başlatmanız önerilir, bu da tüm uygulamaları yeniden başlatır ve sistemi tutarlı bir duruma getirir.
NSEnter üzerinden Bind-mounting
Yazılabilir Bir Dizin Oluşturma: İlk olarak, mevcut olmayan APEX olmayan sistem sertifika dizininin üzerine bir
tmpfs
bağlanarak yazılabilir bir dizin oluşturulur. Bu, aşağıdaki komutla gerçekleştirilir:
CA Sertifikalarının Hazırlanması: Yazılabilir dizinin kurulumunu takiben, kullanmayı amaçladığınız CA sertifikaları bu dizine kopyalanmalıdır. Bu, varsayılan sertifikaların
/apex/com.android.conscrypt/cacerts/
dizininden kopyalanmasını gerektirebilir. Bu sertifikaların izinleri ve SELinux etiketleri uygun şekilde ayarlanması önemlidir.Zygote için Bağlama Montajı:
nsenter
kullanılarak, Zygote'un bağlama ad alanına girilir. Android uygulamalarını başlatma işleminden sorumlu olan Zygote, bundan sonra başlatılan tüm uygulamaların yeni yapılandırılmış CA sertifikalarını kullanmasını sağlamak için bu adımı gerektirir. Kullanılan komut şudur:
Bu, her yeni uygulamanın güncellenmiş CA sertifikaları kurulumuna uyacağından emin olur.
Çalışan Uygulamalara Değişiklikler Uygulama: Zaten çalışan uygulamalara değişiklikleri uygulamak için,
nsenter
tekrar kullanılarak her uygulamanın ad alanına bireysel olarak girilir ve benzer bir bağ montajı gerçekleştirilir. Gerekli komut şudur:
Alternatif Yaklaşım - Yumuşak Yeniden Başlatma: Alternatif bir yöntem,
init
işlemine (PID 1) bağlama işlemini gerçekleştirmeyi ve işletim sisteministop && start
komutlarıyla yumuşak bir şekilde yeniden başlatmayı içerir. Bu yaklaşım, değişikliklerin tüm ad alanlarına yayılmasını sağlayacak ve her çalışan uygulamayı tek tek ele almaya gerek kalmayacaktır. Bununla birlikte, bu yöntem genellikle yeniden başlatmanın rahatsızlığı nedeniyle tercih edilmemektedir.
Referanslar
Last updated