allsafe android app analizi (2025)

Bu yazıda Allsafe Android App analizi (2025) kapsamında tespit edilen kritik güvenlik açıkları, çözüm önerileri ve mobil uygulama güvenliği açısından riskler detaylı incelenmektedir

Allsafe Android App analizi (2025) kapsamında yapılan mobil güvenlik testi sonucunda kritik, yüksek ve orta seviyede toplam 12 zafiyet belirlendi.

AlanBilgi
Uygulama AdıAllsafe
Paket Adıinfosecadventures.allsafe
Test OrtamıAndroid Emulator (x86), SDK 28
Test Tarihi04.09.2025
Test UzmanıMehmet Karagülle
Rapor Versiyonu1.0
Gizlilik SeviyesiDahili Kullanım

YÖNETİCİ ÖZETİ

Genel Değerlendirme

Allsafe uygulaması, OWASP Mobile Top 10 zafiyetlerinin çoğunu barındıran, eğitim amaçlı geliştirilmiş bir mobil güvenlik laboratuvarıdır. Yapılan güvenlik değerlendirmesi sonucunda, uygulamada kritik ve yüksek seviye güvenlik zafiyetleri tespit edilmiştir. Mevcut haliyle üretim ortamında ciddi güvenlik riskleri taşımaktadır.

Risk SeviyesiZafiyet SayısıAçıklama
Kritik2ContentProvider veri sızıntısı, SQL injection
Yüksek4Debug modu, exported bileşenler, SSL pinning bypass
Orta6Hardcoded credentials, insecure storage, deep link
Toplam12

Ana Bulgular

 Kritik Seviye Zafiyetler

  • ContentProvider aracılığıyla doğrudan yetkisiz veri erişimi
  • PII (Kişisel Tanımlayıcı Bilgi) sızıntısı – admin kullanıcısının şifresi (123456) açıkça erişilebilir

 Yüksek Seviye Zafiyetler

  • Uygulama debuggable=true ile derlenmiş → Frida ile runtime manipülasyon mümkün
  • Exported bileşenler → Yetkisiz komut yürütme riski
  • SSL Pinning tamamen bypass edilebilir → MitM saldırıları mümkün
  • RecorderService yetkisiz erişime açık

Orta Seviye Zafiyetler

  • Hardcoded kimlik bilgileri
  • Güvenli olmayan SharedPreferences kullanımı
  • PIN bypass ve root detection bypass
  • Insecure deep linking

TEST METODOLOJİSİ

Penetrasyon testi aşağıdaki metodolojiler kullanılarak gerçekleştirilmiştir:

Statik Analiz

  • AndroidManifest.xml incelemesi
  • APK reverse engineering
  • Kaynak kod analizi

Dinamik Analiz

  • ADB (Android Debug Bridge) komutları
  • Frida runtime instrumentation
  • Runtime behavior monitoring

Manuel Test

  • Uygulama fonksiyonelliği testi
  • İzin ve yetki kontrolleri
  • Veri akış analizi

ZAFIYET DETAYLARI

  1. ANDROIDMANIFEST.XML ZAFİYETLERİ

1.1 Debug Modu Aktif (KRİTİK)

Zafiyet Açıklaması:

android:debuggable=”true”

Uygulama debug modunda derlenmiş olup, runtime manipülasyon araçlarına (Frida, JDB, logcat) karşı savunmasızdır.

AlanDetay
CVSS v3.1 Skoru8.1 (Yüksek)
Risk SeviyesiKritik
EtkiRuntime Code Manipulation, Privilege Escalation
Sömürü KolaylığıKolay

Teknik Detaylar:

  • Frida ile method hooking mümkün
  • Runtime’da method return değerleri değiştirilebilir
  • Memory dump alınabilir
  • Debugging araçları ile kod akışı izlenebilir

Çözüm Önerisi:

gradle

buildTypes {

    release {

        debuggable false

        minifyEnabled true

        proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’

    }

}

1.2 Exported Bileşenler (YÜKSEK)

Etkilenen Bileşenler:

  • ProxyActivity
  • DeepLinkTask
  • MainActivity
  • NoteReceiver
  • RecorderService
  • DataProvider

Zafiyet Açıklaması: android:exported=”true” parametresi nedeniyle bu bileşenler dış uygulamalar tarafından tetiklenebilmektedir.

AlanDetay
CVSS v3.1 Skoru7.5 (Yüksek)
Risk SeviyesiYüksek
EtkiUnauthorized Intent Triggering, Permission Re-delegation

Sömürü Örneği:

adb shell am broadcast -a infosecadventures.allsafe.action.PROCESS_NOTE –es note “malicious_input”

Çözüm Önerisi:

<permission android:name=”infosecadventures.allsafe.permission.INTERNAL” />

<receiver android:name=”.NoteReceiver”

    android:permission=”infosecadventures.allsafe.permission.INTERNAL”

    android:exported=”false” />

1.3 QUERY_ALL_PACKAGES İzni (ORTA)

android:permission.QUERY_ALL_PACKAGES

Etki: Privacy Violation

Risk: Cihazdaki tüm uygulamalar listelenebilir

1.4 Legacy External Storage (ORTA)

android:requestLegacyExternalStorage=”true”

Etki: Insecure Storage Access

Risk: Android 10+ dosya erişim kısıtlamaları bypass edilir.

1.5 Deep Link Tanımı (ORTA-YÜKSEK)

<data android:scheme=”allsafe” android:host=”infosecadventures” android:pathPrefix=”/congrats”/>

Etki: Insecure Deep Linking

Risk: Dışarıdan tetiklenebilen deep link

  1. ADB KOMUTLARIYLA TESPİT EDİLEN ZAFİYETLER

2.1 ContentProvider Veri Sızıntısı (KRİTİK)

Sömürü Komutu:

adb shell content query –uri content://infosecadventures.allsafe.dataprovider

Sızıntı Sonucu:

Row: 0 id=1, user=admin, note=I can not believe that Jill is still using 123456 as her password…

Neden Kritik?

  • Kimlik doğrulaması olmadan veriye erişim
  • Admin kullanıcı adı ve şifresi (123456) açıkça sızdırıldı
  • Kişisel Tanımlayıcı Bilgi (PII) maruziyeti

2.2 Veri Manipülasyonu (YÜKSEK)

Sömürü Komutu:

adb shell content insert –uri content://infosecadventures.allsafe.dataprovider \

–bind user:s:attacker –bind note:s:injected_note

AlanDetay
CVSS v3.1 Skoru7.3 (Yüksek)
Risk SeviyesiOrta-Yüksek
EtkiUnauthorized Data Modification

2.3 SQL Injection Benzeri Filtreleme (KRİTİK)

Sömürü Komutu:

adb shell content query –uri content://infosecadventures.allsafe.dataprovider \

–where “user=’admin’ OR 1=1”

AlanDetay
CVSS v3.1 Skoru8.8 (Yüksek)
Risk SeviyesiKritik
EtkiWeak Query Filtering, Data Breach

2.4 Broadcast Receiver Saldırısı (ORTA-YÜKSEK)

adb shell am broadcast -a infosecadventures.allsafe.action.PROCESS_NOTE \

–es note “malicious_input”

AlanDetay
CVSS v3.1 Skoru6.8 (Orta)
Risk SeviyesiOrta-Yüksek
EtkiBroadcast Injection

2.5 RecorderService Yetkisiz Erişim (YÜKSEK)

Zafiyet Açıklaması: RecorderService bileşeni exported olarak yayınlanmış ve herhangi bir izin kontrolü bulunmuyor.

adb shell am start-foreground-service -n infosecadventures.allsafe/.challenges.RecorderService

AlanDetay
CVSS v3.1 Skoru7.8 (Yüksek)
Risk SeviyesiYüksek
EtkiBackground Execution Abuse, Resource Access

Riskler:

  • Cihaz kaynaklarının (mikrofon, depolama) yetkisiz kullanımı
  • Background’da sürekli çalışma riski
  • Battery drain attack

2.6 Deep Link Saldırısı (ORTA-YÜKSEK)

adb shell am start -a android.intent.action.VIEW \

-d “allsafe://infosecadventures/congrats?admin=true”

AlanDetay
Risk SeviyesiOrta-Yüksek
EtkiInsecure Deep Linking, Privilege Escalation
 

2.7 Intent Injection (ORTA-YÜKSEK)

adb shell am start -n infosecadventures.allsafe/.MainActivity \

–es token “fake_token” –ez isAdmin true

AlanDetay
Risk SeviyesiOrta-Yüksek
EtkiPrivilege Escalation via Intent
 

2.8 External Storage Güvenlik Açığı (YÜKSEK)

adb shell ls /sdcard/Download/

Sonuçlar:

  • allsafe_rec_*.mp3 (ses kayıtları)
  • cacert.crt (sertifika dosyası

AlanDetay
CVSS v3.1 Skoru7.5 (Yüksek)
Risk SeviyesiYüksek (Kritik senaryolarda)
EtkiInsecure External Storage, Privacy Violation

Riskler:

  • Hassas veriler (recordings, certificates) herkese açık dizinde
  • Diğer uygulamalar tarafından erişilebilir
  • MitM saldırısı riski (sertifika manipülasyonu)
  1. FRIDA İLE DİNAMİK ANALİZ

3.1 Admin Yetki Enjeksiyonu (ORTA-YÜKSEK)

Sömürü Yöntemi: Frida ile isAdmin ve role parametreleri runtime’da değiştirilerek admin yetkisi elde edildi.

AlanDetay
Risk SeviyesiOrta-Yüksek
EtkiPrivilege Escalation via Intent

3.2 SSL Pinning Bypass (ORTA)

Tespit Edilen:

  • Base64 encode fonksiyonları
  • SSL pinning kontrolleri aktif ancak bypass edilebilir

AlanDetay
Risk SeviyesiOrta
EtkiWeak Cryptography, SSL Pinning Bypass

3.3 Permission Delegation Attack (ORTA)

Challenge 09 – NoteReceiver: NoteReceiver.onReceive() metodu izlenmiş ve veri işleme zafiyetleri tespit edilmiştir

AlanDetay
Risk SeviyesiOrta
EtkiPermission Re-delegation Exploit

3.4 Insecure Service (YÜKSEK)

Challenge 20 – RecorderService: Hizmet dışarıdan başlatılmış ve güvenli olmayan çalışma tespit edilmiştir.

Alan                            Detay

Risk Seviyesi          Yüksek

Etki                             Insecure Service Implementation

ÖNERİLER VE ÇÖZÜMLER

  1. ACİL ÖNCELIK (KRİTİK/YÜKSEK)

1.1 Debug Modunu Devre Dışı Bırakma

buildTypes {

    release {

        debuggable false

        minifyEnabled true

        shrinkResources true

    }

}

1.2 ContentProvider Güvenliği

<provider

    android:name=”.DataProvider”

    android:authorities=”infosecadventures.allsafe.dataprovider”

    android:readPermission=”infosecadventures.allsafe.permission.READ_DATA”

    android:writePermission=”infosecadventures.allsafe.permission.WRITE_DATA”

    android:exported=”false” />

1.3 Exported Bileşenleri Güvenli Hale Getirme

<service android:name=”.RecorderService” android:exported=”false” />

<receiver android:name=”.NoteReceiver”

    android:permission=”infosecadventures.allsafe.permission.INTERNAL”

    android:exported=”true” />

1.4 Veri Şifreleme

EncryptedSharedPreferences.create(

    “secure_prefs”,

    masterKey,

    context,

    EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,

    EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM

);

SONUÇ VE DEĞERLENDİRME

Genel Güvenlik Durumu

Allsafe uygulaması, eğitim amaçlı tasarlandığı için kasıtlı olarak çok sayıda güvenlik zafiyeti barındırmaktadır. Ancak bu zafiyetler, gerçek dünyada ciddi sonuçlar doğurabilecek türdendir.

Risk Matrisi

Zafiyet KategorisiKritikYüksekOrtaDüşük
Veri Güvenliği2120
Erişim Kontrolü0230
Konfigürasyon0110
Toplam2460

Öneriler Özeti

  1. ACİL: Debug modu kapatılmalı ve ContentProvider güvenliği sağlanmalı
  2. YÜKSEK ÖNCELİK: Exported bileşenler güvenli hale getirilmeli
  3. ORTA ÖNCELİK: Deep link ve external storage güvenliği iyileştirilmeli
  4. UZUN VADELİ: RASP ve obfuscation implementasyonu

Test Kapsamı

  • Statik analiz tamamlandı
  • Dinamik analiz tamamlandı
  •  Runtime instrumentation tamamlandı
  •  Network security analizi (kapsamda değil)
  •  Business logic testing (kısmi)

Allsafe apk linki: t0thkr1s/allsafe-android: Intentionally vulnerable Android application.

Android ‘de güvenli yazılım geliştirmek için bu araştırmayı okuyabilirsiniz: Android Uygulama Güvenliği ve Bileşenleri 

About The Author

No Responses

Reply