CyberFlow Logo CyberFlow 📚 Blog

Objection - Frida tabanlı mobil test

✍️ Ahmet BİRKAN 📂 kali_tools_mobil_guvenlik_araclari
Objection - Frida tabanlı mobil test Giriş Giriş Mobil uygulamalar, günümüzde hayatımızın ayrılmaz bir parçası haline gelmiştir. Özellikle akıllı telefonların…
Objection - Frida tabanlı mobil test

Objection - Frida tabanlı mobil test

Giriş

Giriş

Mobil uygulamalar, günümüzde hayatımızın ayrılmaz bir parçası haline gelmiştir. Özellikle akıllı telefonların ve tabletlerin yaygınlaşmasıyla birlikte, mobil uygulama geliştirme ve test süreçleri büyük bir önem kazanmıştır. Ancak bu durum, siber güvenlik açıklarını da beraberinde getirir. Burada "Objection" ve "Frida" araçları devreye girmektedir.

Objection Nedir?

Objection, özellikle mobil uygulamaların güvenlik testleri için kullanılan bir açık kaynak aracıdır. Bu araç, uygulama içindeki verileri analiz etmek, değiştirmek ve uygulama davranışlarını etkileyerek güvenlik açıklarını bulmak için tasarlanmıştır.

Objection, Frida adlı bir dinleme aracını temel alir. Frida, dinamik analiz yapmanıza imkan tanır. Yani uygulama çalışırken gerçek zamanlı olarak içerisine müdahale edebilir, verileri inceleyebilir ve değiştirebilirsiniz. Frida'nın sunduğu bu dinamik analiz yetenekleri, güvenlik uzmanlarının uygulamaları daha etkili bir şekilde test etmesine ve güvenlik açıklarını belirlemesine olanak tanır.

Neden Önemlidir?

Mobil uygulamalar, bankacılık işlemlerinden sosyal medya etkileşimlerine kadar çok çeşitli alanlarda kullanılmaktadır. Bu nedenle, uygulamalardaki güvenlik açıkları, kullanıcılar için büyük riskler taşır. Objection ve Frida gibi araçlar, geliştiricilere ve güvenlik uzmanlarına bu açıkları tespit etme konusunda büyük avantajlar sağlar. Örneğin, bir banka uygulamasında kullanıcı bilgilerini çalmak isteyen kötü niyetli bir birey, Objection ile uygulamayı analiz ederek veri akışını inceleyebilir. Dolayısıyla, bu araçların kullanımı, uygulama güvenliği için kritik bir rol üstlenmektedir.

Hangi Alanlarda Kullanılır?

Objection, genellikle mobil uygulama güvenliği testlerinde kullanılmaktadır. Bu araç, özellikle şöyle alanlarda etkilidir:

Bu alanlarda kullanılmasının yanı sıra, Objection, geliştiricilerin uygulamalardaki güvenlik açıklarını anlamalarına ve düzeltmelerine yardımcı olur.

Siber Güvenlik Açısından Konumu

Siber güvenlik dünyasında, Objection ve Frida gibi araçlar, "dinamik analiz" kategorisine girmektedir. Dinamik analiz, bir uygulamanın çalışırken incelemeyi içerir ve bu durum, siber güvenlik uzmanlarının uygulamanın nasıl davrandığını gerçek koşullar altında anlamalarına yardımcı olur.

Bu araçlar, bir mobil uygulamanın güvenlik durumunu değerlendirmek ve olası tehditleri tespit etmek için kritik bir süreç sunar. Örneğin, bir mobil uygulamanın kripto verilerini nasıl işlediğini ya da kullanıcı kimlik bilgilerini nasıl sakladığını anlamada, bu tür dinamik analiz yöntemleri büyük önem taşır.

Sonuç

Sonuç olarak, Objection ve Frida kullanarak mobil uygulama güvenliğini test etmek, günümüz dijital dünyasında oldukça önemlidir. Uygulama geliştiricileri ve siber güvenlik uzmanları, bu teknikleri kullanarak daha güvenli mobil çözümler geliştirebilir ve kullanıcı verilerini koruyabilirler. Dolayısıyla, bu araçları anlamak ve etkin bir şekilde kullanmak, bu alanda profesyonel olarak ilerlemek isteyenler için kritik bir yetkinlik haline gelmektedir.

Teknik Detay

Objection ve Frida Tabanlı Mobil Testin Teknik Detayları

Mobil uygulama güvenliğini test etmek, günümüz siber tehdit ortamında kritik bir zorunluluk haline gelmiştir. Objection, Frida tabanlı bir araç olarak, mobil uygulamaların dinamik analizi için geliştirilmiştir. Bu araç, uygulamaların çalışma zamanındaki davranışlarını değiştirmeyi ve analiz etmeyi kolaylaştırır.

Kavramsal Yapı

Objection, Frida'nın güçlü yeteneklerinden yararlanarak, Android ve iOS platformlarındaki yerel (native) mobil uygulamalara yönelik çeşitli testler gerçekleştirmeye olanak tanır. Frida, bir uygulamanın çalışma zamanında kodunu izleme, değiştirme veya çağırma yeteneği sağlar; bu da kullanıcıların uygulama içinde gizli olan zayıflıkları keşfetmesine imkan verir. Objection, sıklıkla aşağıdaki alanlarda kullanılır:

İşleyiş Mantığı

Objection, mobil uygulamalar üzerinde çalışırken, aşağıdaki temel aşamaları izler:

  1. Uygulamanın Yüklenmesi: Objection, hedef uygulamayı dinamik olarak yükler. Frida'nın JavaScript tabanlı API'leri kullanılarak uygulamanın iç yapısına erişim sağlanır.
  2. Kod Enjeksiyonu: Uygulama yüklendikten sonra, Frida'nın sanal makinesi üzerinde kod yürütülerek, uygulama içindeki işlevler ve değişkenler üzerinde manipülasyon yapılabilir. Bu aşamada, belirli işlevlerin veya bileşenlerin çağrılması sağlanır.
  3. Veri Çekimi ve Analizi: Objection ile uygulamanın hafızasından veri erişimi sağlanabilir. Elde edilen veriler üzerinde analiz yapılır ve güvenlik açıkları tespit edilir.

Kullanılan Yöntemler

Mobil uygulama testlerinde kullanılan bazı yaygın yöntemler şunlardır:

Dikkat Edilmesi Gereken Noktalar

Objection kullanırken göz önünde bulundurulması gereken bazı önemli noktalar:

Analiz Bakış Açısı ve Teknik Bileşenler

Bir analiz sürecinde kullanılacak teknik bileşenler arasında:

# Objection aracını başlatma
objection --gadget <app.bundle.id> explore

Bu komut, belirtilen uygulamanın dinamik analizine başlamak için Objection'ın başlatılmasını sağlar.

Sonuç

Objection, Frida tabanlı bir araç olarak, mobil uygulama güvenliğini değerlendirmek için oldukça etkili bir yöntem sunar. Uygulama dinamik analizi ile ilgili birçok teknik detay ve bileşen bulunmaktadır. Bu yöntemler doğru kullanıldığında, mevcut güvenlik açıklarının tespiti sağlanabilir ve uygulama geliştiricilerine proaktif çözümler sunulabilir. Mobil güvenlik testleri, işin ciddiyeti göz önüne alındığında kaçınılmaz hale gelmiştir.

İleri Seviye

Frida ile Mobil Uygulama Test Süreci

Frida, dinamik analiz için kullanılan güçlü bir araçtır ve mobil uygulamalardaki sızma testleri için idealdir. Objection ise Frida'nın sunduğu yetenekleri kullanarak mobil uygulamalara dair istismar yöntemleri sağlar. Bu bölümde Objection ile Frida tabanlı mobil testlerin nasıl gerçekleştirildiğine dair ileri seviye teknikler ve ipuçları sunacağız.

Sızma Testi Yaklaşımı

Mobil uygulama sızma testlerinde temel amaç, güvenlik açıklarını tespit etmek ve bunları istismar etmektir. Objection aracı, Frida ile birlikte çalıştığında, statik analizden ziyade dinamik analize olanak tanır. Bu yaklaşım, uygulamanın çalıştığı süre boyunca herhangi bir noktada kodu değiştirip müdahale etmemizi sağlar.

Objection Kurulumu

Objection aracını kullanmak için öncelikle Frida'nın sistemde kurulu olması gerekiyor. Aşağıda kurulum adımlarını bulabilirsiniz:

# Frida'nın en son sürümünü yükleyin
pip install frida-tools

# Objection aracını yükleyin
pip install objection

Temel Kullanım

Objection, mobil uygulama üzerinde çeşitli analiz ve test işlemleri gerçekleştirmenize olanak tanır. Uygulamanın daha önce oluşturulmuş bir snapshot'u üzerinde, güvenlik açıklarını keşfetmek için şu şekilde bir başlangıç yapabiliriz:

# Uygulama üzerinde objection ile çalıştırma
objection --gadget <app_package_name> explore

Analiz Mantığı

Frida'nın API'lerini kullanarak uygulama fonksiyonlarını tespit edebiliriz. Örnek olarak, uygulamanın "login" fonksiyonuna müdahale ederek kullanıcı girişi esnasında gönderilen verileri değiştirebiliriz.

Java.perform(function () {
    const LoginActivity = Java.use('com.example.app.LoginActivity');
    LoginActivity.login.implementation = function (username, password) {
        console.log('Kullanıcı Adı: ' + username);
        console.log('Şifre: ' + password);
        
        // Veriyi manipüle edebiliriz
        username = "admin";
        password = "password123";

        return this.login(username, password);
    };
});

Yukarıdaki kod blokları sayesinde, uygulama içindeki giriş fonksiyonu müdahale edilebilir ve kullanıcı adı ile şifre gibi hassas veriler ele geçirilebilir.

İleri Seviye Kullanım İpuçları

  1. Devre Dışı Bırak kapitalizasyon Kontrolleri: Objection ile uygulamada yer alan tüm güvenlik kontrollerini devre dışı bırakabiliriz. Örneğin, sertifikaları bypass etme gibi.

    objection --gadget <app_package_name> disable-ssl-pinning
    
  2. Çift Yönlü Proxy Kullanımı: Uygulamanın ağ trafiğini incelemek için bir proxy kullanın. Burada Burp Suite gibi bir araç en iyi seçim olacaktır. Uygulama ile proxy arasında gerekli ayarları yapmayı unutmayın.

Elde Edilen Verilerin Analizi

Objection ile elde edilen veriler, güvenlik açıklarının belirlenmesi adına önemlidir. Uygulamanın veri manipülasyonu ve istismarları üzerinden elde edilen verileri analiz etmek, uygulamanın zayıf noktalarını belirlemenize olanak tanır. Herhangi bir veri açığı tespit edildiğinde, bu durum genellikle uygulamanın arka uç sistemleriyle ilişkili daha derin bir güvenlik açığına işaret eder.

Sonuç

Frida tabanlı Objection aracı ile mobil uygulama testleri gerçekleştirmek, gelişmiş suistimal teknikleri ve detaylı analiz imkanı sunar. Dinamik test süreçlerinde güvenlik zaaflarını tespit etmek, sadece kod incelemesi ile değil, uygulama içindeki akışların ve veri manipülasyonlarının da gözlemlenmesiyle mümkündür. Unutulmaması gereken nokta, bu tür testlerin etik ve yasal çerçeveler içinde gerçekleştirilmesi gerektiğidir.