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

10 KiB

iOS Pentesting Checklist


Usa Trickest per costruire e automatizzare flussi di lavoro facilmente, alimentati dagli strumenti della comunità più avanzati al mondo.
Accedi oggi:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

{% hint style="success" %} Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}

Try Hard Security Group

{% embed url="https://discord.gg/tryhardsecurity" %}


Preparazione

Data Storage

  • 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.
  • I database Realm possono memorizzare informazioni sensibili.
  • I database Couchbase Lite possono memorizzare informazioni sensibili.
  • I cookie binari possono memorizzare informazioni sensibili.
  • I dati della cache possono memorizzare informazioni sensibili.
  • Le istantanee automatiche possono salvare informazioni visive sensibili.
  • Keychain è solitamente utilizzato per memorizzare informazioni sensibili che possono essere lasciate 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) potrebbero 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 se 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 se 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 dati sensibili viene copiato.
  • Estensioni App.
  • L'applicazione usa qualche estensione?
  • WebViews.
  • Controlla quale 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

Try Hard Security Group

{% embed url="https://discord.gg/tryhardsecurity" %}

{% hint style="success" %} Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}


Usa Trickest per costruire e automatizzare flussi di lavoro facilmente, alimentati dagli strumenti della comunità più avanzati al mondo.
Accedi oggi:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}