iOS Pentesting Checklist
Reading time: 5 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
Hazırlık
- iOS Temelleri okuyun
- iOS Test Ortamı okuyarak ortamınızı hazırlayın
- Bir iOS uygulamasını pentest etmek için yaygın eylemleri öğrenmek amacıyla iOS İlk Analiz bölümlerinin tamamını okuyun
Veri Depolama
- Plist dosyaları hassas bilgileri depolamak için kullanılabilir.
- Core Data (SQLite veritabanı) hassas bilgileri depolayabilir.
- YapDatabases (SQLite veritabanı) hassas bilgileri depolayabilir.
- Firebase yanlış yapılandırma.
- Realm veritabanları hassas bilgileri depolayabilir.
- Couchbase Lite veritabanları hassas bilgileri depolayabilir.
- Binary cookies hassas bilgileri depolayabilir.
- Önbellek verileri hassas bilgileri depolayabilir.
- Otomatik anlık görüntüler görsel hassas bilgileri kaydedebilir.
- Anahtar zinciri genellikle telefonun yeniden satılması durumunda bırakılabilecek hassas bilgileri depolamak için kullanılır.
- Özetle, sadece uygulama tarafından dosya sisteminde kaydedilen hassas bilgileri kontrol edin.
Klavyeler
- Uygulama özel klavyelerin kullanılmasına izin veriyor mu?
- Hassas bilgilerin klavye önbellek dosyalarında kaydedilip kaydedilmediğini kontrol edin.
Günlükler
- hassas bilgilerin kaydedilip kaydedilmediğini kontrol edin.
Yedeklemeler
- Yedeklemeler dosya sisteminde kaydedilen hassas bilgilere erişmek için kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin).
- Ayrıca, yedeklemeler uygulamanın bazı yapılandırmalarını değiştirmek için kullanılabilir, ardından yedeği telefona geri yükleyin ve değiştirilmiş yapılandırma yüklenirken bazı (güvenlik) işlevsellik atlatılabilir.
Uygulama Belleği
- uygulamanın belleğinde hassas bilgileri kontrol edin.
Kırık Kriptografi
- kriptografi için kullanılan şifreleri bulup bulamayacağınızı kontrol edin.
- Hassas verileri göndermek/depolamak için kullanımdan kaldırılmış/zayıf algoritmaların kullanılıp kullanılmadığını kontrol edin.
- Kriptografi işlevlerini izleyin ve izleyin.
Yerel Kimlik Doğrulama
- Uygulamada bir yerel kimlik doğrulama kullanılıyorsa, kimlik doğrulamanın nasıl çalıştığını kontrol etmelisiniz.
- Yerel Kimlik Doğrulama Çerçevesi kullanıyorsa, kolayca atlatılabilir.
- dinamik olarak atlatılabilen bir işlev kullanıyorsa, özel bir frida betiği oluşturabilirsiniz.
IPC Üzerinden Hassas İşlevsellik Açığa Çıkması
- Özel URI İşleyicileri / Derin Bağlantılar / Özel Şemalar
- Uygulamanın herhangi bir protokol/şemayı kaydedip kaydetmediğini kontrol edin.
- Uygulamanın herhangi bir protokol/şemayı kullanmak için kaydedilip kaydedilmediğini kontrol edin.
- Uygulamanın özel şemadan herhangi bir tür hassas bilgi almayı bekleyip beklemediğini kontrol edin; bu bilgi, aynı şemayı kaydeden başka bir uygulama tarafından yakalanabilir.
- Uygulamanın özel şema aracılığıyla kullanıcı girişini kontrol edip temizlemediğini ve bazı açıkların istismar edilebileceğini kontrol edin.
- Uygulamanın herhangi bir hassas eylemi özel şema aracılığıyla her yerden çağrılabilir şekilde açık hale getirip getirmediğini kontrol edin.
- Evrensel Bağlantılar
- Uygulamanın herhangi bir evrensel protokol/şemayı kaydedip kaydetmediğini kontrol edin.
-
apple-app-site-association
dosyasını kontrol edin. - Uygulamanın özel şema aracılığıyla kullanıcı girişini kontrol edip temizlemediğini ve bazı açıkların istismar edilebileceğini kontrol edin.
- Uygulamanın herhangi bir hassas eylemi özel şema aracılığıyla her yerden çağrılabilir şekilde açık hale getirip getirmediğini kontrol edin.
- UIActivity Paylaşımı
- Uygulamanın UIActivities alıp almadığını ve özel olarak hazırlanmış bir etkinlikle herhangi bir açığı istismar etmenin mümkün olup olmadığını kontrol edin.
- UIPasteboard
- Uygulamanın genel panoya herhangi bir şey kopyalayıp kopyalamadığını kontrol edin.
- Uygulamanın genel panodaki verileri herhangi bir şey için kullanıp kullanmadığını kontrol edin.
- Herhangi bir hassas verinin kopyalanıp kopyalanmadığını görmek için panoyu izleyin.
- Uygulama Uzantıları
- Uygulama herhangi bir uzantı kullanıyor mu?
- Web Görünümleri
- Hangi tür web görünümlerinin kullanıldığını kontrol edin.
-
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
,hasOnlySecureContent
durumunu kontrol edin. -
Web görünümünün file:// protokolü ile yerel dosyalara erişip erişemediğini kontrol edin (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
). -
Javascript'in Yerel metotlara (
JSContext
,postMessage
) erişip erişemediğini kontrol edin.
Ağ İletişimi
- İletişime MitM uygulayın ve web açıklarını arayın.
- sertifikanın ana bilgisayar adının kontrol edilip edilmediğini kontrol edin.
- Sertifika Sabitleme kontrol edin/atlatın.
Çeşitli
- otomatik yamanın/güncellemelerin mekanizmalarını kontrol edin.
- kötü niyetli üçüncü taraf kütüphaneleri kontrol edin.
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.