mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
133 lines
9.9 KiB
Markdown
133 lines
9.9 KiB
Markdown
# Lista de Verificación para Pentesting en iOS
|
|
|
|
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente, potenciados por las herramientas comunitarias **más avanzadas** del mundo.\
|
|
Obtén Acceso Hoy:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprende hacking en AWS desde cero hasta héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Otras formas de apoyar a HackTricks:
|
|
|
|
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
### Preparación
|
|
|
|
* [ ] Lee [**Conceptos Básicos de iOS**](ios-pentesting/ios-basics.md)
|
|
* [ ] Prepara tu entorno leyendo [**Entorno de Pruebas en iOS**](ios-pentesting/ios-testing-environment.md)
|
|
* [ ] Lee todas las secciones de [**Análisis Inicial de iOS**](ios-pentesting/#initial-analysis) para aprender acciones comunes en el pentest de una aplicación iOS
|
|
|
|
### Almacenamiento de Datos
|
|
|
|
* [ ] Los [**archivos Plist**](ios-pentesting/#plist) pueden usarse para almacenar información sensible.
|
|
* [ ] [**Core Data**](ios-pentesting/#core-data) (base de datos SQLite) puede almacenar información sensible.
|
|
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (base de datos SQLite) pueden almacenar información sensible.
|
|
* [ ] Configuración incorrecta de [**Firebase**](ios-pentesting/#firebase-real-time-databases).
|
|
* [ ] Las [**bases de datos Realm**](ios-pentesting/#realm-databases) pueden almacenar información sensible.
|
|
* [ ] Las [**bases de datos Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) pueden almacenar información sensible.
|
|
* [ ] Las [**cookies binarias**](ios-pentesting/#cookies) pueden almacenar información sensible
|
|
* [ ] Los [**datos de caché**](ios-pentesting/#cache) pueden almacenar información sensible
|
|
* [ ] Los [**snapshots automáticos**](ios-pentesting/#snapshots) pueden guardar información visual sensible
|
|
* [ ] [**Keychain**](ios-pentesting/#keychain) suele usarse para almacenar información sensible que puede quedar al revender el teléfono.
|
|
* [ ] En resumen, simplemente **busca información sensible guardada por la aplicación en el sistema de archivos**
|
|
|
|
### Teclados
|
|
|
|
* [ ] ¿La aplicación [**permite usar teclados personalizados**](ios-pentesting/#custom-keyboards-keyboard-cache)?
|
|
* [ ] Verifica si la información sensible se guarda en los [**archivos de caché de teclados**](ios-pentesting/#custom-keyboards-keyboard-cache)
|
|
|
|
### **Logs**
|
|
|
|
* [ ] Verifica si [**se está registrando información sensible**](ios-pentesting/#logs)
|
|
|
|
### Copias de Seguridad
|
|
|
|
* [ ] Las [**copias de seguridad**](ios-pentesting/#backups) pueden usarse para **acceder a la información sensible** guardada en el sistema de archivos (verifica el punto inicial de esta lista)
|
|
* [ ] Además, las [**copias de seguridad**](ios-pentesting/#backups) pueden usarse para **modificar algunas configuraciones de la aplicación**, luego **restaurar** la copia en el teléfono, y al cargarse la **configuración modificada** puede **eludirse alguna funcionalidad** (de seguridad)
|
|
|
|
### **Memoria de las Aplicaciones**
|
|
|
|
* [ ] Busca información sensible dentro de la [**memoria de la aplicación**](ios-pentesting/#testing-memory-for-sensitive-data)
|
|
|
|
### **Criptografía Vulnerable**
|
|
|
|
* [ ] Verifica si puedes encontrar [**contraseñas usadas para criptografía**](ios-pentesting/#broken-cryptography)
|
|
* [ ] Busca el uso de [**algoritmos obsoletos/débiles**](ios-pentesting/#broken-cryptography) para enviar/almacenar datos sensibles
|
|
* [ ] [**Engancha y monitorea funciones de criptografía**](ios-pentesting/#broken-cryptography)
|
|
|
|
### **Autenticación Local**
|
|
|
|
* [ ] Si se utiliza una [**autenticación local**](ios-pentesting/#local-authentication) en la aplicación, debes verificar cómo funciona la autenticación.
|
|
* [ ] Si está utilizando el [**Marco de Autenticación Local**](ios-pentesting/#local-authentication-framework) podría ser fácilmente eludido
|
|
* [ ] Si está utilizando una [**función que puede ser eludida dinámicamente**](ios-pentesting/#local-authentication-using-keychain) podrías crear un script personalizado de frida
|
|
|
|
### Exposición de Funcionalidad Sensible a través de IPC
|
|
|
|
* [**Manejadores de URI Personalizados / Deeplinks / Esquemas Personalizados**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
|
|
* [ ] Verifica si la aplicación está **registrando algún protocolo/esquema**
|
|
* [ ] Verifica si la aplicación está **registrada para usar** algún protocolo/esquema
|
|
* [ ] Verifica 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
|
|
* [ ] Verifica si la aplicación **no está verificando y saneando** la entrada de los usuarios a través del esquema personalizado y alguna **vulnerabilidad puede ser explotada**
|
|
* [ ] Verifica si la aplicación **expone alguna acción sensible** que puede ser llamada desde cualquier lugar a través del esquema personalizado
|
|
* [**Enlaces Universales**](ios-pentesting/#universal-links)
|
|
* [ ] Verifica si la aplicación está **registrando algún protocolo/esquema universal**
|
|
* [ ] Verifica el archivo `apple-app-site-association`
|
|
* [ ] Verifica si la aplicación **no está verificando y saneando** la entrada de los usuarios a través del esquema personalizado y alguna **vulnerabilidad puede ser explotada**
|
|
* [ ] Verifica si la aplicación **expone alguna acción sensible** que puede ser llamada desde cualquier lugar a través del esquema personalizado
|
|
* [**Compartir UIActivity**](ios-pentesting/ios-uiactivity-sharing.md)
|
|
* [ ] Verifica si la aplicación puede recibir UIActivities y si es posible explotar alguna vulnerabilidad con una actividad especialmente diseñada
|
|
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
|
|
* [ ] Verifica si la aplicación está **copiando algo al portapapeles general**
|
|
* [ ] Verifica si la aplicación está **usando los datos del portapapeles general para algo**
|
|
* [ ] Monitorea el portapapeles para ver si se copia **algún dato sensible**
|
|
* [**Extensiones de Aplicación**](ios-pentesting/ios-app-extensions.md)
|
|
* [ ] ¿La aplicación está **usando alguna extensión**?
|
|
* [**WebViews**](ios-pentesting/ios-webviews.md)
|
|
* [ ] Verifica qué tipo de webviews se están utilizando
|
|
* [ ] Verifica el estado de **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**
|
|
* [ ] Verifica si el webview puede **acceder a archivos locales** con el protocolo **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
|
|
* [ ] Verifica si Javascript puede acceder a **métodos Nativos** (`JSContext`, `postMessage`)
|
|
|
|
### Comunicación de Red
|
|
|
|
* [ ] Realiza un [**MitM a la comunicación**](ios-pentesting/#network-communication) y busca vulnerabilidades web.
|
|
* [ ] Verifica si se comprueba el [**nombre de host del certificado**](ios-pentesting/#hostname-check)
|
|
* [ ] Verifica/Elude [**Certificate Pinning**](ios-pentesting/#certificate-pinning)
|
|
|
|
### **Varios**
|
|
|
|
* [ ] Verifica los mecanismos de [**parcheo/actualización automática**](ios-pentesting/#hot-patching-enforced-updateing)
|
|
* [ ] Verifica las [**bibliotecas de terceros maliciosas**](ios-pentesting/#third-parties)
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprende hacking en AWS desde cero hasta héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Otras formas de apoyar a HackTricks:
|
|
|
|
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente, potenciados por las herramientas comunitarias **más avanzadas** del mundo.\
|
|
Obtén Acceso Hoy:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|