mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
94 lines
7.2 KiB
Markdown
94 lines
7.2 KiB
Markdown
# iOS Pentesting Checklist
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
### Hazırlık
|
||
|
||
- [ ] [**iOS Temelleri**](ios-pentesting/ios-basics.md) okuyun
|
||
- [ ] [**iOS Test Ortamı**](ios-pentesting/ios-testing-environment.md) okuyarak ortamınızı hazırlayın
|
||
- [ ] Bir iOS uygulamasını pentest etmek için yaygın eylemleri öğrenmek amacıyla [**iOS İlk Analiz**](ios-pentesting/index.html#initial-analysis) bölümlerinin tamamını okuyun
|
||
|
||
### Veri Depolama
|
||
|
||
- [ ] [**Plist dosyaları**](ios-pentesting/index.html#plist) hassas bilgileri depolamak için kullanılabilir.
|
||
- [ ] [**Core Data**](ios-pentesting/index.html#core-data) (SQLite veritabanı) hassas bilgileri depolayabilir.
|
||
- [ ] [**YapDatabases**](ios-pentesting/index.html#yapdatabase) (SQLite veritabanı) hassas bilgileri depolayabilir.
|
||
- [ ] [**Firebase**](ios-pentesting/index.html#firebase-real-time-databases) yanlış yapılandırma.
|
||
- [ ] [**Realm veritabanları**](ios-pentesting/index.html#realm-databases) hassas bilgileri depolayabilir.
|
||
- [ ] [**Couchbase Lite veritabanları**](ios-pentesting/index.html#couchbase-lite-databases) hassas bilgileri depolayabilir.
|
||
- [ ] [**Binary cookies**](ios-pentesting/index.html#cookies) hassas bilgileri depolayabilir.
|
||
- [ ] [**Önbellek verileri**](ios-pentesting/index.html#cache) hassas bilgileri depolayabilir.
|
||
- [ ] [**Otomatik anlık görüntüler**](ios-pentesting/index.html#snapshots) görsel hassas bilgileri kaydedebilir.
|
||
- [ ] [**Anahtar zinciri**](ios-pentesting/index.html#keychain) 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**](ios-pentesting/index.html#custom-keyboards-keyboard-cache)?
|
||
- [ ] Hassas bilgilerin [**klavye önbellek dosyalarında**](ios-pentesting/index.html#custom-keyboards-keyboard-cache) kaydedilip kaydedilmediğini kontrol edin.
|
||
|
||
### **Günlükler**
|
||
|
||
- [ ] [**hassas bilgilerin kaydedilip kaydedilmediğini**](ios-pentesting/index.html#logs) kontrol edin.
|
||
|
||
### Yedeklemeler
|
||
|
||
- [ ] [**Yedeklemeler**](ios-pentesting/index.html#backups) dosya sisteminde kaydedilen **hassas bilgilere erişmek için** kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin).
|
||
- [ ] Ayrıca, [**yedeklemeler**](ios-pentesting/index.html#backups) **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**](ios-pentesting/index.html#testing-memory-for-sensitive-data) hassas bilgileri kontrol edin.
|
||
|
||
### **Kırık Kriptografi**
|
||
|
||
- [ ] [**kriptografi için kullanılan şifreleri**](ios-pentesting/index.html#broken-cryptography) bulup bulamayacağınızı kontrol edin.
|
||
- [ ] Hassas verileri göndermek/depolamak için [**kullanımdan kaldırılmış/zayıf algoritmaların**](ios-pentesting/index.html#broken-cryptography) kullanılıp kullanılmadığını kontrol edin.
|
||
- [ ] [**Kriptografi işlevlerini izleyin ve izleyin**](ios-pentesting/index.html#broken-cryptography).
|
||
|
||
### **Yerel Kimlik Doğrulama**
|
||
|
||
- [ ] Uygulamada bir [**yerel kimlik doğrulama**](ios-pentesting/index.html#local-authentication) kullanılıyorsa, kimlik doğrulamanın nasıl çalıştığını kontrol etmelisiniz.
|
||
- [ ] [**Yerel Kimlik Doğrulama Çerçevesi**](ios-pentesting/index.html#local-authentication-framework) kullanıyorsa, kolayca atlatılabilir.
|
||
- [ ] [**dinamik olarak atlatılabilen bir işlev**](ios-pentesting/index.html#local-authentication-using-keychain) 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**](ios-pentesting/index.html#custom-uri-handlers-deeplinks-custom-schemes)
|
||
- [ ] 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**](ios-pentesting/index.html#universal-links)
|
||
- [ ] 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ı**](ios-pentesting/ios-uiactivity-sharing.md)
|
||
- [ ] 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**](ios-pentesting/ios-uipasteboard.md)
|
||
- [ ] 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ı**](ios-pentesting/ios-app-extensions.md)
|
||
- [ ] Uygulama **herhangi bir uzantı kullanıyor mu?**
|
||
- [**Web Görünümleri**](ios-pentesting/ios-webviews.md)
|
||
- [ ] 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**](ios-pentesting/index.html#network-communication) ve web açıklarını arayın.
|
||
- [ ] [**sertifikanın ana bilgisayar adının**](ios-pentesting/index.html#hostname-check) kontrol edilip edilmediğini kontrol edin.
|
||
- [ ] [**Sertifika Sabitleme**](ios-pentesting/index.html#certificate-pinning) kontrol edin/atlatın.
|
||
|
||
### **Çeşitli**
|
||
|
||
- [ ] [**otomatik yamanın/güncellemelerin**](ios-pentesting/index.html#hot-patching-enforced-updateing) mekanizmalarını kontrol edin.
|
||
- [ ] [**kötü niyetli üçüncü taraf kütüphaneleri**](ios-pentesting/index.html#third-parties) kontrol edin.
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|