iOS Pentesting Checklist

Reading time: 5 minutes

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks

Preparazione

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

Log

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

Crittografia Rottura

Autenticazione Locale

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

Varie

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks