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

147 lines
10 KiB
Markdown
Raw Normal View History

# Checklist per il Pentesting di iOS
2022-04-28 16:01:33 +00:00
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
\
Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** con gli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-08-31 22:35:39 +00:00
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-05 11:02:33 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
2024-02-10 13:03:23 +00:00
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
2022-04-28 16:01:33 +00:00
</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" %}
***
2024-02-10 13:03:23 +00:00
### Preparazione
2021-05-21 17:13:19 +00:00
* [ ] Leggi [**Nozioni di base su iOS**](ios-pentesting/ios-basics.md)
* [ ] Prepara il tuo ambiente leggendo [**Ambiente di test iOS**](ios-pentesting/ios-testing-environment.md)
* [ ] Leggi tutte le sezioni di [**Analisi iniziale di iOS**](ios-pentesting/#initial-analysis) per imparare le azioni comuni per il pentesting di un'applicazione iOS
2021-05-21 17:13:19 +00:00
### Archiviazione dei Dati
2021-05-21 17:13:19 +00:00
* [ ] I [**file Plist**](ios-pentesting/#plist) possono essere utilizzati per archiviare informazioni sensibili.
2024-02-10 13:03:23 +00:00
* [ ] [**Core Data**](ios-pentesting/#core-data) (database SQLite) può archiviare informazioni sensibili.
* [ ] I [**YapDatabases**](ios-pentesting/#yapdatabase) (database SQLite) possono archiviare informazioni sensibili.
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) configurazione errata.
* [ ] I [**database Realm**](ios-pentesting/#realm-databases) possono archiviare informazioni sensibili.
* [ ] I [**database Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) possono archiviare informazioni sensibili.
* [ ] I [**cookie binari**](ios-pentesting/#cookies) possono archiviare informazioni sensibili.
* [ ] I [**dati della cache**](ios-pentesting/#cache) possono archiviare informazioni sensibili.
* [ ] Gli [**istantanei automatici**](ios-pentesting/#snapshots) possono salvare informazioni visivamente sensibili.
* [ ] Il [**portachiavi**](ios-pentesting/#keychain) è solitamente utilizzato per archiviare informazioni sensibili che possono essere lasciate durante la rivendita del telefono.
* [ ] In sintesi, controlla solo se l'applicazione salva informazioni sensibili nel filesystem.
2021-05-21 17:13:19 +00:00
2024-02-10 13:03:23 +00:00
### Tastiere
2021-05-21 17:13:19 +00:00
* [ ] L'applicazione **permette l'uso di tastiere personalizzate**?
* [ ] Controlla se le informazioni sensibili sono salvate nei [**file di cache delle tastiere**](ios-pentesting/#custom-keyboards-keyboard-cache)
2021-05-21 17:13:19 +00:00
2024-02-10 13:03:23 +00:00
### **Log**
2021-05-21 17:13:19 +00:00
2024-02-10 13:03:23 +00:00
* [ ] Controlla se vengono registrate [**informazioni sensibili**](ios-pentesting/#logs)
2021-05-21 17:13:19 +00:00
2024-02-10 13:03:23 +00:00
### Backup
2021-05-21 17:13:19 +00:00
* [ ] I [**backup**](ios-pentesting/#backups) possono essere utilizzati per **accedere alle informazioni sensibili** salvate nel filesystem (controlla il punto iniziale di questa checklist)
* [ ] Inoltre, i [**backup**](ios-pentesting/#backups) possono essere utilizzati per **modificare alcune configurazioni dell'applicazione**, quindi **ripristinare** il backup sul telefono e una volta che la **configurazione modificata** è **caricata** alcune funzionalità (di sicurezza) possono essere **bypassate**
2021-05-21 17:13:19 +00:00
### **Memoria delle Applicazioni**
2021-05-21 17:13:19 +00:00
* [ ] Controlla se ci sono informazioni sensibili all'interno della [**memoria dell'applicazione**](ios-pentesting/#testing-memory-for-sensitive-data)
2021-05-21 17:13:19 +00:00
### **Crittografia Danneggiata**
2021-05-21 17:13:19 +00:00
* [ ] Controlla se puoi trovare [**password utilizzate per la crittografia**](ios-pentesting/#broken-cryptography)
2024-02-10 13:03:23 +00:00
* [ ] Controlla l'uso di [**algoritmi deprecati/deboli**](ios-pentesting/#broken-cryptography) per inviare/archiviare dati sensibili
* [ ] [**Hook e monitora le funzioni di crittografia**](ios-pentesting/#broken-cryptography)
2021-05-21 17:13:19 +00:00
### **Autenticazione Locale**
2021-05-21 17:13:19 +00:00
* [ ] Se viene utilizzata un'[**autenticazione locale**](ios-pentesting/#local-authentication) nell'applicazione, controlla come funziona l'autenticazione.
* [ ] Se viene utilizzato il [**Framework di Autenticazione Locale**](ios-pentesting/#local-authentication-framework) potrebbe essere facilmente bypassato
* [ ] Se viene utilizzata una [**funzione che può essere bypassata dinamicamente**](ios-pentesting/#local-authentication-using-keychain) potresti creare uno script frida personalizzato
2021-05-21 17:13:19 +00:00
### Esposizione di Funzionalità Sensibili tramite IPC
2021-05-21 17:13:19 +00:00
* [**Gestori URI personalizzati / Deeplinks / Schemi personalizzati**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
2024-02-10 13:03:23 +00:00
* [ ] Controlla se l'applicazione **registra qualche protocollo/schema**
* [ ] Controlla se l'applicazione **si registra per utilizzare** qualche protocollo/schema
* [ ] Controlla se l'applicazione **si aspetta di ricevere qualche tipo di informazione sensibile** dal protocollo personalizzato che può essere **intercettato** da un'altra applicazione che si registra allo stesso schema
* [ ] Controlla se l'applicazione **non sta controllando e sanificando** l'input degli utenti tramite lo schema personalizzato e qualche **vulnerabilità può essere sfruttata**
* [ ] Controlla se l'applicazione **espone qualche azione sensibile** che può essere chiamata da qualsiasi luogo tramite lo schema personalizzato
* [**Link Universali**](ios-pentesting/#universal-links)
2024-02-10 13:03:23 +00:00
* [ ] Controlla se l'applicazione **registra qualche protocollo/schema universale**
* [ ] Controlla il file `apple-app-site-association`
* [ ] Controlla se l'applicazione **non sta controllando e sanificando** l'input degli utenti tramite lo schema personalizzato e qualche **vulnerabilità può essere sfruttata**
* [ ] Controlla se l'applicazione **espone qualche azione sensibile** che può essere chiamata da qualsiasi luogo tramite lo schema personalizzato
2024-02-10 13:03:23 +00:00
* [**Condivisione UIActivity**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Controlla se l'applicazione può ricevere UIActivities e se è possibile sfruttare qualche vulnerabilità con un'attività appositamente creata
2022-03-27 21:47:46 +00:00
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
2024-02-10 13:03:23 +00:00
* [ ] Controlla se l'applicazione **copia qualcosa negli appunti generali**
* [ ] Controlla se l'applicazione **utilizza i dati dagli appunti generali per qualcosa**
* [ ] Monitora gli appunti per vedere se vengono copiati dati sensibili
* [**Estensioni delle App**](ios-pentesting/ios-app-extensions.md)
2024-02-10 13:03:23 +00:00
* [ ] L'applicazione **utilizza qualche estensione**?
2022-03-27 21:47:46 +00:00
* [**WebViews**](ios-pentesting/ios-webviews.md)
* [ ] Controlla che tipo di webview viene utilizzato
* [ ] Controlla lo stato di **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**
* [ ] Controlla se la webview può **accedere a file locali** con il protocollo **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] Controlla se Javascript può accedere a **metodi nativi** (`JSContext`, `postMessage`)
### Comunicazione di Rete
2021-05-21 17:13:19 +00:00
* [ ] Esegui un [**MitM sulla comunicazione**](ios-pentesting/#network-communication) e cerca vulnerabilità web.
* [ ] Verifica se il [**nome host del certificato**](ios-pentesting/#hostname-check) viene controllato.
* [ ] Controlla/Superare il [**Certificate Pinning**](ios-pentesting/#certificate-pinning)
2021-05-21 17:13:19 +00:00
2024-02-10 13:03:23 +00:00
### **Varie**
2021-05-21 17:13:19 +00:00
* [ ] Controlla i meccanismi di [**patching/aggiornamento automatico**](ios-pentesting/#hot-patching-enforced-updateing)
* [ ] Controlla la presenza di [**librerie di terze parti dannose**](ios-pentesting/#third-parties)
**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" %}
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-05 11:02:33 +00:00
* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
2024-02-10 13:03:23 +00:00
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
2022-08-31 22:35:39 +00:00
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
\
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}