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

11 KiB

Lista de verificación para Pentesting en iOS


Utiliza Trickest para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtén acceso hoy mismo:

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

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Preparación

Almacenamiento de datos

  • Los archivos Plist se pueden utilizar para almacenar información sensible.
  • Core Data (base de datos SQLite) puede almacenar información sensible.
  • YapDatabases (base de datos SQLite) puede almacenar información sensible.
  • Configuración incorrecta de Firebase.
  • Las bases de datos de Realm pueden almacenar información sensible.
  • Las bases de datos de Couchbase Lite pueden almacenar información sensible.
  • Las cookies binarias pueden almacenar información sensible.
  • Los datos en caché pueden almacenar información sensible.
  • Las capturas automáticas pueden guardar información visual sensible.
  • El llavero se utiliza generalmente para almacenar información sensible que puede quedar en el teléfono al venderlo.
  • En resumen, solo verifica si la aplicación guarda información sensible en el sistema de archivos.

Teclados

Registros

Copias de seguridad

  • Las copias de seguridad se pueden utilizar para acceder a la información sensible almacenada en el sistema de archivos (verifica el punto inicial de esta lista de verificación)
  • Además, las copias de seguridad se pueden utilizar para modificar algunas configuraciones de la aplicación, luego restaurar la copia de seguridad en el teléfono y, al cargarse la configuración modificada, se puede burlar alguna funcionalidad (de seguridad).

Memoria de las aplicaciones

Criptografía defectuosa

Autenticación local

Exposición de Funcionalidad Sensible a través de IPC

  • Manejadores de URI personalizados / Enlaces profundos / Esquemas personalizados
  • Verificar si la aplicación está registrando algún protocolo/esquema
  • Verificar si la aplicación está registrándose para usar algún protocolo/esquema
  • Verificar si la aplicación espera recibir algún tipo de información sensible del esquema personalizado que puede ser interceptada por otra aplicación que registre el mismo esquema
  • Verificar si la aplicación no está verificando y saneando la entrada de los usuarios a través del esquema personalizado y se puede aprovechar alguna vulnerabilidad
  • Verificar si la aplicación expone alguna acción sensible que pueda ser llamada desde cualquier lugar a través del esquema personalizado
  • Enlaces universales
  • Verificar si la aplicación está registrando algún protocolo/esquema universal
  • Verificar el archivo apple-app-site-association
  • Verificar si la aplicación no está verificando y saneando la entrada de los usuarios a través del esquema personalizado y se puede aprovechar alguna vulnerabilidad
  • Verificar si la aplicación expone alguna acción sensible que pueda ser llamada desde cualquier lugar a través del esquema personalizado
  • Compartir UIActivity
  • Verificar si la aplicación puede recibir UIActivities y si es posible aprovechar alguna vulnerabilidad con una actividad especialmente diseñada
  • UIPasteboard
  • Verificar si la aplicación copia algo en el portapapeles general
  • Verificar si la aplicación utiliza los datos del portapapeles general para algo
  • Monitorear el portapapeles para ver si se copia algún dato sensible
  • Extensiones de la aplicación
  • ¿La aplicación utiliza alguna extensión?
  • WebViews
  • Verificar qué tipo de webviews se están utilizando
  • Verificar el estado de javaScriptEnabled, JavaScriptCanOpenWindowsAutomatically, hasOnlySecureContent
  • Verificar si el webview puede acceder a archivos locales con el protocolo file:// (allowFileAccessFromFileURLs, allowUniversalAccessFromFileURLs)
  • Verificar si Javascript puede acceder a métodos nativos (JSContext, postMessage)

Comunicación de Red

Misceláneo

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥


Utiliza Trickest para construir y automatizar flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtén acceso hoy mismo:

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