Una vulnerabilidad en Galaxy Store permite a los atacantes realizar la ejecución de malware remotamente en el teléfonos de Samsung sin interacción del usuario

Una vulnerabilidad en Galaxy Store permite a los atacantes a través de un XSS hacer que la tienda instale y/o inicie una aplicación, lo que permite a los atacantes remotos activar la ejecución de un comando remoto en el teléfono.

Resumen de vulnerabilidad

En la aplicación Galaxy Store, se manejan algunos enlaces profundos. Se puede llamar a Deeplink desde otra aplicación o desde un navegador. Al recibir enlaces profundos adecuados, Galaxy Store los procesará y los mostrará a través de la vista web.

Aquí, al no verificar el enlace profundo de forma segura, cuando un usuario accede a un enlace desde un sitio web que contiene el enlace profundo, el atacante puede ejecutar el código JS en el contexto de vista web de la aplicación Galaxy Store en teléfonos de Samsung.

Versiones afectadas

Tienda Galaxy versión 4.5.32.4

Análisis técnico

Primero prestaremos atención a un sitio web SamSung MCS Direct Page:https://us.mcsvc.samsung.com/mcp25/devops/redirect.html

Cuando accedamos a la web, se verá así:

Sin embargo, si invierte la aplicación Galaxy Store, puede descubrir que necesitan los siguientes parámetros: mcs_rutestMode. Aquí está el resultado del sitio MCS con parámetros:

Podemos ver que contiene el contenido de intents que no han sido deeplinked para ser enviados a las aplicaciones de Samsung para su procesamiento como Samsung PayBixbySamsungappGamelauncher,…

Preste atención aquí a los enlaces profundos enviados a Samsungapp. Veamos un ejemplo de la siguiente manera:
samsungapps://MCSLaunch?action=each_event&url={{url}}cuando se envía este enlace profundo, Galaxy Store lo manejará de la siguiente manera:

  1. La aplicación verificará el enlace profundo a través de la cadenasamsungapps
  2. Luego, si hay una cadena MCSLaunch, la aplicación continuará con el proceso MCS Webview
  3. Finalmente tome el urlparámetro y cárguelo con elWebview.loadurl

Hay algo interesante aquí, volvemos al sitio web de SamSung MCS Direct Page. Este sitio web analizará el parámetro de la URL y luego lo mostrará en el sitio web, pero no se codificó, lo que genera una vulnerabilidad XSS de la siguiente manera:

Podemos ver que el sitio web está procesando los parámetros y abcse defmuestra como arriba sin codificar, la URL se pasa directamente a hrefesto, es muy peligroso y causará XSS.

Una prueba de concepto sería tan simple como:
https://us.mcsvc.samsung.com/mcp25/devops/redirect.html?mcs_ru=a&testMode=1&%22id=%22%3Ca%20id%3d%22%3E%3Csvg/onload%3dalert(1)%3E%22%3E

Bueno, es una vulnerabilidad básica, explotar es simple.

Ahora procederemos a combinarlo con Galaxy Store. Observamos el código del proceso de enlace profundo y lo mostramos en la vista web.

Observamos la Clase EditorialScriptInterface:

Notamos las dos funciones downloadAppopenAppaquí estas dos funciones obtendrán la identificación de la aplicación y las descargarán de la tienda o las abrirán. Por lo tanto, podemos usar el código JS para llamar a estas dos funciones. El POC es tan simple como esto:

Prueba de concepto

Diseñaremos un sitio web simple como este:

El archivo open.js abrirá la aplicación calc.

El archivo download.js abrirá la aplicación calc.

El archivo down_and_open.jsse descargará y luego se abrirá la aplicación calc.

Para poder explotar con éxito el servidor de la víctima, es necesario tener https y CORS bypass de Chrome. Usaremos python y ngrok para la configuración.

Los pasos son los siguientes:

  1. Ejecute el archivo https.py para omitir CORS y abra un servidor en el puerto 8000
  2. Correr ngrok.exe http 8000
  3. En un dispositivo Samsung, use Chrome para acceder al servidor de la víctima y haga clic en el enlace.

Respuesta del proveedor

El proveedor ha emitido parches que ahora están en circulación para todos los dispositivos Samsung.

Explotar

Fuente: https://ssd-disclosure.com/ssd-advisory-galaxy-store-applications-installation-launching-without-user-interaction/

Demo