iOS Pentesting Checklist
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Preparazione
- Leggi iOS Basics
- Prepara il tuo ambiente leggendo iOS Testing Environment
- Leggi tutte le sezioni di iOS Initial Analysis per apprendere le azioni comuni per pentestare unâapplicazione iOS
Archiviazione Dati
- I file Plist possono essere utilizzati per memorizzare informazioni sensibili.
- Core Data (database SQLite) può memorizzare informazioni sensibili.
- YapDatabases (database SQLite) può memorizzare informazioni sensibili.
- Firebase configurazione errata.
- Database Realm possono memorizzare informazioni sensibili.
- Database Couchbase Lite possono memorizzare informazioni sensibili.
- Cookie binari possono memorizzare informazioni sensibili
- Dati di cache possono memorizzare informazioni sensibili
- Snapshot automatici possono salvare informazioni visive sensibili
- Keychain è solitamente utilizzato per memorizzare informazioni sensibili che possono rimanere quando si rivende il telefono.
- In sintesi, controlla solo le informazioni sensibili salvate dallâapplicazione nel filesystem
Tastiere
- Lâapplicazione consente di utilizzare tastiere personalizzate?
- Controlla se le informazioni sensibili sono salvate nei file di cache delle tastiere
Log
- Controlla se le informazioni sensibili vengono registrate
Backup
- I backup possono essere utilizzati per accedere alle informazioni sensibili salvate nel filesystem (controlla il punto iniziale di questo checklist)
- Inoltre, i backup possono essere utilizzati per modificare alcune configurazioni dellâapplicazione, quindi ripristinare il backup sul telefono, e poichĂŠ la configurazione modificata è caricata, alcune (funzionalitĂ di sicurezza) possono essere bypassate
Memoria delle Applicazioni
- Controlla le informazioni sensibili allâinterno della memoria dellâapplicazione
Crittografia Rottura
- Controlla se puoi trovare password utilizzate per la crittografia
- Controlla lâuso di algoritmi deprecati/deboli per inviare/memorizzare dati sensibili
- Hook e monitora le funzioni di crittografia
Autenticazione Locale
- Se viene utilizzata unâautenticazione locale nellâapplicazione, dovresti controllare come funziona lâautenticazione.
- Se utilizza il Local Authentication Framework potrebbe essere facilmente bypassato
- Se utilizza una funzione che può essere bypassata dinamicamente potresti creare uno script frida personalizzato
Esposizione di FunzionalitĂ Sensibili Tramite IPC
- Gestori URI personalizzati / Deeplinks / Schemi personalizzati
- Controlla se lâapplicazione sta registrando qualche protocollo/schema
- Controlla se lâapplicazione si sta registrando per utilizzare qualche protocollo/schema
- Controlla se lâapplicazione si aspetta di ricevere qualche tipo di informazione sensibile dallo schema personalizzato che può essere intercettato da unâaltra applicazione che registra lo stesso schema
- Controlla se lâapplicazione non sta controllando e sanitizzando 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
- Controlla se lâapplicazione sta registrando qualche protocollo/schema universale
- Controlla il file
apple-app-site-association - Controlla se lâapplicazione non sta controllando e sanitizzando 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
- Controlla se lâapplicazione può ricevere UIActivities e se è possibile sfruttare qualche vulnerabilitĂ con attivitĂ appositamente create
- UIPasteboard
- Controlla se lâapplicazione copia qualcosa negli appunti generali
- Controlla se lâapplicazione usa i dati dagli appunti generali per qualcosa
- Monitora gli appunti per vedere se qualche dato sensibile viene copiato
- Estensioni App
- Lâapplicazione usa qualche estensione?
- WebViews
- Controlla che tipo di webviews vengono utilizzati
- Controlla lo stato di
javaScriptEnabled,JavaScriptCanOpenWindowsAutomatically,hasOnlySecureContent - Controlla se il webview può accedere a file locali con il protocollo file:// (
allowFileAccessFromFileURLs,allowUniversalAccessFromFileURLs) - Controlla se Javascript può accedere a metodi Native (
JSContext,postMessage)
Comunicazione di Rete
- Esegui un MitM sulla comunicazione e cerca vulnerabilitĂ web.
- Controlla se il nome host del certificato viene controllato
- Controlla/Bypass Certificate Pinning
Varie
- Controlla per meccanismi di patching/aggiornamento automatico
- Controlla per librerie di terze parti malevole
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
HackTricks

