Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]

255 views

Published on

Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]

  1. 1. Make Enviroment Android Tools#RootedCon #MEAT
  2. 2. 2 Puntos a seguir… Introducción o Introducción o Auditorias en dispositivos móviles • Como se realizan • Fases de una auditoria • Problemas que nos podemos encontrar • Optimización o Entornos de pruebas • Emuladores o dispositivos físicos • Hooking - Objection • Configuración de Seguridad en redes • Depuración activa • SSL Pinning • Proxy • Análisis Estático • Root Dispositivo o Conclusiones
  3. 3. 3 Introducción Y tu quien eres? – Consultor de Ciberseguridad en Innotec System Grupo Entelgy Ingeniero en Informática Master en Ciberseguridad Doctorando en Ingeniería Informática - Informática Industrial y Tecnología Electrónica Seguridad en Aplicaciones Móviles y Sistemas Inteligentes • 4 años de experiencia como Consultor de Seguridad / Pentester en importantes clientes – Auditorias Móviles y Web – Auditorias Internas – Ejercicios de Red Team – Hardware hacking – Análisis de dispositivos IoT (Bluetooth, Wifi, …) • Investigador y docente en la Universidad de Sevilla • Miembro organizador del capitulo de Owasp Sevilla • Certificaciones : CEH y …Paco Ramírez Twitter : @pacoraml Linkedin : Francisco José Ramírez
  4. 4. 4 En esta ponencia no se van a presentar vulnerabilidades ni se va a atacar a ningún sistema, todo esta realizado bajo un entorno controlado y las aplicaciones que se han utilizado, en algunos casos se tienen autorización explicita de los creadores para mostrar la información y en otras casos como aplicaciones publicas conocidas, la información revelada se puede encontrar en internet. Disclaimer IMPORTANTE
  5. 5. Auditorias en dispositivos móviles
  6. 6. 6 Auditorias OWASP • ¿Qué es OWASP?
  7. 7. 7 ¿Qué podemos ver en OWASP? TOP 10
  8. 8. 8 ¿Qué podemos ver en OWASP? OWASP Testing Guide 8
  9. 9. 9 ¿Qué podemos ver en OWASP? OWASP Mobile Security Project
  10. 10. 10 Para nuestro enfoque lo mas útil…. OWASP Mobile Top 10
  11. 11. 11 Para hacer una auditoria OWASP Mobile Testing Guide L1 - Todas las apps L2 - Sanitarias, Financieras (No pagos) L1 + R – Aplicaciones donde se quieren proteger las conexiones, Juegos L2 + R – Financieras, Todas las aplicaciones que trabajen sobre datos sensibles, Financieras (Pagos).
  12. 12. 12 Controles de una auditoria Estructura
  13. 13. 13 Controles a destacar Principales Control Descripción SSL Pinning Comprobación del certificado del servidor al establecer la comunicación. Root Detection Comprobación si el dispositivo es root Anti-Tampering Comprobación de la firma de la aplicación. Debug Mode Detection Comprobación si la aplicación esta corriendo en modo debug. Ofuscated Code Ofuscación de código.
  14. 14. 14 Controles a destacar Ofuscación de código
  15. 15. 15 Controles a destacar Root Detection Los posibles riesgos de tener el móvil con root es acceder información sensible guardada dentro de la sandbox de la aplicación. Para un pentester esta información puede contener claves o información para la auditoria.
  16. 16. 16 Controles a destacar Debug mode Si conseguimos depurar la aplicación se puede conseguir extraer del código información sensible como funciones de cifrados o claves. También nos puede servir para modificar funciones o procesos a nuestro gusto.
  17. 17. 17 Controles a destacar SSL Pinning Y si la aplicación comprueba el certificado que le llega?
  18. 18. 18 Controles a destacar SSL Pinning
  19. 19. 19 Controles a destacar Anti Tampering Este concepto es muy similar al aplicado en dispositivos de pagos como TPV o cajeros que si son manipulados borran su firmware. En este caso, se verifica con que certificado se ha firmado la aplicación y si este no coincide con el que la aplicación comprueba no se inicia la aplicación. Nota: Cualquiera de los controles visto van íntegramente relacionados para fortalecer su seguridad, ya que también podríamos acceder a su código y si no esta ofuscado podemos modificarlo.
  20. 20. 20 Fases de una auditoria Proceso completo (Simulado) • En toda auditoria podemos establecer los siguientes pasos (suponemos como media 1 semana de auditoria o 5 días hábiles) Preparación del entorno • Esto nos debería de llevar el 10% de la auditoria Pruebas o comprobación de los controles • Esto nos debería de llevar el 60% de la auditoria Informe • Esto nos debería de llevar el 30% de la auditoria ½ día 2 ½ - 3 días 1 ½ - 2 días
  21. 21. 21 Fases de una auditoria Proceso completo (Real) • En toda auditoria podemos establecer los siguientes pasos (suponemos como media 1 semana de auditoria o 5 días hábiles) Preparación del entorno • Esto realmente nos ha llevado el 30 % de la auditoria Pruebas o comprobación de los controles • Esto realmente nos lleva el 35% de la auditoria Informe • Esto realmente nos lleva el 30% de la auditoria 1 - 1 ½ días 1 ½ - 2 días 1 ½ - 2 días
  22. 22. 22 Optimización Calidad de las auditorias • También tenemos el dilema de la calidad de auditoria que queremos dar a nuestros clientes Calidad Tiempo
  23. 23. 23 Optimización Problemas • Bajo mi experiencia profesional, cuando tienes que realizar muchas auditorias encadenadas en algún momento tienes que optimizar tiempo – Problemas • Cada app es un mundo y en el primer entorno que has preparado a lo mejor no es valido para el 2º • Puede ser que la app no permita entornos emulados • Puede ser que la app tiene que estar en un entorno actualizado • No puede estar en un dispositivo con root • ….
  24. 24. 24 Fases de una auditoria Optimización • Tenemos claro que donde podemos realmente recortar tiempo es en el primer punto Preparación del entorno • Esto realmente nos ha llevado el 30 % de la auditoria Pruebas o comprobación de los controles • Esto realmente nos lleva el 35% de la auditoria Informe • Esto realmente nos lleva el 30% de la auditoria 1 - 1 ½ días 1 ½ - 2 días 1 ½ - 2 días
  25. 25. 25 Make Enviroment Android Tools M.E.A.T. • Hemos creado una herramienta para automatizar el proceso de preparación del entorno en sencillos pasos Solución para optimizar tiempo
  26. 26. Entornos de prueba
  27. 27. 27 Menu principal de MEAT Start audit • Hemos creado un menú sencillo donde simplemente tienes la opción directa de comenzar una auditoria o tener otras opciones para ayudar en la auditoria
  28. 28. 28 Dispositivo físico o entorno emulado Cual es mejor? Si decidimos comenzar una auditoria lo primero seria escoger un entorno para probar nuestra aplicación, en nuestro menú
  29. 29. 29 Dispositivo físico o entorno emulado Cual es mejor? Si decidimos comenzar una auditoria lo primero seria escoger un entorno para probar nuestra aplicación, en nuestro menú • Debemos tener en cuenta los siguientes puntos, para elegir el adecuado – Dispositivos emulados : Pueden ser mas cómodos para realizar la auditoria que un dispositivo físico, pero no tienen arquitectura ARM y es probable que nos falle alguna librería. Lo malo es también que algunos emuladores suelen fallar bastante… – Dispositivo físico: No es tan cómodo para hacer las pruebas, ya que lo tenemos que tener conectado a nuestro PC, pero son bastante mas fiable a la hora de hacer pruebas. No es posible hacer pruebas en diferentes versiones.
  30. 30. 30 Hooking Frida Gadget Una de las herramientas mas usadas por auditores de aplicaciones móviles es Frida y su framework vitaminado Objection
  31. 31. 31 ¿Qué es hooking? Explicación Hooking se llama al proceso de depurar una función dinámicamente para poder modificar su resultado, todo esto modificando sus registros en memoria y es todo dinámico.
  32. 32. 32 ¿Cómo podemos hacer hooking? Frida Hay herramientas que nos ayudan a modificar estos procesos en memoria y sacar otro resultado, la mas conocida y que vamos a usar en este taller es Frida.
  33. 33. 33 ¿Cómo podemos hacer hooking? Frida A continuación vamos a mostrar un video de como se puede hacer un bypass de una función de detección de root en un dispositivo Android para que veáis como funciona Frida.
  34. 34. 34 ¿Cómo podemos hacer hooking? Root Detection Bypass con Frida Para usar Frida le tenemos que pasar un fichero en JavaScript que tenga la siguiente estructura y decir que función queremos hacer hooking y cual queremos que sea su resultado.
  35. 35.  ¿Cómo podemos hacer hooking? Bypass SSL Pinning sin root 35
  36. 36. 36 Manera mas fácil de usar Frida Objection • La manera mas fácil de usar Frida es con el framework objection que nos ofrece un nuevo terminal donde podemos hacer hooking de funciones de una manera fácil, como por ejemplo evadir SSL Pinning.
  37. 37. 37 Manera mas fácil de usar Frida Objection • Pero antes debemos conocer varios opciones que nos permite objection y una de ella es parchear el fichero apk, para poder usar sin necesidad de tener root en el dispositivo móvil. • Opciones: – objection patchapk –s <apkfile> – N para añadir los ficheros de network security config (> Android 6.0) – d para activar la depuración en el apk
  38. 38. 38 Objection PatchApk Network Security Config En nuestra herramienta añadimos la opción por si quieres añadir la configuración del network security config 38 Objection PatchApk Network Security Config En nuestra herramienta añadimos la opción por si quieres añadir la configuración del network security config 38 Objection PatchApk Network Security Config En nuestra herramienta añadimos la opción por si quieres añadir la configuración del network security config
  39. 39. 39 Objection patchapk Network Security Config • La nueva versión de Android cambiaba su configuración de comunicaciones…
  40. 40. 40 Objection patchapk Network Security Config • La nueva versión de Android cambiaba su configuración de comunicaciones…
  41. 41. 41 Objection patchapk Network Security Config • En nuestro fichero de configuración de la aplicación o conocido como AndroidManifest.xml tenemos que añadir lo siguiente :
  42. 42. 42 Objection patchapk Network Security Config • La entrada anterior hace referencia a un fichero que debemos añadir en la siguiente ruta res/xml/network_security_config.xml y que tiene la siguiente estructura:
  43. 43. 43 Objection patchapk Network Security Config • Pero la manera anterior es mas complicada ya que necesita de mas pasos para llegar a lo mismo que si creamos esta estructura: Con esto decimos que use los certificados de confianza del sistema
  44. 44. 44 Objection apk Debug mode • Otra de las opciones que nos preguntaran en la herramienta es si queremos activar la depuración
  45. 45. 45 Objection apk Debug mode • Para activar la depuración es necesario modificar el fichero AndroidManifest en la aplicación
  46. 46. 46 Objection apk Debug mode • Después nos preguntara si queremos instalar el apk que hemos parcheado en el dispositivo y este se lanzara automáticamente • Tambien nos preguntara si queremos lanzar la terminal de objection 46 Objection apk Debug mode • Después nos preguntara si queremos instalar el apk que hemos parcheado en el dispositivo y este se lanzara automáticamente • Tambien nos preguntara si queremos lanzar la terminal de objection
  47. 47. 47 Objection terminal SSL Pinning • Desde el terminal de objection es posible desactivar el control del SSL Pinning
  48. 48. 48 Analizar comunicaciones Proxy • Por ultimo el menú te preguntara si quieres que levantes un proxy para poder ver las comunicaciones que pasan por el dispositivo
  49. 49. 49 Analizar Comunicaciones Proxy • Deberemos activar para escuchar en todos las interfaces de la maquina
  50. 50. 50 • Otras opciones Mas pruebas • Se ha incluido un análisis estático con la herramienta MARA Framework • Se puede rootear el dispositivo y abrir un terminal con acceso de root Además incluye algunos extras para las auditorias
  51. 51. DEMO TIME
  52. 52. Conclusiones
  53. 53. 53 Conclusiones Donde descargar • ESTA HERRAMIENTA ES PUBLICA Y SE PUEDE DESCARGAR EN: https://github.com/InnotecSystem/meat/
  54. 54. 54 Conclusiones MEAT v2.0 • Ya se esta trabajando en una nueva versión de la herramienta para incluir lo siguiente: – Drozer – MobSf – Modificación de algunos controles como Anti Tampering – … • También se esta trabajando en no crear una .ova que sabemos que para descargar suelen ser ficheros muy grande y pasar todo a un contenedor en Docker – Problemas: Existen ciertas configuraciones en interfaces graficas que tienes que hacer a mano pero …. • También a lo mejor se proporcionan guías de instalación de esta herramienta
  55. 55. 55 Conclusiones MEAT • Con una herramienta podemos conseguir ahorrar tiempo en partes que no son productivas como hemos visto anteriormente, después de muchas auditorias de móvil esto puede resultar bastante mas cómodo. • Esta herramienta es libre de uso, aunque si esta protegida con una licencia GNU, para evitar que caiga en fines comerciales por terceros • Esta herramienta ha sido creada para ayudar y sabemos que puede tener fallos por eso todo lo que reportéis será de agradecer y se intentara corregir lo antes posible – Las criticas constructivas nos ayudan a todos, podemos también aceptar propuestas de como mejorar
  56. 56. Entelgy C/ Orense, 70 28020 Madrid T. +34 914 251 111 Av. Llano Castellano, 43 28034 Madrid T. +34 917 281 504 Avda. Carrilet, 3 Edificio D 08902 Hospitalet de Llobregat Barcelona T. +34 936 245 273 Entelgy Ibai C/ Nervión, 3 48001 Bilbao T. +34 944 231 104 P. Empresarial Inbisa-Gamarra Av. Olmos, 1, Zona D-2, Of. 8 01013 Vitoria-Gasteiz T. +34 945 069 465 C/ Portuetxe, 53 20018 Donostia-San Sebastián T. +34 944 231 104 Entelgy Brasil Entelgy Chile Entelgy Colombia Entelgy México Entelgy Perú Avda. Angelica, 2261 Av. Andrés Bello 2777 – Of. 504 Cra 13 # 98 – 70 Of. 301 y 302 Av. Pº de la Reforma, 107-601 Avd. Ricardo Palma, 341 4ª andar, conjuntos 41 a 46a Las Condes - Santiago – CHILE Edificio Ochic - Barrio El Chico Col. Tabacalera Edif. Platino – Oficina 304 São Paulo/SP 01227-200 – BRASIL T. +562 480 28 00 Bogotá - COLOMBIA Delegación Cuauhtémoc Distrito Miraflores T. +55 11 4097-9200 +57 601 89 68 / + 57 601 78 33 06030 CDMX – MÉXICO Lima – PERÚ T. +52 1 (55) 1377 9130 T. +51 1 644 01 51 Avda Rodrigo Fernando Grillo, 207 Araraquara – São Paulo – BRASIL blog.entelgy.com @entelgy entelgy.com linkedin.com/company/entelgy Entelgy Innotec Security Av. Llano Castellano, 43 28034 Madrid T. +34 917 281 504 innotec.security @innotecsecurity linkedin.com/company/entelgy-innotec-security

×