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

10 KiB

Lista di controllo per il Pentesting di iOS


Utilizza Trickest per creare e automatizzare flussi di lavoro con gli 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" %}

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Try Hard Security Group

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


Preparazione

Archiviazione dei Dati

  • I file Plist possono essere utilizzati per archiviare informazioni sensibili.
  • Core Data (database SQLite) può archiviare informazioni sensibili.
  • I YapDatabases (database SQLite) possono archiviare informazioni sensibili.
  • Firebase configurazione errata.
  • I database Realm possono archiviare informazioni sensibili.
  • I database Couchbase Lite possono archiviare informazioni sensibili.
  • I cookie binari possono archiviare informazioni sensibili
  • I dati di cache possono archiviare informazioni sensibili
  • Gli istantanei automatici possono salvare informazioni sensibili visive
  • Il portachiavi è solitamente utilizzato per archiviare informazioni sensibili che possono essere lasciate durante la rivendita del telefono.
  • In sintesi, controlla solo le informazioni sensibili salvate dall'applicazione nel filesystem

Tastiere

  • L'applicazione permette l'uso di tastiere personalizzate?
  • Controlla se le informazioni sensibili sono salvate nei file di cache delle tastiere

Log

Backup

  • I backup possono essere utilizzati per accedere alle informazioni sensibili salvate nel filesystem (controlla il punto iniziale di questa lista di controllo)
  • Inoltre, i backup 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 delle Applicazioni

Crittografia Danneggiata

Autenticazione Locale

Esposizione di Funzionalità Sensibili tramite IPC

  • Gestori URI personalizzati / Deeplinks / Schemi personalizzati
  • 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 intercettata da un'altra applicazione che registra lo stesso schema
  • Controlla se l'applicazione non sta controllando e sanificando l'input degli utenti tramite il protocollo personalizzato e qualche vulnerabilità può essere sfruttata
  • Controlla se l'applicazione espone qualche azione sensibile che può essere chiamata da qualsiasi luogo tramite il protocollo personalizzato
  • Link Universali
  • 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 il protocollo personalizzato e qualche vulnerabilità può essere sfruttata
  • Controlla se l'applicazione espone qualche azione sensibile che può essere chiamata da qualsiasi luogo tramite il protocollo personalizzato
  • Condivisione UIActivity
  • Controlla se l'applicazione può ricevere UIActivities e se è possibile sfruttare qualche vulnerabilità con un'attività appositamente creata
  • UIPasteboard
  • 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 Applicazioni
  • L'applicazione utilizza qualche estensione?
  • WebViews
  • Controlla che tipo di webview venga 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

Varie

Try Hard Security Group

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

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:


Usa Trickest per creare e automatizzare flussi di lavoro con gli 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" %}