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

10 KiB

Checklist di Pentesting iOS


Utilizza Trickest 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" %}

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

Altri modi per supportare HackTricks:

Try Hard Security Group

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


Preparazione

Archiviazione Dati

  • I file Plist possono essere utilizzati per archiviare informazioni sensibili.
  • Core Data (database SQLite) può archiviare informazioni sensibili.
  • YapDatabases (database SQLite) possono archiviare informazioni sensibili.
  • Firebase configurazione errata.
  • Database Realm possono archiviare informazioni sensibili.
  • 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 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

Log

Backup

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

Crittografia Danneggiata

Autenticazione Locale

Esposizione 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/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
  • 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
  • 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 App
  • L'applicazione utilizza qualche estensione?
  • WebViews
  • 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

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 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" %}