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

135 lines
9.1 KiB
Markdown

# iOS Pentesting Checklist
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kujiendesha kiotomatiki** kwa urahisi kwa kutumia zana za jamii **zilizoendelea zaidi** duniani.\
Pata Ufikiaji Leo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
{% hint style="success" %}
Jifunze na fanya mazoezi ya AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Jifunze na fanya mazoezi ya GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
{% endhint %}
### Preparation
* [ ] Soma [**Misingi ya iOS**](ios-pentesting/ios-basics.md)
* [ ] Andaa mazingira yako kwa kusoma [**Mazingira ya Upimaji wa iOS**](ios-pentesting/ios-testing-environment.md)
* [ ] Soma sehemu zote za [**Analizi ya Awali ya iOS**](ios-pentesting/#initial-analysis) ili kujifunza vitendo vya kawaida vya pentest programu ya iOS
### Data Storage
* [ ] [**Faili za Plist**](ios-pentesting/#plist) zinaweza kutumika kuhifadhi taarifa nyeti.
* [ ] [**Core Data**](ios-pentesting/#core-data) (hifadhidata ya SQLite) inaweza kuhifadhi taarifa nyeti.
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (hifadhidata ya SQLite) inaweza kuhifadhi taarifa nyeti.
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) usakinishaji mbaya.
* [ ] [**Hifadhidata za Realm**](ios-pentesting/#realm-databases) zinaweza kuhifadhi taarifa nyeti.
* [ ] [**Hifadhidata za Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) zinaweza kuhifadhi taarifa nyeti.
* [ ] [**Kuki za Binary**](ios-pentesting/#cookies) zinaweza kuhifadhi taarifa nyeti
* [ ] [**Data ya Cache**](ios-pentesting/#cache) inaweza kuhifadhi taarifa nyeti
* [ ] [**Snapshots za Kiotomatiki**](ios-pentesting/#snapshots) zinaweza kuokoa taarifa nyeti za kuona
* [ ] [**Keychain**](ios-pentesting/#keychain) kwa kawaida hutumiwa kuhifadhi taarifa nyeti ambazo zinaweza kuachwa wakati wa kuuza tena simu.
* [ ] Kwa muhtasari, **angalia tu taarifa nyeti zilizohifadhiwa na programu kwenye mfumo wa faili**
### Keyboards
* [ ] Je, programu [**inaruhusu kutumia keyboards za kawaida**](ios-pentesting/#custom-keyboards-keyboard-cache)?
* [ ] Angalia kama taarifa nyeti zimehifadhiwa katika [**faili za cache za keyboards**](ios-pentesting/#custom-keyboards-keyboard-cache)
### **Logs**
* [ ] Angalia kama [**taarifa nyeti zinaandikwa**](ios-pentesting/#logs)
### Backups
* [ ] [**Backups**](ios-pentesting/#backups) zinaweza kutumika **kufikia taarifa nyeti** zilizohifadhiwa kwenye mfumo wa faili (angalia hatua ya awali ya orodha hii)
* [ ] Pia, [**backups**](ios-pentesting/#backups) zinaweza kutumika **kubadilisha baadhi ya mipangilio ya programu**, kisha **rejesha** backup kwenye simu, na kama **mipangilio iliyobadilishwa** in **pakiwa** baadhi ya (usalama) **kazi** zinaweza **kuepukwa**
### **Applications Memory**
* [ ] Angalia taarifa nyeti ndani ya [**kumbukumbu ya programu**](ios-pentesting/#testing-memory-for-sensitive-data)
### **Broken Cryptography**
* [ ] Angalia kama unaweza kupata [**nywila zinazotumika kwa ajili ya cryptography**](ios-pentesting/#broken-cryptography)
* [ ] Angalia matumizi ya [**algorithms zilizopitwa na wakati/za udhaifu**](ios-pentesting/#broken-cryptography) kutuma/kuhifadhi data nyeti
* [ ] [**Hook na ufuatiliaji wa kazi za cryptography**](ios-pentesting/#broken-cryptography)
### **Local Authentication**
* [ ] Ikiwa [**uthibitishaji wa ndani**](ios-pentesting/#local-authentication) unatumika katika programu, unapaswa kuangalia jinsi uthibitishaji unavyofanya kazi.
* [ ] Ikiwa inatumia [**Msingi wa Uthibitishaji wa Ndani**](ios-pentesting/#local-authentication-framework) inaweza kuepukwa kwa urahisi
* [ ] Ikiwa inatumia [**kazi ambayo inaweza kuepukwa kwa dinamik**](ios-pentesting/#local-authentication-using-keychain) unaweza kuunda script maalum ya frida
### Sensitive Functionality Exposure Through IPC
* [**Custom URI Handlers / Deeplinks / Custom Schemes**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Angalia kama programu **inasajili protokali/scheme yoyote**
* [ ] Angalia kama programu **inasajili kutumia** protokali/scheme yoyote
* [ ] Angalia kama programu **inasubiri kupokea aina yoyote ya taarifa nyeti** kutoka kwa scheme maalum ambayo inaweza **kukamatwa** na programu nyingine inayosajili scheme hiyo hiyo
* [ ] Angalia kama programu **haiangalii na kusafisha** pembejeo za watumiaji kupitia scheme maalum na baadhi ya **udhaifu unaweza kutumika**
* [ ] Angalia kama programu **inaweka wazi hatua yoyote nyeti** ambayo inaweza kuitwa kutoka mahali popote kupitia scheme maalum
* [**Universal Links**](ios-pentesting/#universal-links)
* [ ] Angalia kama programu **inasajili protokali/scheme yoyote ya ulimwengu**
* [ ] Angalia faili ya `apple-app-site-association`
* [ ] Angalia kama programu **haiangalii na kusafisha** pembejeo za watumiaji kupitia scheme maalum na baadhi ya **udhaifu unaweza kutumika**
* [ ] Angalia kama programu **inaweka wazi hatua yoyote nyeti** ambayo inaweza kuitwa kutoka mahali popote kupitia scheme maalum
* [**UIActivity Sharing**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Angalia kama programu inaweza kupokea UIActivities na ikiwa inawezekana kutumia udhaifu wowote na shughuli iliyoundwa kwa makusudi
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] Angalia kama programu **inaiga chochote kwenye pasteboard ya jumla**
* [ ] Angalia kama programu **ina matumizi ya data kutoka pasteboard ya jumla kwa chochote**
* [ ] Fuata pasteboard kuona kama **data nyeti inakopiwa**
* [**App Extensions**](ios-pentesting/ios-app-extensions.md)
* [ ] Je, programu **inatumia nyongeza yoyote**?
* [**WebViews**](ios-pentesting/ios-webviews.md)
* [ ] Angalia ni aina gani ya webviews zinazotumika
* [ ] Angalia hali ya **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**
* [ ] Angalia kama webview inaweza **kufikia faili za ndani** kwa kutumia protokali **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] Angalia kama Javascript inaweza kufikia **Mbinu** **za Asili** (`JSContext`, `postMessage`)
### Network Communication
* [ ] Fanya [**MitM kwa mawasiliano**](ios-pentesting/#network-communication) na tafuta udhaifu wa wavuti.
* [ ] Angalia kama [**jina la mwenyeji la cheti**](ios-pentesting/#hostname-check) linakaguliwa
* [ ] Angalia/Kuepuka [**Certificate Pinning**](ios-pentesting/#certificate-pinning)
### **Misc**
* [ ] Angalia [**mifumo ya kujiendesha kiotomatiki**](ios-pentesting/#hot-patching-enforced-updateing)
* [ ] Angalia [**maktaba za wahusika wa tatu zenye uharibifu**](ios-pentesting/#third-parties)
{% hint style="success" %}
Jifunze na fanya mazoezi ya AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Jifunze na fanya mazoezi ya GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kujiendesha kiotomatiki** kwa urahisi kwa kutumia zana za jamii **zilizoendelea zaidi** duniani.\
Pata Ufikiaji Leo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}