mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
146 lines
10 KiB
Markdown
146 lines
10 KiB
Markdown
# Checklist di Pentesting iOS
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utilizza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare e **automatizzare flussi di lavoro** con strumenti della community più avanzati al mondo.\
|
|
Ottieni l'accesso oggi:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
|
|
|
<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>
|
|
|
|
Altri modi per supportare HackTricks:
|
|
|
|
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
|
* 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.
|
|
|
|
</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" %}
|
|
|
|
***
|
|
|
|
### Preparazione
|
|
|
|
* [ ] Leggi [**Nozioni di base su iOS**](ios-pentesting/ios-basics.md)
|
|
* [ ] Prepara il tuo ambiente leggendo [**Ambiente di Testing 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 pentest di un'applicazione iOS
|
|
|
|
### Archiviazione Dati
|
|
|
|
* [ ] I [**file Plist**](ios-pentesting/#plist) possono essere utilizzati per archiviare informazioni sensibili.
|
|
* [ ] [**Core Data**](ios-pentesting/#core-data) (database SQLite) può archiviare informazioni sensibili.
|
|
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (database SQLite) possono archiviare informazioni sensibili.
|
|
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) configurazione errata.
|
|
* [ ] [**Database Realm**](ios-pentesting/#realm-databases) possono archiviare informazioni sensibili.
|
|
* [ ] [**Database Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) possono archiviare informazioni sensibili.
|
|
* [ ] I [**cookie binari**](ios-pentesting/#cookies) possono archiviare informazioni sensibili.
|
|
* [ ] I [**dati di cache**](ios-pentesting/#cache) possono archiviare informazioni sensibili.
|
|
* [ ] Gli [**istantanei automatici**](ios-pentesting/#snapshots) possono salvare informazioni sensibili visive.
|
|
* [ ] Il [**portachiavi**](ios-pentesting/#keychain) è solitamente utilizzato per archiviare informazioni sensibili che possono rimanere quando si rivende il telefono.
|
|
* [ ] In sintesi, controlla solo se l'applicazione salva informazioni sensibili nel filesystem
|
|
|
|
### Tastiere
|
|
|
|
* [ ] 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)
|
|
|
|
### **Log**
|
|
|
|
* [ ] Controlla se vengono registrate [**informazioni sensibili**](ios-pentesting/#logs)
|
|
|
|
### Backup
|
|
|
|
* [ ] 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**
|
|
|
|
### **Memoria Applicazioni**
|
|
|
|
* [ ] Controlla se ci sono informazioni sensibili all'interno della [**memoria dell'applicazione**](ios-pentesting/#testing-memory-for-sensitive-data)
|
|
|
|
### **Crittografia Danneggiata**
|
|
|
|
* [ ] Controlla se puoi trovare [**password utilizzate per la crittografia**](ios-pentesting/#broken-cryptography)
|
|
* [ ] 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)
|
|
|
|
### **Autenticazione Locale**
|
|
|
|
* [ ] 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
|
|
|
|
### Esposizione Funzionalità Sensibili tramite IPC
|
|
|
|
* [**Gestori URI personalizzati / Deeplinks / Schemi personalizzati**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
|
|
* [ ] 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/schema personalizzato che può essere **intercettato** da un'altra applicazione che registra lo 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)
|
|
* [ ] 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
|
|
* [**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
|
|
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
|
|
* [ ] 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 App**](ios-pentesting/ios-app-extensions.md)
|
|
* [ ] L'applicazione **utilizza qualche estensione**?
|
|
* [**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
|
|
|
|
* [ ] 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.
|
|
* [ ] Verifica/Superamento del [**Certificate Pinning**](ios-pentesting/#certificate-pinning)
|
|
|
|
### **Varie**
|
|
|
|
* [ ] 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" %}
|
|
|
|
<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>
|
|
|
|
Altri modi per supportare HackTricks:
|
|
|
|
* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
|
* 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 ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
|
|
|
|
</details>
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
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:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|