Estudiamos MITRE ATT & CK. Matrices móviles: acceso a dispositivos. Parte 3

Recuperación de credenciales (acceso de credenciales)


Enlaces a todas las partes:
Parte 1. Acceso inicial a un dispositivo móvil (acceso inicial)
Parte 2. Persistencia y escalada
Parte 3. Obtención de acceso de credenciales (acceso de credenciales)
Parte 4. Evasión de defensa
Parte 5. Descubrimiento y movimiento lateral

Los opositores utilizan varios métodos para capturar contraseñas, tokens, claves criptográficas y otras credenciales para implementar el acceso no autorizado a los recursos de un dispositivo móvil. La obtención de credenciales legítimas por parte de un adversario le permite identificar y obtener todos los permisos de una cuenta comprometida en un sistema o red, lo que dificulta la detección de actividades maliciosas. Dado el acceso apropiado, un adversario también puede crear cuentas legítimas para su uso en un entorno atacado.

El autor no es responsable de las posibles consecuencias de aplicar la información establecida en el artículo, y también se disculpa por posibles imprecisiones hechas en algunas formulaciones y términos. La información publicada es un recuento gratuito de los contenidos de ATT @ CK Mobile Matrices: Device Access .

Abuso de las características de accesibilidad


Plataforma: Android
Descripción: Características de accesibilidad de Android es un juego de herramientas para personas con discapacidades. Una aplicación maliciosa puede usar las funciones de accesibilidad de Android para obtener datos confidenciales o realizar acciones maliciosas. El hecho es que las API que proporcionan servicios de accesibilidad le permiten acceder al contenido de las interfaces con las que interactúa el usuario (por ejemplo, leer o crear un correo electrónico, editar un documento, etc.). Esta funcionalidad proporciona la capacidad de las personas con discapacidad para trabajar con aplicaciones móviles públicas. Dicha funcionalidad del sistema operativo también atrae a los autores de malware, sin embargo, para activar las características de accesibilidad de Android, el usuario debe realizar una serie de manipulaciones inusuales con una advertencia de seguridad al final.

Recomendaciones de protección: la versión del sistema operativo Android 7.0 y superior incluye protección adicional contra esta técnica. Antes de permitir que la aplicación se instale en un entorno corporativo, se recomienda que verifique si hay posibles abusos de las funciones de accesibilidad o que implemente el Servicio de reputación de aplicaciones móviles para identificar aplicaciones maliciosas conocidas.

Acceda a datos confidenciales en registros de dispositivos


Plataforma: Android
Descripción: en Android anterior a la versión 4.1, un atacante podía usar una aplicación maliciosa que tenía el permiso READ_LOGS para obtener claves privadas, contraseñas y otras credenciales y datos confidenciales almacenados en el registro del sistema del dispositivo. En Android 4.1 y versiones posteriores, un atacante solo puede acceder al registro después de escalar con éxito los privilegios en el sistema operativo.

Recomendaciones de protección: si es un desarrollador de aplicaciones móviles, no debe escribir datos confidenciales en el registro del sistema de aplicaciones de producción.
A partir de Android 4.1, las aplicaciones no pueden acceder al registro del sistema (a excepción de las entradas agregadas por la propia aplicación). Con acceso físico al dispositivo, el registro del sistema se puede obtener a través de USB utilizando la utilidad Android Debug Bridge (adb) .

Acceda a información confidencial o credenciales en archivos


Plataforma: Android, iOS
Descripción: Un atacante puede intentar leer archivos que contengan credenciales o confidenciales (claves privadas, contraseñas, tokens de acceso). Este método requiere privilegios elevados en el sistema operativo o la presencia de una aplicación de destino en el sistema que almacena datos de forma insegura (con derechos de acceso inseguros o en un lugar inseguro, por ejemplo, en un directorio de almacenamiento externo).

Recomendaciones de protección: asegúrese de que las aplicaciones que utilice no almacenen datos confidenciales con derechos inseguros o en un lugar inseguro. Android e iOS brindan la capacidad de almacenar credenciales en hardware en un lugar aislado donde no se verán comprometidas incluso si los privilegios aumentan con éxito. Android 7 proporciona permisos de archivo predeterminados más altos en el directorio interno de la aplicación, lo que reduce la posibilidad de usar derechos inseguros.

Objetivo de captura de intenciones (secuestro de intenciones de Android)


Plataforma: Android
Descripción: Android Intent o Intent es un objeto de mensajería entre procesos con el que una aplicación puede solicitar una acción de un componente de otra aplicación. Una aplicación maliciosa puede registrarse para recibir intentos de otras aplicaciones y luego recibir valores confidenciales, como los códigos de autorización del protocolo OAuth.

Recomendaciones de protección: el proceso de verificación de aplicaciones para detectar posibles debilidades debe incluir la identificación del uso inseguro de los intentos. Los desarrolladores de aplicaciones móviles deben usar métodos para garantizar que las intenciones se envíen solo al destino apropiado (por ejemplo, usar intenciones explícitas, verificar permisos, verificar el certificado de la aplicación de destino o usar enlaces de aplicación (una función por la cual un usuario es redirigido a un enlace a la aplicación de destino sin pasar por el cuadro de diálogo de selección de la aplicación) ), agregado en Android 6.0. Para las aplicaciones móviles que usan OAuth, se recomienda seguir las mejores prácticas .

Capturar datos del portapapeles


Plataforma: Android, iOS
Descripción: las aplicaciones malintencionadas pueden intentar capturar datos confidenciales almacenados en el portapapeles del dispositivo, por ejemplo, contraseñas copiadas / pegadas desde la aplicación Administrador de contraseñas.

Recomendaciones de protección: en un entorno corporativo, se recomienda implementar procesos para verificar las aplicaciones en busca de vulnerabilidades y acciones no deseadas, políticas de restricción de instalación de aplicaciones y políticas de Traiga su propio dispositivo (BYOD) que imponen restricciones solo en la parte del dispositivo controlada por la empresa. Los sistemas EMM / MDM u otras soluciones de seguridad de dispositivos móviles pueden detectar la presencia de aplicaciones no deseadas o maliciosas en dispositivos corporativos.

Captura mensajes SMS


Plataforma: Android, iOS
Descripción: una aplicación malintencionada puede recopilar datos confidenciales enviados en mensajes SMS, incluidos los datos de autenticación. Los mensajes SMS a menudo se usan para transmitir códigos de autenticación de múltiples factores.

La aplicación de Android debe solicitar y recibir permiso para recibir mensajes SMS durante la instalación o ejecución. Alternativamente, una aplicación maliciosa puede intentar elevar los privilegios para eludir esta protección. Las aplicaciones de iOS no pueden acceder a los mensajes SMS durante el funcionamiento normal, por lo que el enemigo primero deberá realizar un ataque contra la escalada de privilegios.

Recomendaciones de protección: en un entorno corporativo, se recomienda que las aplicaciones se escaneen previamente para obtener el permiso RECEIVE_SMS. Si se detecta este permiso, la aplicación requiere un análisis detallado.

Exploit Vulnerabilidad de TEE Exploit


Plataforma: Android
Descripción: las aplicaciones maliciosas u otros vectores de ataque se pueden utilizar para explotar vulnerabilidades en el código ejecutado en un Entorno de ejecución de confianza (TEE). El adversario puede obtener los privilegios que tiene TEE, incluida la capacidad de acceder a claves criptográficas u otros datos confidenciales. Para atacar a TEE, un adversario puede necesitar primero privilegios de sistema operativo elevados. De lo contrario, los privilegios de TEE se pueden utilizar para aprovechar las vulnerabilidades del sistema operativo.

Recomendaciones de protección: compruebe la aplicación en busca de vulnerabilidades conocidas. Actualizaciones de seguridad. Usando las últimas versiones del sistema operativo.

Aplicación de teclado malicioso de terceros


Plataforma: Android, iOS
Descripción: una aplicación maliciosa puede registrarse como el teclado del dispositivo e interceptar las teclas mientras el usuario ingresa datos confidenciales, como nombre de usuario y contraseña.

Recomendaciones de protección: las aplicaciones rara vez se registran como teclados, por lo que las aplicaciones que hacen esto deben analizarse cuidadosamente durante la verificación preliminar. Tanto iOS como Android requieren el permiso explícito del usuario para usar teclados de software de terceros. Se aconseja a los usuarios que tengan mucho cuidado antes de otorgar dicho permiso (cuando se solicite).

Red de captura de tráfico o redirección


Plataforma: Android, iOS
Descripción: Un atacante puede capturar el tráfico entrante y saliente o redirigir el tráfico de red para pasar a través de una puerta de enlace controlada por el enemigo para obtener credenciales y otros datos confidenciales.

Una aplicación maliciosa puede registrarse como cliente VPN en Android o iOS para obtener acceso a los paquetes de red. Sin embargo, en ambas plataformas, el usuario debe dar su consentimiento para que la aplicación realice las funciones de un cliente VPN, y en iOS, la aplicación requiere un permiso especial de Apple.

Alternativamente, una aplicación maliciosa puede intentar elevar los privilegios para obtener acceso al tráfico de red. Un adversario puede redirigir el tráfico de red a una puerta de enlace controlada por él al establecer una conexión VPN o cambiar la configuración del proxy en el dispositivo atacado. Un ejemplo es la capacidad de redirigir el tráfico de red mediante la instalación de un perfil de configuración de iOS malicioso ( enlace a la fuente ).

Consejos de seguridad: revise cuidadosamente la aplicación que solicita acceso VPN antes de permitir que se use. El cifrado de tráfico no siempre es efectivo porque Un adversario puede interceptar el tráfico antes de que se encripte. Tanto iOS como Android visualizan el establecimiento de una conexión VPN en la barra de estado superior del dispositivo.

Secuestro de esquema de URL


Plataforma: iOS
Descripción: los esquemas de URL (como los llama Apple) son manejadores de URL que pueden ser invocados por el navegador Safari o utilizados por una aplicación para invocar otra aplicación. Por ejemplo, el esquema tel: se puede usar para iniciar la aplicación Teléfono y marcar un número específico colocando el código HTML correspondiente en la página de inicio:

<iframe src="tel:"></iframe> 

Esquema de Skype: iniciar una llamada de Skype ":

 <iframe src="skype:user?call"></iframe> 

iOS permite que aplicaciones de diferentes desarrolladores compartan los mismos esquemas de URL. Una aplicación maliciosa puede registrarse maliciosamente utilizando el esquema de URL de otra aplicación, lo que le permitirá interceptar una llamada a una aplicación legítima y usar la interfaz de phishing para obtener credenciales de usuario o códigos de autorización OAuth.

Recomendaciones de protección: durante el análisis de la seguridad de la aplicación, verifique la presencia de esquemas de URL potencialmente peligrosos. Dar preferencia a los programas que utilizan enlaces universales como alternativa a los esquemas de URL (este es un enlace que el usuario redirige a una aplicación instalada específica).

Spoofing de interfaz de usuario


Plataforma: Android, iOS
Descripción: la suplantación de identidad se utiliza para engañar al usuario para que proporcione información confidencial, incluidas credenciales, datos bancarios o datos personales.

Sustitución de la interfaz de usuario de aplicaciones legítimas o funciones del dispositivo

Tanto en Android como en iOS, un adversario puede hacerse pasar por la interfaz de usuario de una aplicación o función de dispositivo legítima, forzando al usuario a ingresar información confidencial. El tamaño de visualización limitado de los dispositivos móviles (en comparación con una PC) puede hacer que sea menos posible proporcionar al usuario información contextual (por ejemplo, mostrar la dirección completa del sitio web) que podría alertar al usuario sobre el peligro. Un atacante también puede usar esta técnica sin estar presente en un dispositivo móvil, por ejemplo, a través de una página web falsa.

Sustitución de una solicitud legítima

Una aplicación maliciosa puede repetir por completo la aplicación de destino: use el mismo nombre, ícono e instálela en el dispositivo a través de una tienda de aplicaciones autorizada o se entregue de otras maneras ( consulte las técnicas de entrega de aplicaciones ) y luego solicite al usuario que ingrese información confidencial.

Abuso de las capacidades del sistema operativo para interferir con una aplicación legítima

En versiones anteriores de Android, una aplicación maliciosa puede usar funciones normales del sistema operativo para interferir con una aplicación en ejecución. Estamos hablando del método obsoleto ActivityManager.getRunnigTasks (disponible en Android antes de la versión 5.1.1), que le permite obtener una lista de procesos del sistema operativo y definir una aplicación en primer plano, por ejemplo, para lanzar una interfaz dual falsa.

Recomendaciones de protección: en un entorno corporativo, se recomienda realizar verificaciones de aplicaciones para detectar vulnerabilidades y acciones no deseadas (maliciosas o que violen la confidencialidad), implementar políticas de restricción de aplicaciones o políticas de Traer su propio dispositivo (BYOD) (traer su propio dispositivo) que imponen restricciones solo a la parte controlada por la empresa del dispositivo. La capacitación, los entrenamientos y las guías de usuario ayudarán a admitir una determinada configuración de dispositivos corporativos y, a veces, incluso evitarán acciones de riesgo específicas del usuario.

Los sistemas EMM / MDM u otras soluciones para proteger dispositivos móviles pueden detectar automáticamente aplicaciones no deseadas o maliciosas en dispositivos corporativos. Los desarrolladores de software generalmente tienen la capacidad de escanear tiendas de aplicaciones en busca de aplicaciones no autorizadas que se enviaron utilizando su ID de desarrollador.

Se recomienda usar solo las últimas versiones de los sistemas operativos móviles, que, por regla general, contienen no solo parches, sino que también tienen una arquitectura de seguridad mejorada que proporciona resistencia a vulnerabilidades no detectadas anteriormente.

Source: https://habr.com/ru/post/454878/


All Articles