hacktricks/mobile-pentesting/ios-pentesting-checklist.md

146 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# iOS Pentesting Kontrol Listesi
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını otomatikleştirin**.\
Hemen Erişim Sağlayın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>Sıfırdan Kahraman Olarak AWS hacklemeyi öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam vermek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
* **💬 Discord grubuna** [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin**.
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR gönderin.
</details>
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Hazırlık
* [ ] [**iOS Temelleri**](ios-pentesting/ios-basics.md)ni okuyun
* [ ] [**iOS Test Ortamınızı**](ios-pentesting/ios-testing-environment.md) hazırlayarak çevrenizi hazırlayın
* [ ] Bir iOS uygulamasını pentest etmek için yaygın eylemleri öğrenmek için [**iOS Başlangıç Analizi**](ios-pentesting/#initial-analysis) bölümlerini okuyun
### Veri Depolama
* [ ] [**Plist dosyaları**](ios-pentesting/#plist) hassas bilgileri depolamak için kullanılabilir.
* [ ] [**Core Data**](ios-pentesting/#core-data) (SQLite veritabanı) hassas bilgileri depolayabilir.
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (SQLite veritabanı) hassas bilgileri depolayabilir.
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) yanlış yapılandırma.
* [ ] [**Realm veritabanları**](ios-pentesting/#realm-databases) hassas bilgileri depolayabilir.
* [ ] [**Couchbase Lite veritabanları**](ios-pentesting/#couchbase-lite-databases) hassas bilgileri depolayabilir.
* [ ] [**Binary çerezler**](ios-pentesting/#cookies) hassas bilgileri depolayabilir
* [ ] [**Önbellek verileri**](ios-pentesting/#cache) hassas bilgileri depolayabilir
* [ ] [**Otomatik anlık görüntüler**](ios-pentesting/#snapshots) görsel hassas bilgileri kaydedebilir
* [ ] [**Anahtarlık**](ios-pentesting/#keychain) genellikle telefonu yeniden satarken bırakılabilecek hassas bilgileri depolamak için kullanılır.
* [ ] Özetle, sadece **uygulama tarafından dosya sistemine kaydedilen hassas bilgileri kontrol edin**
### Klavyeler
* [ ] Uygulama [**özel klavyelerin kullanımına izin veriyor mu**](ios-pentesting/#custom-keyboards-keyboard-cache)?
* [ ] Hassas bilgilerin [**klavye önbellek dosyalarında**](ios-pentesting/#custom-keyboards-keyboard-cache) saklanıp saklanmadığını kontrol edin
### **Kayıtlar**
* [ ] [**Hassas bilgilerin kaydedilip kaydedilmediğini**](ios-pentesting/#logs) kontrol edin
### Yedekler
* [ ] [**Yedekler**](ios-pentesting/#backups) dosya sistemine kaydedilen hassas bilgilere **erişmek için** kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin)
* [ ] Ayrıca, [**yedekler**](ios-pentesting/#backups) uygulamanın bazı yapılandırmalarını **değiştirmek** için kullanılabilir, ardından yedeği telefona **geri yükleyerek** ve **değiştirilmiş yapılandırma** yüklendiğinde bazı (güvenlik) **işlevselliğin atlatılabileceği** kontrol edilebilir
### **Uygulamaların Belleği**
* [ ] [**Uygulamanın belleği içinde**](ios-pentesting/#testing-memory-for-sensitive-data) hassas bilgileri kontrol edin
### **Kırık Şifreleme**
* [ ] [**Şifreleme için kullanılan şifrelerin**](ios-pentesting/#broken-cryptography) bulunup bulunamayacağını kontrol edin
* [ ] Hassas verileri göndermek/depolamak için [**eskimiş/zayıf algoritmaların**](ios-pentesting/#broken-cryptography) kullanılıp kullanılmadığını kontrol edin
* [ ] [**Şifreleme işlevlerini takip edin ve izleyin**](ios-pentesting/#broken-cryptography)
### **Yerel Kimlik Doğrulama**
* [ ] Uygulamada [**yerel kimlik doğrulama**](ios-pentesting/#local-authentication) kullanılıyorsa, kimlik doğrulamanın nasıl çalıştığını kontrol edin.
* [ ] Eğer [**Yerel Kimlik Doğrulama Çerçevesi**](ios-pentesting/#local-authentication-framework) kullanılıyorsa kolayca atlatılabilir
* [ ] Eğer [**dinamik olarak atlatılabilen bir işlev**](ios-pentesting/#local-authentication-using-keychain) kullanılıyorsa özel bir frida betiği oluşturabilirsiniz
### IPC Aracılığıyla Hassas İşlevsellik Maruziyeti
* [**Özel URI İşleyicileri / Derin Bağlantılar / Özel Şemalar**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Uygulamanın **herhangi bir protokol/şema kaydettiğini** kontrol edin
* [ ] Uygulamanın herhangi bir protokol/şemayı kullanmak için **kaydolduğunu** kontrol edin
* [ ] Uygulamanın, aynı şemayı kaydeden başka bir uygulama tarafından **intercept edilebilecek** herhangi bir hassas bilgiyi almayı bekleyip beklemediğini kontrol edin
* [ ] Uygulamanın, özel şemayla kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
* [ ] Uygulamanın, özel şema aracılığıyla herhangi bir yerden çağrılabilen **hassas bir işlevsellik açığa çıkarmadığını** kontrol edin
* [**Evrensel Bağlantılar**](ios-pentesting/#universal-links)
* [ ] Uygulamanın **herhangi bir evrensel protokol/şema kaydettiğini** kontrol edin
* [ ] `apple-app-site-association` dosyasını kontrol edin
* [ ] Uygulamanın, özel şema aracılığıyla kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
* [ ] Uygulamanın, özel şema aracılığıyla herhangi bir yerden çağrılabilen **hassas bir işlevsellik açığa çıkarmadığını** kontrol edin
* [**UIActivity Paylaşımı**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Uygulamanın UIActivities alıp alamayacağını ve özellikle oluşturulmuş bir etkinlikle herhangi bir zafiyetin sömürülüp sömürülemeyeceğini kontrol edin
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] Uygulamanın **genel panoya herhangi bir şey kopyalayıp kopyalamadığını** kontrol edin
* [ ] Uygulamanın **genel panodan veri kullanıp kullanmadığını** kontrol edin
* [ ] Panoyu izleyerek herhangi bir **hassas verinin kopyalanıp kopyalanmadığını** kontrol edin
* [**Uygulama Uzantıları**](ios-pentesting/ios-app-extensions.md)
* [ ] Uygulamanın **herhangi bir uzantıyı kullanıp kullanmadığını** kontrol edin
* [**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üyle **yerel dosyalara erişip erişemediğini** kontrol edin **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] Javascript'in **Native** **metodlara erişip erişemediğini** kontrol edin (`JSContext`, `postMessage`)
### Ağ İletişimi
* [ ] [**İletişime MitM**](ios-pentesting/#network-communication) yapın ve web açıklarını arayın.
* [ ] [**Sertifika host adının**](ios-pentesting/#hostname-check) kontrol edilip edilmediğini kontrol edin.
* [ ] [**Sertifika Pinning**](ios-pentesting/#certificate-pinning) kontrol edin/geçin.
### **Çeşitli**
* [ ] [**Otomatik yama/güncelleme**](ios-pentesting/#hot-patching-enforced-updateing) mekanizmalarını kontrol edin.
* [ ] [**Zararlı üçüncü parti kütüphaneleri**](ios-pentesting/#third-parties) kontrol edin.
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Sıfırdan kahraman olacak şekilde AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **💬** [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks)'i kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}