4 puntos por GN⁺ 2024-06-27 | Aún no hay comentarios. | Compartir por WhatsApp

TL;DR

  • La versión 10.4.3 de KakaoTalk tiene un problema de validación de deep links que permite a un atacante remoto ejecutar JavaScript arbitrario en WebView y filtrar el token de acceso desde los encabezados de solicitudes HTTP.
  • Con ese token, es posible secuestrar la cuenta de otro usuario, registrarla en un dispositivo controlado por el atacante y leer mensajes de chat.
  • A este bug se le asignó CVE-2023-51219.

Contexto

  • KakaoTalk es la app de chat más popular de Corea, con más de 100 millones de descargas.
  • KakaoTalk no usa cifrado de extremo a extremo (E2EE) por defecto.
  • Existe una función opcional de E2EE llamada "Secure Chat", pero no soporta mensajería grupal ni llamadas de voz.

Entry Point: CommerceBuyActivity

  • El WebView de CommerceBuyActivity es un punto de entrada clave que merece atención por parte de un atacante.
    • Puede iniciarse mediante un deep link (adb shell am start kakaotalk://buy)
    • JavaScript está habilitado (settings.setJavaScriptEnabled(true);)
    • Soporta el esquema intent://, lo que permite enviar datos a otros componentes privados de la app.
    • La validación insuficiente de las URI intent:// permite potencialmente acceder a cualquier componente de la app.
    • Filtra el token de acceso en el encabezado HTTP Authorization.

DOM XSS mediante redirección de URL

Toma de control de cuentas de Kakao Mail mediante deep links

  • Un deep link malicioso puede enviar el token de acceso del usuario al servidor del atacante.
  • Con el token de acceso, se puede secuestrar la cuenta de Kakao Mail de la víctima o crear una nueva cuenta de correo para sobrescribir la dirección de correo existente.

Restablecimiento de contraseña de KakaoTalk con Burp

  • Al acceder a la cuenta de Kakao Mail de la víctima, se puede intentar un restablecimiento de contraseña.
  • Para saltarse la autenticación de dos factores (2FA), se usan Burp para interceptar y modificar solicitudes.

PoC

  • El atacante prepara un deep link malicioso que, al ser pulsado por la víctima, filtra el token de acceso.
  • Con el token filtrado, el atacante restablece la contraseña de la víctima y registra su propio dispositivo en la cuenta de KakaoTalk de la víctima.

Conclusiones

  • Siguen existiendo apps de chat populares donde los mensajes de los usuarios pueden ser comprometidos mediante una cadena de ataque no especialmente compleja.
  • Si los desarrolladores de la app cometen algunos errores simples, ni el sólido modelo de seguridad de Android ni el cifrado de mensajes sirven de ayuda.
  • Las apps de chat asiáticas siguen estando subvaloradas por la comunidad de investigación en seguridad.

Opinión de GN⁺

  1. La gravedad de la vulnerabilidad: La vulnerabilidad encontrada en una app tan masiva como KakaoTalk vuelve a recordar la importancia de proteger los datos de los usuarios.
  2. La responsabilidad de los desarrolladores: Los desarrolladores de apps deben realizar validaciones de seguridad rigurosas, especialmente en funciones relacionadas con datos sensibles.
  3. Educación del usuario: Los usuarios también deben evitar hacer clic en enlaces sospechosos y reforzar su conciencia de seguridad, por ejemplo activando la autenticación de dos factores.
  4. Necesidad de investigación en seguridad: La investigación de seguridad sobre apps de chat asiáticas debe intensificarse para descubrir y corregir más vulnerabilidades de forma preventiva.
  5. Alternativas: Además de KakaoTalk, se pueden considerar apps de mensajería centradas en la seguridad como Signal o Telegram.

Aún no hay comentarios.

Aún no hay comentarios.