4 pontos por GN⁺ 2024-06-27 | Ainda não há comentários. | Compartilhar no WhatsApp

TL;DR

  • A versão 10.4.3 do KakaoTalk tem um problema de validação de deep links que permite a um atacante remoto executar JavaScript arbitrário na WebView e vazar o token de acesso nos cabeçalhos de requisições HTTP.
  • Com esse token, é possível comprometer a conta de outro usuário, registrá-la em um dispositivo controlado pelo atacante e ler mensagens de chat.
  • Esse bug recebeu o identificador CVE-2023-51219.

Contexto

  • O KakaoTalk é o app de chat mais popular da Coreia, com mais de 100 milhões de downloads.
  • O KakaoTalk não usa criptografia de ponta a ponta (E2EE) por padrão.
  • Há um recurso opcional de E2EE chamado "Secure Chat", mas ele não oferece suporte a mensagens em grupo nem a chamadas de voz.

Ponto de entrada: CommerceBuyActivity

  • A WebView de CommerceBuyActivity é um ponto de entrada importante que merece atenção do atacante.
    • Pode ser iniciada por deep link (adb shell am start kakaotalk://buy)
    • O JavaScript está habilitado (settings.setJavaScriptEnabled(true);)
    • Suporta o esquema intent://, permitindo enviar dados para outros componentes privados do app.
    • A validação insuficiente de URIs intent:// potencialmente permite acesso a qualquer componente do app.
    • Vaza o token de acesso no cabeçalho HTTP Authorization.

DOM XSS via redirecionamento de URL

Sequestro de conta de Kakao Mail via deep link

  • Um deep link malicioso pode enviar o token de acesso do usuário para o servidor do atacante.
  • Com o token de acesso, é possível comprometer a conta de Kakao Mail da vítima ou criar uma nova conta de e-mail e sobrescrever o endereço de e-mail existente.

Redefinição de senha do KakaoTalk com Burp

  • É possível acessar a conta de Kakao Mail da vítima e tentar redefinir a senha.
  • Para contornar a autenticação em duas etapas (2FA), o Burp é usado para interceptar e modificar as requisições.

PoC

  • O atacante prepara um deep link malicioso que, ao ser clicado pela vítima, vaza o token de acesso.
  • O token de acesso vazado é então usado para redefinir a senha da vítima e registrar o dispositivo do atacante na conta de KakaoTalk da vítima.

Conclusões

  • Ainda existem apps de chat populares em que mensagens de usuários podem ser comprometidas por uma cadeia de ataque não tão complexa.
  • Se desenvolvedores de apps cometem alguns erros simples, o forte modelo de segurança do Android e a criptografia de mensagens não ajudam.
  • Apps de chat asiáticos ainda são subestimados pela comunidade de pesquisa em segurança.

Opinião do GN⁺

  1. Gravidade da vulnerabilidade de segurança: A vulnerabilidade encontrada em um app tão popular quanto o KakaoTalk reforça mais uma vez a importância de proteger os dados dos usuários.
  2. Responsabilidade dos desenvolvedores: Desenvolvedores de apps devem fazer validações de segurança rigorosas, especialmente em recursos ligados a dados sensíveis.
  3. Educação do usuário: Usuários também devem evitar clicar em links suspeitos e fortalecer sua consciência de segurança, ativando por exemplo a autenticação em duas etapas.
  4. Necessidade de pesquisa em segurança: A pesquisa em segurança sobre apps de chat asiáticos precisa ser mais ativa, para que mais vulnerabilidades possam ser descobertas e corrigidas com antecedência.
  5. Sugestão de alternativas: Além do KakaoTalk, vale considerar apps de mensagens focados em segurança, como Signal e Telegram.

Ainda não há comentários.

Ainda não há comentários.