SlideShare una empresa de Scribd logo
Auditando aplicaciones iOS
Marc Fernández
Wise Security Global
Canal de preguntas: @PreguntasFWR
Auditando aplicaciones iOS 2
Índice
1.- WHOAMI
2.- INTRODUCCIÓN A IOS
3.- ESTRUCTURA DE LA AUDITORÍA
4.- REVERSING
5.- ANÁISIS ESTÁTICO
6.- ANÁLISIS DINÁMICO
7.- ELABORACIÓN DE RESULTADOS
8.- ACTUALIDAD
Auditando aplicaciones iOS 3
01 WHOAMI
Auditando aplicaciones iOS 4
whoami
• Marc Fernández Antolín
• Trabajo en Wise Security
• En los últimos años me he especializado en móviles (por fin Windows
Phone ya no existe)
• Ingeniero informático (UPC)
• Master en Cybersecurity Management (UPC School)
• Datos de contacto:
• mfernandez@wsg127.com
• Telegram: @MarcFdez
Auditando aplicaciones iOS 5
02 INTRODUCCIÓN A iOS
Auditando aplicaciones iOS 6
Introducción a iOS
• Cifrado: Espacio de usuario cifrado
• Atributos de accesibilidad del Keychain
• kSecAttrAccessibleAlways:
• kSecAttrAccessibleAfterFirstUnlock:
• kSecAttrAccessibleWhenUnlocked:
• kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly:
https://www.apple.com/business/docs/iOS_Security_G
uide.pdf
Auditando aplicaciones iOS 7
Sandbox y Jailbreak
• Sandbox
• Las apps solamente pueden acceder a su propio espacio de aplicación
• Jailbreak
• Tipos
• Unthethered – Full equip
• Tethered – Necesitas contectarlo a un PC para poder usarlo
• Semi-tethered – Necesitas tethered boot para tener jailbreak
• Semi-untethered – Re-jailbreak (sin PC) al reiniciar; no se pierden datos
• Versiones con Jailbreak: https://www.theiphonewiki.com/wiki/Jailbreak
• Herramientas (algunas)
• Baidu
• Yalu
• Pangu
• Saïgon
• Electra – para iOS 11, no instala cydia
Auditando aplicaciones iOS 8
03
ESTRUCTURA DE LA
AUDITORÍA
Auditando aplicaciones iOS 9
Reversing
• scp
• r2 & IDA
• unzip
• r2 & IDA
• Plutil
• Certificado
• Cydia
• SSL Kill
Switch
• Burp Suite
• frida
• Documentación
• Informe
Análisis
Estático
Preparación
entorno
Análisis
Dinámico
Elaboración de
resultados
Estructura de la auditoría
Auditando aplicaciones iOS 10
04 REVERSING
Auditando aplicaciones iOS 11
Reversing – Obtención de los binarios
• Obtención de binarios del dispositivo con Clutch (https://github.com/KJCracks/Clutch)
Auditando aplicaciones iOS 12
Reversing- Escructura de un .ipa
• .ipa es equivalente a .zip
Auditando aplicaciones iOS 13
Reversing – Deficiencias en la protección del código
• Reversing de binarios con IDA Pro o r2 (https://rada.re/)
Auditando aplicaciones iOS 14
05 ANÁLISIS ESTÁTICO
Auditando aplicaciones iOS 15
Análisis Estático – Conexiones / URLs en el código
X HTTP!!!
Validar en análisis dinámico
Auditando aplicaciones iOS 16
Análisis Estático – Controles de jailbreak
• Búsqueda de funciones tipo “isJailbroken”
• Búsqueda de strings que representan indicadores de compromiso
• Búsqueda de strings que representan indicadores de compromiso II
Auditando aplicaciones iOS 17
06 ANÁLISIS DINÁMICO
Auditando aplicaciones iOS 18
06.1 TRÁFICO
Auditando aplicaciones iOS 19
Análisis Dinámico – Intercepción de tráfico (I)
• Abrir el proxy y configurarlo para que escuche tráfico de otros dispositivos
Auditando aplicaciones iOS 20
Análisis Dinámico – Intercepción de tráfico (II)
• Saber que IP tiene nuestro proxy para:
• Configurar el proxy HTTP en el dispositivo
• Equipo: ifconfig
• iPhone: Ajustes -> WiFi -> Red X -> PROXY HTTP -> Manual
Auditando aplicaciones iOS 21
Análisis Dinámico – Intercepción de tráfico (III)
• Instalar el certificado de Burp: http://burp:8080
Auditando aplicaciones iOS 22
Análisis Dinámico – Intercepción de tráfico (IV)
• Analizar el tráfico de la aplicación
Podemos confirmar que la aplicación
NO utiliza HTTPS
Auditando aplicaciones iOS 23
Análisis Dinámico – Intercepción de tráfico (V)
• Analizar el tráfico de la aplicación en busca de
• Errores de autorización (file=3 -> file=4)
• Errores de autenticación (KO -> OK)
• SQLi
• XSS (¿se refleja en una web lo que se introduzca en la app? ¿WebView?)
• Transmisión de datos innecesarios o no validados (request: APP -> server)
• Transmisión de datos innecesarios o no validados (response: APP <- server)
Auditando aplicaciones iOS 24
06.2 INSTRUMENTACIÓN
DE CÓDIGO
Auditando aplicaciones iOS 25
Análisis Dinámico – Instrumentación de código (I)
• Para instrumentar el código de la aplicación utilizaremos FRIDA (https://www.frida.re )
• Modificar el comportamiento de los métodos que nos interesan.
• ¿Porqué nos puede interesar modificar los métodos de la aplicación?
• Evasión de controles
• Modificación de flujos de ejecución de la aplicación
• Cotillear resultados y parámetros de diferentes llamadas a una función (cifrado, construcción de
claves, etc…)
• Saber con qué atributo de accesibilidad se guarda en el keychain una contraseña
Auditando aplicaciones iOS 26
Análisis Dinámico – Instrumentación de código (II)
• Función: SendEmailViewController SendEmailWithCode
Auditando aplicaciones iOS 27
06.3 INFORMACIÓN GENERADA
Auditando aplicaciones iOS 28
Análisis Dinámico – Identificación del espacio de la aplicación
• Identificación de la carpeta de la aplicación
• /private/var/containers/Bundle/Application/
Vs.
• /private/var/mobile/Containers/Data/Application/ -->
• Búsqueda de la carpeta
Auditando aplicaciones iOS 29
Análisis Dinámico – Extracción de la carpeta de la aplicación
• Mediante scp
Auditando aplicaciones iOS 30
Análisis Dinámico – Análisis de la información generada
• Análisis de BBDD(ojo a las extensiones de los ficheros), archivos .plist, etc.
• Persistencia de información sensible
• Caches
Auditando aplicaciones iOS 31
06.3 DICCIONARIO DEL TECLADO
Auditando aplicaciones iOS 32
Análisis Dinámico – Localización y vaciado del diccionario del teclado
• Ruta en la que se almacena el diccionario del teclado:
• /private/var/mobile/Library/Keyboard/es_ES-dynamic-text.dat
• Restablecer valores de fábrica:
• Ajustes -> General -> Restablecer -> Restablecer diccionario del teclado
• ¿Porqué restaurar valores de fábrica?
• Para asegurar que la información ha sido almacenada por la aplicación que estamos
auditando.
Auditando aplicaciones iOS 33
Análisis Dinámico – Análisis del Diccionario del Teclado
• Ruta en la que se almacena el diccionario del teclado:
• /private/var/mobile/Library/Keyboard/es_ES-dynamic-text.dat
• Extracción del diccionario del teclado:
Auditando aplicaciones iOS 34
06.4 SNAPSHOTS DEL SISTEMA
Auditando aplicaciones iOS 35
Análisis Dinámico – Información en los Snapshots del sistema
• En la función de multitasking, el sistema crea capturas de pantalla
• Se almacenan en el espacio de la aplicación
• Remediación: sobreescribir la función “applicationDidEnterBackground” para
ocultar contenido sensible
• Carpeta donde se almacenan los Snapshots
Library/Caches/Snapshots/me.joanbiscarri.amigoinvisible
Auditando aplicaciones iOS 36
07 ELABORACIÓN DE
RESULTADOS
Auditando aplicaciones iOS 37
Elaboración de resultados
• ¿Es la parte más importante? Sí y no
• ¿Para quién/es es el entregable? Cliente
• ¿Cuál es el objetivo de la revisión? Mejorar
• ¿Quién se ha dado cuenta (diapositiva 11)?
Auditando aplicaciones iOS 38
08 ACTUALIDAD
Auditando aplicaciones iOS 39
Actualidad - Spectre & Meltdown
Meltdown:
• Afectación: total excepto Apple Watch
• Solucionado: iOS 11.2
Spectre:
• Afectación: total excepto Apple Watch
• Mitigado: iOS 11.2.2
Fuente https://support.apple.com/es-es/HT208394
Auditando aplicaciones iOS 40
GRACIAS (:
Canal de preguntas: @PreguntasFWR
mfernandez@wsg127.com
Telegram: @MarcFdez

Más contenido relacionado

PPTX
Oscar Juarez - Iniciación al análisis de malware [rooted2018]
PPTX
Guillermo Román - Análisis de capturas de tráfico de red [rooted2018]
PPTX
Marcos Fuentes - De cero a DFIR (Forense) [rooted2018]
PDF
Javier Rodríguez & David Sánchez - ¿Otra vez tú, Tovarich? [rooted2018]
PDF
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
PPTX
CPMX5 - Hacking like a boss por Roberto Salgado
PPTX
Jesús Alcalde & Daniel Gonzalez- - OSINT: La verdad está ahí fuera [rooted2018]
PDF
Pablo Gonzalez & Fran Ramirez - Hidden Networks: Controlas todas las redes de...
Oscar Juarez - Iniciación al análisis de malware [rooted2018]
Guillermo Román - Análisis de capturas de tráfico de red [rooted2018]
Marcos Fuentes - De cero a DFIR (Forense) [rooted2018]
Javier Rodríguez & David Sánchez - ¿Otra vez tú, Tovarich? [rooted2018]
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
CPMX5 - Hacking like a boss por Roberto Salgado
Jesús Alcalde & Daniel Gonzalez- - OSINT: La verdad está ahí fuera [rooted2018]
Pablo Gonzalez & Fran Ramirez - Hidden Networks: Controlas todas las redes de...

La actualidad más candente (20)

PPTX
Yago Jesus & David Reguera - Deteccion de intrusos en UNIX [rootedvlc2019]
PDF
Rooted2020 hunting malware-using_process_behavior-roberto_amado
PDF
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
PDF
Rafael Boix - Reventando IOT con ataques hardware por menos de 50 euros [root...
PPTX
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
PDF
Obtener contraseñas del directorio activo por hkm
PPTX
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
PPTX
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
PPTX
Rooted2020 virtual pwned-network_-_manel_molina
PDF
Android forensics
PPTX
Sergiu Mesesan & Gonzalo García - Black drone, white drone, grey times [roote...
PDF
Pentesting 101 por Paulino Calderon
PDF
Pablo González y Francisco Ramirez - Anatomy of a modern malware. How easy th...
PDF
Kali linux v2_re_y_des
PDF
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
PPTX
Old fox new tricks malicious macros are back
PDF
El control de la informacion
PPT
Taller cybersecurity 2016
PDF
Pentest - El Arte de la Guerra
PPT
Suites de auditorias informáticas
Yago Jesus & David Reguera - Deteccion de intrusos en UNIX [rootedvlc2019]
Rooted2020 hunting malware-using_process_behavior-roberto_amado
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
Rafael Boix - Reventando IOT con ataques hardware por menos de 50 euros [root...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
Obtener contraseñas del directorio activo por hkm
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Rooted2020 virtual pwned-network_-_manel_molina
Android forensics
Sergiu Mesesan & Gonzalo García - Black drone, white drone, grey times [roote...
Pentesting 101 por Paulino Calderon
Pablo González y Francisco Ramirez - Anatomy of a modern malware. How easy th...
Kali linux v2_re_y_des
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Old fox new tricks malicious macros are back
El control de la informacion
Taller cybersecurity 2016
Pentest - El Arte de la Guerra
Suites de auditorias informáticas
Publicidad

Similar a Marc Fernandez - Auditando aplicaciones iOS [rooted2018] (20)

PPTX
Como hacer un forense a un iphone sin iphone
PPTX
Análisis Forense de teléfonos iPhone/iPad
PDF
Forensic iOS
PDF
El modelo de seguridad de iOS
PDF
analisis forense en dispositivos ios - charla.pdf
PDF
Lo que las apps esconden
PDF
Charla desarrollo de aplicaciones en iOS para iPhone y iPad
PDF
Taller de iniciación a iOS
PDF
Taller de introducción a iOS development
PPTX
Csa Summit 2017 - Obteniendo información de tu organización a través de aplic...
PDF
Ios
PDF
I phone os. apple int.
PDF
Mobile apps security. Beyond XSS, CSRF and SQLi
PDF
Hacking iOS: iPhone & iPad (2º Edición) [Índice]
PPT
PPTX
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
PDF
Testing Android Security
PPTX
Exposición - IOS
PPTX
Sistema Operativo iOS
Como hacer un forense a un iphone sin iphone
Análisis Forense de teléfonos iPhone/iPad
Forensic iOS
El modelo de seguridad de iOS
analisis forense en dispositivos ios - charla.pdf
Lo que las apps esconden
Charla desarrollo de aplicaciones en iOS para iPhone y iPad
Taller de iniciación a iOS
Taller de introducción a iOS development
Csa Summit 2017 - Obteniendo información de tu organización a través de aplic...
Ios
I phone os. apple int.
Mobile apps security. Beyond XSS, CSRF and SQLi
Hacking iOS: iPhone & iPad (2º Edición) [Índice]
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
Testing Android Security
Exposición - IOS
Sistema Operativo iOS
Publicidad

Más de RootedCON (20)

PDF
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
PPSX
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
PDF
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
PPTX
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
PPTX
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
PDF
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
PPTX
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
PDF
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
PDF
Rooted2020 todo a-siem_-_marta_lopez
PPTX
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
PDF
Rooted2020 live coding--_jesus_jara
PDF
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
PDF
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
PDF
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
PDF
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
PPTX
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acin
PDF
Rooted2020 el camino-de_hacktiago_tras_los_pasos_de_14_increibles_cibersantua...
PDF
Rooted2020 dev secops-into_the_unknown_-_jesus_alcalde_-_daniel_gonzalez
PDF
Rooted2020 atacando la-debilidad_humana_-_ruth_sala_-_carmen_torrano
PDF
Rooted2020 a ver-como_nos_lo_montamos_a_vueltas_con_las_da_os_-_rootedpanel.
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 live coding--_jesus_jara
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acin
Rooted2020 el camino-de_hacktiago_tras_los_pasos_de_14_increibles_cibersantua...
Rooted2020 dev secops-into_the_unknown_-_jesus_alcalde_-_daniel_gonzalez
Rooted2020 atacando la-debilidad_humana_-_ruth_sala_-_carmen_torrano
Rooted2020 a ver-como_nos_lo_montamos_a_vueltas_con_las_da_os_-_rootedpanel.

Último (20)

PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
Presentación de Redes de Datos modelo osi
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PPTX
modulo seguimiento 1 para iniciantes del
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Sesion 1 de microsoft power point - Clase 1
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
MANUAL de recursos humanos para ODOO.pdf
Historia Inteligencia Artificial Ana Romero.pptx
informe_fichas1y2_corregido.docx (2) (1).pdf
introduccion a las_web en el 2025_mejoras.ppt
TRABAJO DE TECNOLOGIA.pdf...........................
Zarate Quispe Alex aldayir aplicaciones de internet .docx
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Propuesta BKP servidores con Acronis1.pptx
Presentación de Redes de Datos modelo osi
El-Gobierno-Electrónico-En-El-Estado-Bolivia
SAP Transportation Management para LSP, TM140 Col18
la-historia-de-la-medicina Edna Silva.pptx
modulo seguimiento 1 para iniciantes del
capacitación de aire acondicionado Bgh r 410
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...

Marc Fernandez - Auditando aplicaciones iOS [rooted2018]

  • 1. Auditando aplicaciones iOS Marc Fernández Wise Security Global Canal de preguntas: @PreguntasFWR
  • 2. Auditando aplicaciones iOS 2 Índice 1.- WHOAMI 2.- INTRODUCCIÓN A IOS 3.- ESTRUCTURA DE LA AUDITORÍA 4.- REVERSING 5.- ANÁISIS ESTÁTICO 6.- ANÁLISIS DINÁMICO 7.- ELABORACIÓN DE RESULTADOS 8.- ACTUALIDAD
  • 4. Auditando aplicaciones iOS 4 whoami • Marc Fernández Antolín • Trabajo en Wise Security • En los últimos años me he especializado en móviles (por fin Windows Phone ya no existe) • Ingeniero informático (UPC) • Master en Cybersecurity Management (UPC School) • Datos de contacto: • mfernandez@wsg127.com • Telegram: @MarcFdez
  • 5. Auditando aplicaciones iOS 5 02 INTRODUCCIÓN A iOS
  • 6. Auditando aplicaciones iOS 6 Introducción a iOS • Cifrado: Espacio de usuario cifrado • Atributos de accesibilidad del Keychain • kSecAttrAccessibleAlways: • kSecAttrAccessibleAfterFirstUnlock: • kSecAttrAccessibleWhenUnlocked: • kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly: https://www.apple.com/business/docs/iOS_Security_G uide.pdf
  • 7. Auditando aplicaciones iOS 7 Sandbox y Jailbreak • Sandbox • Las apps solamente pueden acceder a su propio espacio de aplicación • Jailbreak • Tipos • Unthethered – Full equip • Tethered – Necesitas contectarlo a un PC para poder usarlo • Semi-tethered – Necesitas tethered boot para tener jailbreak • Semi-untethered – Re-jailbreak (sin PC) al reiniciar; no se pierden datos • Versiones con Jailbreak: https://www.theiphonewiki.com/wiki/Jailbreak • Herramientas (algunas) • Baidu • Yalu • Pangu • Saïgon • Electra – para iOS 11, no instala cydia
  • 8. Auditando aplicaciones iOS 8 03 ESTRUCTURA DE LA AUDITORÍA
  • 9. Auditando aplicaciones iOS 9 Reversing • scp • r2 & IDA • unzip • r2 & IDA • Plutil • Certificado • Cydia • SSL Kill Switch • Burp Suite • frida • Documentación • Informe Análisis Estático Preparación entorno Análisis Dinámico Elaboración de resultados Estructura de la auditoría
  • 10. Auditando aplicaciones iOS 10 04 REVERSING
  • 11. Auditando aplicaciones iOS 11 Reversing – Obtención de los binarios • Obtención de binarios del dispositivo con Clutch (https://github.com/KJCracks/Clutch)
  • 12. Auditando aplicaciones iOS 12 Reversing- Escructura de un .ipa • .ipa es equivalente a .zip
  • 13. Auditando aplicaciones iOS 13 Reversing – Deficiencias en la protección del código • Reversing de binarios con IDA Pro o r2 (https://rada.re/)
  • 14. Auditando aplicaciones iOS 14 05 ANÁLISIS ESTÁTICO
  • 15. Auditando aplicaciones iOS 15 Análisis Estático – Conexiones / URLs en el código X HTTP!!! Validar en análisis dinámico
  • 16. Auditando aplicaciones iOS 16 Análisis Estático – Controles de jailbreak • Búsqueda de funciones tipo “isJailbroken” • Búsqueda de strings que representan indicadores de compromiso • Búsqueda de strings que representan indicadores de compromiso II
  • 17. Auditando aplicaciones iOS 17 06 ANÁLISIS DINÁMICO
  • 18. Auditando aplicaciones iOS 18 06.1 TRÁFICO
  • 19. Auditando aplicaciones iOS 19 Análisis Dinámico – Intercepción de tráfico (I) • Abrir el proxy y configurarlo para que escuche tráfico de otros dispositivos
  • 20. Auditando aplicaciones iOS 20 Análisis Dinámico – Intercepción de tráfico (II) • Saber que IP tiene nuestro proxy para: • Configurar el proxy HTTP en el dispositivo • Equipo: ifconfig • iPhone: Ajustes -> WiFi -> Red X -> PROXY HTTP -> Manual
  • 21. Auditando aplicaciones iOS 21 Análisis Dinámico – Intercepción de tráfico (III) • Instalar el certificado de Burp: http://burp:8080
  • 22. Auditando aplicaciones iOS 22 Análisis Dinámico – Intercepción de tráfico (IV) • Analizar el tráfico de la aplicación Podemos confirmar que la aplicación NO utiliza HTTPS
  • 23. Auditando aplicaciones iOS 23 Análisis Dinámico – Intercepción de tráfico (V) • Analizar el tráfico de la aplicación en busca de • Errores de autorización (file=3 -> file=4) • Errores de autenticación (KO -> OK) • SQLi • XSS (¿se refleja en una web lo que se introduzca en la app? ¿WebView?) • Transmisión de datos innecesarios o no validados (request: APP -> server) • Transmisión de datos innecesarios o no validados (response: APP <- server)
  • 24. Auditando aplicaciones iOS 24 06.2 INSTRUMENTACIÓN DE CÓDIGO
  • 25. Auditando aplicaciones iOS 25 Análisis Dinámico – Instrumentación de código (I) • Para instrumentar el código de la aplicación utilizaremos FRIDA (https://www.frida.re ) • Modificar el comportamiento de los métodos que nos interesan. • ¿Porqué nos puede interesar modificar los métodos de la aplicación? • Evasión de controles • Modificación de flujos de ejecución de la aplicación • Cotillear resultados y parámetros de diferentes llamadas a una función (cifrado, construcción de claves, etc…) • Saber con qué atributo de accesibilidad se guarda en el keychain una contraseña
  • 26. Auditando aplicaciones iOS 26 Análisis Dinámico – Instrumentación de código (II) • Función: SendEmailViewController SendEmailWithCode
  • 27. Auditando aplicaciones iOS 27 06.3 INFORMACIÓN GENERADA
  • 28. Auditando aplicaciones iOS 28 Análisis Dinámico – Identificación del espacio de la aplicación • Identificación de la carpeta de la aplicación • /private/var/containers/Bundle/Application/ Vs. • /private/var/mobile/Containers/Data/Application/ --> • Búsqueda de la carpeta
  • 29. Auditando aplicaciones iOS 29 Análisis Dinámico – Extracción de la carpeta de la aplicación • Mediante scp
  • 30. Auditando aplicaciones iOS 30 Análisis Dinámico – Análisis de la información generada • Análisis de BBDD(ojo a las extensiones de los ficheros), archivos .plist, etc. • Persistencia de información sensible • Caches
  • 31. Auditando aplicaciones iOS 31 06.3 DICCIONARIO DEL TECLADO
  • 32. Auditando aplicaciones iOS 32 Análisis Dinámico – Localización y vaciado del diccionario del teclado • Ruta en la que se almacena el diccionario del teclado: • /private/var/mobile/Library/Keyboard/es_ES-dynamic-text.dat • Restablecer valores de fábrica: • Ajustes -> General -> Restablecer -> Restablecer diccionario del teclado • ¿Porqué restaurar valores de fábrica? • Para asegurar que la información ha sido almacenada por la aplicación que estamos auditando.
  • 33. Auditando aplicaciones iOS 33 Análisis Dinámico – Análisis del Diccionario del Teclado • Ruta en la que se almacena el diccionario del teclado: • /private/var/mobile/Library/Keyboard/es_ES-dynamic-text.dat • Extracción del diccionario del teclado:
  • 34. Auditando aplicaciones iOS 34 06.4 SNAPSHOTS DEL SISTEMA
  • 35. Auditando aplicaciones iOS 35 Análisis Dinámico – Información en los Snapshots del sistema • En la función de multitasking, el sistema crea capturas de pantalla • Se almacenan en el espacio de la aplicación • Remediación: sobreescribir la función “applicationDidEnterBackground” para ocultar contenido sensible • Carpeta donde se almacenan los Snapshots Library/Caches/Snapshots/me.joanbiscarri.amigoinvisible
  • 36. Auditando aplicaciones iOS 36 07 ELABORACIÓN DE RESULTADOS
  • 37. Auditando aplicaciones iOS 37 Elaboración de resultados • ¿Es la parte más importante? Sí y no • ¿Para quién/es es el entregable? Cliente • ¿Cuál es el objetivo de la revisión? Mejorar • ¿Quién se ha dado cuenta (diapositiva 11)?
  • 38. Auditando aplicaciones iOS 38 08 ACTUALIDAD
  • 39. Auditando aplicaciones iOS 39 Actualidad - Spectre & Meltdown Meltdown: • Afectación: total excepto Apple Watch • Solucionado: iOS 11.2 Spectre: • Afectación: total excepto Apple Watch • Mitigado: iOS 11.2.2 Fuente https://support.apple.com/es-es/HT208394
  • 40. Auditando aplicaciones iOS 40 GRACIAS (: Canal de preguntas: @PreguntasFWR mfernandez@wsg127.com Telegram: @MarcFdez