Desmitificando las pruebas de penetración de aplicaciones móviles

El interés en las pruebas de penetración de aplicaciones móviles crece a medida que las organizaciones reconocen la importancia de mitigar los riesgos de seguridad y privacidad. Menos entendido y más misterioso para muchos, sin embargo, es cómo desarrollar las habilidades necesarias para realizar pruebas manuales de seguridad de aplicaciones móviles.

Para arrojar luz sobre el tema, NowSecure convocó un panel virtual de sus probadores de pluma móviles expertos en el Ahora Conexión segura 2022 Evento comunitario de AppSec y DevSecOps. El equipo de NowSecure Services lleva más de una docena de años realizando pruebas de penetración en más de 11 000 aplicaciones móviles según los estándares de la industria y cuenta con la colección más amplia de la industria de los evaluadores de penetración más capacitados. Además, los analistas de seguridad de NowSecure han ayudado a miles de organizaciones a establecer programas exitosos de pruebas de penetración de aplicaciones móviles.

Los panelistas incluyen:

  • Ben Corbitt, analista de seguridad de aplicaciones, NowSecure
  • David Mockler, analista sénior de seguridad de aplicaciones
  • Jeremy Murphy, analista sénior de seguridad de aplicaciones, NowSecure
  • Devin Price, analista principal de seguridad de aplicaciones, NowSecure
Desmitificando las pruebas de penetracion de aplicaciones moviles

La discusión grupal destaca cómo los pentesters de aplicaciones móviles comenzaron y perfeccionaron su oficio, sus herramientas favoritas para Android e iOS y las mejores prácticas para las pruebas de penetración de aplicaciones móviles. Su conversación original ha sido editada por su extensión y claridad.

[Mockler] ¿Necesita certificación o educación formal para convertirse en un probador de penetración móvil o incursionar en la ciberseguridad?

[Murphy] «No. Existen muchos recursos gratuitos y económicos que pueden enseñarle todo lo que necesita para convertirse en un probador de penetración. Sin embargo, para ser contratado, las certificaciones brindan a los empleadores potenciales una forma de validar su conjunto de habilidades”.

[Corbitt] “No son necesariamente obligatorios, pero son excelentes para crear su currículum y poner el pie en la puerta. Certificaciones que incluyen una clase de capacitación como un campo de entrenamiento de una semana o requisitos de laboratorio pueden ser realmente útiles para obligarte a aprender mucho en un corto período de tiempo”.

[Price] «Yo diría que no. He visto a personas unirse a recompensas por errores o hacer informes técnicos para demostrar a los empleadores que saben cómo encontrar vulnerabilidades de seguridad en las aplicaciones móviles”.

[Murphy] «Tenga un GitHub de parte de su trabajo, un blog o una clasificación en HackTheBox para demostrar que tiene las habilidades».

[Mockler] ¿Cómo adquirieron cada uno de ustedes habilidades de prueba de penetración para llegar a donde están hoy?

[Price] “El mejor recurso que utilicé primero fueron los evaluadores de penetración más experimentados que ya estaban en mi equipo cuando me uní a NowSecure. Al principio, revisé informes más antiguos de lo que habían hecho mis compañeros de equipo para tener la mentalidad de cómo escribir un informe de evaluación detallado. En mi tiempo libre, completé cursos de capacitación sobre pruebas de penetración en TryHackMe y encontré algunos podcasts de seguridad que me ayudaron a comprender las vulnerabilidades que están haciendo los evaluadores de penetración y comprender la lengua vernácula”.

[Corbitt] “Empecé como pen tester para aplicaciones web. La empresa también tenía una aplicación móvil y nadie en ese momento sabía cómo probarla. Me dijeron voluntariamente que obtuviera una certificación de seguridad móvil y probara la aplicación”.

[Murphy] “Empecé en la mesa de ayuda. Uno de mis compañeros de trabajo me dijo: ‘Oye amigo, deberías estudiar para obtener la certificación de Hacker Ético Certificado (CEH). Me dijo lo que era y pensé que era genial. Luego encontré un podcast que encendió un fuego debajo de mí: saludo a Jack Rhysider en Diarios de la red oscura. Realmente construyó mi pasión por este campo. Empecé con Hack The Box y construí una red de pentesters. Empecé en las trincheras y fui subiendo”.

[Mockler] “Todos llegan allí a su manera, pero todos ustedes tomaron la iniciativa de salir y aprender algo nuevo sin que nadie realmente les dijera que lo hicieran. La curiosidad es clave para ser un pen tester. Si no tienes curiosidad, va a ser difícil”.

[Mockler] Pasando a nuestra siguiente pregunta, ¿qué tipo de herramientas de prueba de penetración de aplicaciones móviles utiliza?

[Price] “Para Android, mi herramienta preferida para cualquier tipo de análisis estático o ingeniería inversa es JADX, un descompilador simple de Dex a Java. Y para la contraparte de iOS, uso Hopper, que es un gran desensamblador que te permite descompilar y depurar aplicaciones de iOS”.

[Corbitt] “Me gusta mucho Drozer, una herramienta para aplicaciones de Android. Está muy desactualizado y es difícil hacer que funcione a veces. Realmente desearía que hubiera una herramienta compatible más moderna que hiciera lo mismo. Pero es una gran herramienta para interactuar rápida y fácilmente con las partes internas de una aplicación”.

[Murphy] “La respuesta correcta es NowSecure Workstation. Algunas de las más importantes son Hopper, Ghidra, Burp Suite, Postman, JADX… reFlutter en GitHub es otra buena opción para explorar esas nuevas aplicaciones de Flutter. Obviamente, R2Frida es otra buena que usamos mucho para la ingeniería inversa”.

[Mockler] “Nos preguntan bastante cuáles son las mejores herramientas de prueba de penetración de aplicaciones móviles que existen. No es necesariamente cuáles son las mejores herramientas, es ‘¿qué estás tratando de hacer?’ Dependiendo del tipo de exploit que vayas a probar, vas a usar una herramienta diferente y hay un repositorio de GitHub para todo”.

[Mockler] Hemos discutido qué herramientas usamos. Repasemos lo que buscamos con ellos.

[Price] “Una de las primeras cosas que examino es el archivo de manifiesto de Android, porque eso me dirá mucho sobre la aplicación. Por ejemplo, ¿la aplicación se ha firmado correctamente con la longitud de clave correcta? También buscaré algunos de los proveedores de contenido de la aplicación y miraré los receptores de transmisión para asegurarme de que se hayan exportado correctamente. ¿Ha habilitado la aplicación una copia de seguridad de los datos del usuario? ¿Cómo es la configuración de seguridad de la red de la aplicación? ¿Cuáles son algunos de los fallos que se han establecido para eso? Piense en el archivo de manifiesto como la puerta de entrada para la realización de pruebas cuando se trata de análisis estático para una aplicación de Android”.

[Corbitt] “Drozer analiza el interior de una aplicación de Android: las actividades y los receptores de transmisión y similares. Hablemos de actividades. Si no sabe qué es una actividad, piense en ella como una pantalla. Si abre una aplicación de Android y aparece una pantalla de inicio de sesión, eso es una actividad. Y cuando inicia sesión y aparece su menú principal, esa es otra actividad. Si esas actividades no están configuradas correctamente con los permisos adecuados, puede llamar directamente a algunas actividades que no debería ver sin iniciar sesión primero. Hace unos años, había una aplicación relacionada con la NFL en la que podías suscribirte para ver partidos de la NFL en tu teléfono. Hubo un error en la aplicación en el que al usar Drozer, podía cancelar una actividad para llegar a la sección de la aplicación donde podía ver juegos de la NFL sin tener que iniciar sesión en una cuenta o pagar. Podría ejecutar esa actividad que no estaba configurada correctamente y ver juegos de la NFL gratis. Encuentro eso realmente interesante, poder llamar a partes de la aplicación fuera de servicio y omitir cosas que se supone que no debes poder omitir”.

[Murphy] “Usando Burp Suite para el lado de la red, me gusta ver qué tipo de tokens pueden estar usando y, si hay alguna reutilización, asegurarme de que sea correctamente válido. Me gusta ver si la aplicación tiene una desinfección adecuada. Hemos encontrado muchas aplicaciones móviles que no están protegidas contra la manipulación. Somos capaces de movernos lateralmente a lugares en los que se supone que no debemos hacerlo. Eso le sucede a mi parte favorita de las pruebas de lápiz móvil; definitivamente es el más divertido”.

[Mockler] “ El backend de la API es una parte muy importante del ciclo de vida de las pruebas de penetración móvil. No es 100% únicamente móvil. La mayoría de las veces, las aplicaciones móviles y las aplicaciones web usan el mismo backend. Personalmente, me encanta usar Burp Suite y manipular cualquier cosa que pueda parecer secuencias de comandos entre sitios, inyección de SQL. Si hay una entrada, una barra de búsqueda o algo ahí, lo atacaré… Si tocas algo el tiempo suficiente, definitivamente lo romperás”.

[Mockler] Hablemos de metodología. Digamos que te doy un APK completamente nuevo: ¿cuál es el punto de partida, dónde terminas y qué hay en el medio?

[Murphy] “Para poder evaluar adecuadamente una aplicación, debe comprender cuál es su objetivo, cuál es su público objetivo y para qué se supone que debe usarse. Investigue la aplicación, utilícela un poco e intente obtener una comprensión completa de su propósito. Eso me lleva a un lugar donde puedo comenzar a pensar en diferentes vectores de ataque y formas de abusar de la aplicación. Me gusta entrar en el análisis estático desde el principio, abrir el binario y hurgar para ver si puedo encontrar cadenas codificadas que no deberían estar allí».

[Corbitt] “Estoy de acuerdo, me gusta comenzar con el análisis estático. Si me dan un APK, iniciar sesión en la aplicación y ver qué está pasando es un buen primer paso. Luego, descompile el APK con la herramienta APK o JADX. Encontré varias claves API codificadas que me dieron acceso a cuentas de Amazon. Voy a la red y la API después de eso usando un proxy con Burp Suite y observo el tráfico de la red”.

[Price] “Mi enfoque es primero el código estático y luego el análisis dinámico. Jeremy mencionó un gran punto. Si se trata de una aplicación nueva que nunca he usado antes, intentaré descubrir cómo funciona primero y luego ejecutaré un análisis estático general para tener una idea. de qué tipos de vulnerabilidades puede ser susceptible la aplicación. Luego lo seguiré con el análisis de datos en reposo, donde trato de buscar datos confidenciales en el dispositivo o en el almacenamiento privado de la aplicación que no está protegido, pero debería estarlo. Luego intentaré hacer ingeniería inversa para ver si puedo eludir algún control o descubrir datos confidenciales a través de ese método. Después de eso, terminaré con un análisis dinámico de la aplicación”.

[Mockler] “La forma en que se supone que debe ser una prueba de penetración de una aplicación móvil, tiene esa etapa de investigación y recopilación de información. Luego, análisis estático y análisis dinámico antes de escribir el informe. Intercambio estático y dinámico y me gusta hacer dinámico primero para ver si puedo encontrar alguna clave API o ID de cliente, luego vuelvo al análisis estático… No importa por dónde empiece, siempre tiene que volver a la enumeración o recopilación de información».

[Mockler] ¿Cuál es tu vulnerabilidad favorita?

[Murphy] “Me gusta la idea de cómo [SQL injection] funciona y las cosas que puede hacer”.

[Corbitt] “Encontré algo muy interesante una vez usando Burp. Resultó que estaba usando un XOR donde estaban implementando su propio cifrado. Debido a cómo funciona xor, básicamente era la clave maestra y podía descifrar cada contraseña a partir de ahí cuando la encontraba”.

[Price] “Para mí, cada vez que hay credenciales confidenciales dentro del almacenamiento privado de una aplicación móvil que no están encriptadas. Me gustan las vulnerabilidades simples que serán muy fáciles de explotar para un atacante si no se resuelven”.

[Mockler] “Se nos acabó el tiempo aquí, pero quiero agradecer a todos en el panel por hablar sobre las metodologías de pruebas de penetración de aplicaciones móviles”.

Para aquellos que buscan adquirir o mejorar sus habilidades de prueba de penetración móvil, NowSecure Academy ofrece capacitación en línea gratuita y certificaciones pagas. Verificar ‘Curso acelerado para comenzar con las pruebas de penetración de aplicaciones móviles‘ y el Certificado de fundamentos de seguridad de aplicaciones móviles plan de estudios.

Para abordar los desafíos de costo, frecuencia y cobertura de las pruebas de penetración, estamos viendo una tendencia creciente hacia las pruebas de penetración como servicio.
– Michelle Abraham, directora de investigación de seguridad y confianza de IDC

Pruebas de penetración de aplicaciones móviles como servicio (PTaaS)

Debido a que las organizaciones enfrentan dificultades para contratar evaluadores de penetración móviles experimentados y ensamblar las herramientas de prueba de penetración requeridas, a menudo recurren a servicios expertos de prueba de penetración móvil como el equipo de NowSecure Services para obtener un gran banco de talentos que incluye a los profesionales de seguridad mencionados anteriormente. La necesidad de una solución de prueba de AppSec móvil rápida y frecuente impulsa la demanda de Mobile Pen Testing as a Service (PTaaS).

“Los equipos de seguridad y desarrollo de aplicaciones se esfuerzan por ofrecer software seguro rápidamente al mercado, equilibrar la velocidad y gestionar el riesgo”, dijo Michelle Abraham, Directora de Investigación, Seguridad y Confianza en IDC. “Para abordar los desafíos de las pruebas de penetración de costo, frecuencia y cobertura, estamos viendo una tendencia creciente hacia las pruebas de penetración como servicio. Las soluciones de PTaaS ofrecen una combinación de pruebas de seguridad automatizadas continuas y pruebas de penetración manuales más profundas para reunir lo mejor de ambos mundos”.

NowSecure lanzó NowSecure Mobile Pen Testing as a Service para cerrar la brecha entre las evaluaciones de seguridad móviles automatizadas y manuales para una seguridad continua. Diseñado para proporcionar a los desarrolladores de aplicaciones móviles y equipos de seguridad una solución de prueba de penetración más rentable y eficiente, NowSecure PTaaS combina evaluaciones manuales periódicas de expertos con el poder de las pruebas continuas automatizadas para brindar una cobertura completa de aplicaciones móviles con una frecuencia más alta, todo por menos del costo de una sola prueba de penetración subcontratada.

Los clientes pueden disfrutar del máximo valor al elegir entre pruebas de penetración programadas y bajo demanda complementadas con pruebas continuas automatizadas para canalizaciones de DevSecOps, todas accesibles desde un único portal. NowSecure ofrece una combinación flexible de opciones de pruebas de penetración basadas en estándares que incluyen recursos integrados de remediación para desarrolladores, consultas y nuevas pruebas para confirmar la mitigación. Dic Obtenga más información sobre NowSecure mobile pen testing y la oferta de NowSecure PTaaS: regístrese para una consulta personal de pen testing móvil para discutir sus necesidades hoy.



Fuente del artículo

Deja un comentario