Hüseyin
Üye
- Katılım
- 21 Ocak 2024
- Mesajlar
- 176
- Tepkime puanı
- 41
- Puanları
- 28
Frida çok sevilen bir dinamik araç, çeşitli güvenlik testi görevlerini yerine getirmek için kullanılabilir. Programcıların ve güvenlik uzmanlarının mobil cihazlarda, masaüstü bilgisayarlarda ve sunucularda çalışan uygulamaların davranışlarını incelemesine ve değiştirmesine olanak tanır.
Frida'nın Android veya iOS uygulama Pentesting veya bug bounty avcılığında yararlı olmasının birkaç nedeni vardır:
- Tersine mühendislik: Frida, test uzmanlarının tersine mühendislik yapmasına ve Android uygulamalarının davranışını analiz etmesine olanak tanıyarak güvenlik açıklarının ve zayıflıkların belirlenmesine yardımcı olabilir.
- Fonksiyon çağrılarını engelleme: Frida, uygulama tarafından yapılan işlev çağrılarına müdahale etmek için kullanılabilir ve test uzmanlarının uygulamanın davranışını değiştirmesine veya işlevler arasında aktarılan verileri analiz etmesine olanak tanır.
- Güvenlik önlemlerini atlama: Frida, uygulama tarafından uygulanan SSL sabitleme veya root algılama gibi güvenlik önlemlerini atlamak için kullanılabilir.
- Testleri otomatikleştirme: Frida, test görevlerini otomatikleştirmek için kullanılabilir ve test uzmanlarının birden fazla senaryoyu hızlı ve kolay bir şekilde test etmesine olanak tanır.
Bu yazıda, Android uygulamalarında dinamik enstrümantasyon gerçekleştirmek için Frida'nın bir emülatör üzerinde nasıl kurulacağını tartışacağız.
Adım 1: Android emülatörünü kurma
Başlamak için bilgisayarınıza bir Android emülatörü kurmanız gerekecektir. Android Studio emülatörü, Genymotion veya Bluestacks gibi herhangi bir emülatörü kullanabilirsiniz. Devam etmeden önce emülatörün kurulu ve çalışır durumda olduğundan emin olun.
Adım 2: Frida'yı emülatöre yükleme
Ardından, Frida'yı emülatöre yüklemeniz gerekir. Bunu yapmak için, bilgisayarınızda Frida araçlarının yüklü olması gerekir.
- Frida web sitesinden Android için Frida sunucusunu indirin.
- Emülatör mimarisinin desteklediği türü kontrol ettikten sonra sunucu sürümünü indirin, çünkü emülatörümüz x84_64 türünü desteklemektedir, bu nedenle yukarıdaki bağlantıdan benzer frida-server görüntüsünü indireceğiz.
C:\ adb shell getprop ro.product.cpu.abilist
- Bilgisayarınızda bir terminal penceresi açın ve Frida sunucusunun indirildiği dizine gidin.
- Terminalden emülatör komutunu çalıştırarak Android emülatörünü başlatın.
- Aynı terminal penceresinde, Frida sunucusunu emülatöre itmek için adb komutunu kullanın:
Aşağıdaki komutu çalıştırarak Frida sunucusunu çalıştırılabilir hale getirin
adb shell "chmod 755 /data/local/tmp/frida-server"
Aşağıdaki komutu çalıştırarak emülatör üzerinde Frida sunucusunu başlatın:
adb shell "/data/local/tmp/frida-server &"
veya doğrudan dizine gidebilir ve ./frida-server dosyasını çalıştırabilirsiniz
Bu işlem Frida sunucusunu arka planda başlatacaktır.
Adım 3: Frida istemcisini kurma
Artık Frida emülatör üzerinde çalıştığına göre, bilgisayarınızda Frida istemcisini kurabilirsiniz. Frida istemcisi, emülatör üzerinde çalışan Frida sunucusu ile etkileşime girmenizi sağlayan bir komut satırı aracıdır. Sisteminizde python3'ün kurulu olduğundan emin olun.
Aşağıdaki komutu çalıştırarak Frida istemcisini bilgisayarınıza yükleyin:
pip install frida-tools
pip install frida
Aşağıdaki komutu çalıştırarak Frida istemcisinin çalışıp çalışmadığını test edin:
frida-ps -U
Adım 4: Bir Android uygulamasını enstrümante etme
Frida kullanarak bir Android uygulamasını enstrümante etmek için, uygulamanın davranışını değiştiren bir Frida script'i yazmanız gerekecektir. İşte bir uygulama tarafından yapılan tüm yöntem çağrılarını günlüğe kaydeden basit bir Frida script örneği:
Java.perform(function () {
var cls = Java.use("com.example.MyApplication");
cls.onCreate.implementation = function () {
console.log("[*] onCreate() called");
this.onCreate();
};
});
Bu betiği script.js gibi bir dosyaya kaydedin.
- Emülatöre enstrümante etmek istediğiniz uygulamayı yükleyin.
- Frida'yı uygulamaya eklemek için aşağıdaki komutu çalıştırın:
frida -U com.example.MyApplication -l script.js --no-pause
- com.example.MyApplication yerine enstrümante etmek istediğiniz uygulamanın paket adını yazın.
- Emülatör üzerinde uygulamayı kullanmaya başlayın. Terminal penceresinde onCreate yönteminin ne zaman çağrıldığını gösteren günlük mesajları görmelisiniz.
Frida'nın güçlü bir araç olduğunun farkında olun, bu nedenle onu dikkatli ve etik bir şekilde kullanın.