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

146 lines
9.7 KiB
Markdown

# iOS Pentesting Checklist
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Gebruik [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) om maklik en **werkstrome outomaties** te bou wat aangedryf word deur die wêreld se **mees gevorderde** gemeenskapsinstrumente.\
Kry Toegang Vandag:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>Leer AWS hak van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
</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" %}
***
### Voorbereiding
* [ ] Lees [**iOS Basics**](ios-pentesting/ios-basics.md)
* [ ] Berei jou omgewing voor deur [**iOS Testing Environment**](ios-pentesting/ios-testing-environment.md) te lees
* [ ] Lees al die afdelings van [**iOS Initial Analysis**](ios-pentesting/#initial-analysis) om algemene aksies te leer om 'n iOS-toepassing te pentest
### Data Berging
* [ ] [**Plist-lêers**](ios-pentesting/#plist) kan gebruik word om sensitiewe inligting te stoor.
* [ ] [**Kern Data**](ios-pentesting/#core-data) (SQLite-databasis) kan sensitiewe inligting stoor.
* [ ] [**YapDatabasisse**](ios-pentesting/#yapdatabase) (SQLite-databasis) kan sensitiewe inligting stoor.
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) mis-konfigurasie.
* [ ] [**Realm-databasisse**](ios-pentesting/#realm-databases) kan sensitiewe inligting stoor.
* [ ] [**Couchbase Lite-databasisse**](ios-pentesting/#couchbase-lite-databases) kan sensitiewe inligting stoor.
* [ ] [**Binêre koekies**](ios-pentesting/#cookies) kan sensitiewe inligting stoor
* [ ] [**Kesdata**](ios-pentesting/#cache) kan sensitiewe inligting stoor
* [ ] [**Outomatiese afskrifte**](ios-pentesting/#snapshots) kan visuele sensitiewe inligting stoor
* [ ] [**Sleutelketting**](ios-pentesting/#keychain) word gewoonlik gebruik om sensitiewe inligting te stoor wat agtergelaat kan word wanneer die foon verkoop word.
* [ ] Kortom, kontroleer net vir sensitiewe inligting wat deur die aansoek in die lêersisteem gestoor word
### Sleutelborde
* [ ] Laat die aansoek toe om [**aangepaste sleutelborde te gebruik**](ios-pentesting/#custom-keyboards-keyboard-cache)?
* [ ] Kontroleer of sensitiewe inligting gestoor word in die [**sleutelborde se keerlêers**](ios-pentesting/#custom-keyboards-keyboard-cache)
### **Logboeke**
* [ ] Kontroleer of [**sensitiewe inligting gelog word**](ios-pentesting/#logs)
### Agteruitkopieë
* [ ] [**Agteruitkopieë**](ios-pentesting/#backups) kan gebruik word om die sensitiewe inligting wat in die lêersisteem gestoor is, te **toegang** (kontroleer die aanvanklike punt van hierdie lys)
* [ ] Ook kan [**agteruitkopieë**](ios-pentesting/#backups) gebruik word om sommige konfigurasies van die aansoek te **verander**, dan die **agteruitkopie** op die foon te **herstel**, en sodra die **veranderde konfigurasie** gelaai word, kan sommige (sekuriteits) **funksionaliteit omseil** word
### **Aansoekgeheue**
* [ ] Kontroleer vir sensitiewe inligting binne die [**aansoek se geheue**](ios-pentesting/#testing-memory-for-sensitive-data)
### **Gebroke Kriptografie**
* [ ] Kontroleer of jy [**wagwoorde wat vir kriptografie gebruik word**](ios-pentesting/#broken-cryptography) kan vind
* [ ] Kontroleer vir die gebruik van [**verouderde/swak algoritmes**](ios-pentesting/#broken-cryptography) om sensitiewe data te stuur/stoor
* [ ] [**Haak en monitor kriptografie-funksies**](ios-pentesting/#broken-cryptography)
### **Plaaslike Identifikasie**
* [ ] As 'n [**plaaslike identifikasie**](ios-pentesting/#local-authentication) in die aansoek gebruik word, moet jy nagaan hoe die identifikasie werk.
* [ ] As dit die [**Plaaslike Identifikasie-Raamwerk**](ios-pentesting/#local-authentication-framework) gebruik, kan dit maklik omseil word
* [ ] As dit 'n [**funksie wat dinamies omseil kan word**](ios-pentesting/#local-authentication-using-keychain) gebruik, kan jy 'n aangepaste frida-skrip skep
### Sensitiewe Funksionaliteit Blootstelling deur IPC
* [**Aangepaste URI-hanteerders / Dieplinks / Aangepaste Skemas**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Kontroleer of die aansoek **enige protokol/skema registreer**
* [ ] Kontroleer of die aansoek registreer om enige protokol/skema te **gebruik**
* [ ] Kontroleer of die aansoek **verwag om enige soort sensitiewe inligting** van die aangepaste skema te ontvang wat deur 'n ander aansoek wat dieselfde skema registreer, **onderskep** kan word
* [ ] Kontroleer of die aansoek **nie gebruikersinsette deur die aangepaste skema kontroleer en skoonmaak nie** en dat 'n sekuriteitskwesbaarheid geëksploiteer kan word**
* [ ] Kontroleer of die aansoek **enige sensitiewe aksie blootstel** wat van enige plek af deur die aangepaste skema geroep kan word
* [**Universale Skakels**](ios-pentesting/#universal-links)
* [ ] Kontroleer of die aansoek **enige universele protokol/skema registreer**
* [ ] Kontroleer die `apple-app-site-association`-lêer
* [ ] Kontroleer of die aansoek **nie gebruikersinsette deur die aangepaste skema kontroleer en skoonmaak nie** en dat 'n sekuriteitskwesbaarheid geëksploiteer kan word**
* [ ] Kontroleer of die aansoek **enige sensitiewe aksie blootstel** wat van enige plek af deur die aangepaste skema geroep kan word
* [**UIActivity-deling**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Kontroleer of die aansoek UI-aktiwiteite kan ontvang en of dit moontlik is om enige kwesbaarheid met spesiaal ontwerpte aktiwiteit te benut
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] Kontroleer of die aansoek enige iets na die algemene knipbord kopieer
* [ ] Kontroleer of die aansoek die data van die algemene knipbord vir enige iets gebruik
* [ ] Monitor die knipbord om te sien of enige **sensitiewe data gekopieer word**
* [**Aansoekuitbreidings**](ios-pentesting/ios-app-extensions.md)
* [ ] Gebruik die aansoek enige uitbreiding?
* [**Webweergawes**](ios-pentesting/ios-webviews.md)
* [ ] Kontroleer watter soort webweergawes gebruik word
* [ ] Kontroleer die status van **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**
* [ ] Kontroleer of die webweergawe **lokale lêers kan benader** met die protokol **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] Kontroleer of Javascript toegang tot **Natuurlike** **metodes** kan hê (`JSContext`, `postMessage`)
### Netwerk Kommunikasie
* [ ] Voer 'n **MitM aan die kommunikasie** uit en soek na web kwesbaarhede.
* [ ] Kontroleer of die **naam van die sertifikaat se gasheer** nagegaan word
* [ ] Kontroleer/Omseil **Sertifikaat Pinning**
### **Verskeie**
* [ ] Kontroleer vir **outomatiese lappe/opdaterings** meganismes
* [ ] Kontroleer vir **skadelike derde party biblioteke**
**Probeer Hard Security Groep**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Leer AWS hak van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kontroleer die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PRs in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Gebruik [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) om maklik **werkstrome te bou en outomatiseer** wat aangedryf word deur die wêreld se **mees gevorderde** gemeenskapsinstrumente.\
Kry Vandag Toegang:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}