O que são aplicativos móveis WebView e como funcionam?
Apps WebView são aplicações web que se comportam como apps móveis, mas na prática rodam em um ambiente de navegador instalado no dispositivo do usuário. Esse é um vetor de ataque oculto, especialmente para roubo de credenciais em apps bancários WebView.
Um aplicativo móvel WebView é frequentemente confundido com um Progressive Web Application (PWA), porém são ligeiramente diferentes.
Ambos são usados principalmente para simplificar o suporte multiplataforma. Em vez de desenvolver essencialmente a mesma funcionalidade em múltiplas infraestruturas de front-end, isso pode ser feito em uma só. Eles também são mais leves para executar e atualizar.
Por que aplicativos bancários são um alvo principal para roubo de credenciais?
Apps bancários construídos como WebViews são um alvo fácil, pois oferecem acesso direto ao dinheiro. Uma vez que a sessão é sequestrada (ou as credenciais são roubadas), os atacantes podem agir rapidamente. O caminho do ataque até o objetivo é muito mais curto do que em outros tipos de ataques.
Quais são os 2 tipos de roubo de credenciais em PWAs bancários?
Existem 2 formas pelas quais o roubo de credenciais bancárias em apps WebView acontece. Em ambos os casos, os atacantes se aproveitam da infraestrutura baseada em navegador sobre a qual os WebViews são construídos. Seja atacando apps bancários PWA reais com injeção de scripts maliciosos (= ataques client-side), ou criando apps bancários falsos (= phishing).
Ataques client-side em WebViews reais
Como o WebView roda em um ambiente de navegador no celular, ele está sujeito tanto às vantagens quanto às desvantagens dos ataques a navegadores. Esses ambientes de navegador também são chamados de "cliente" do usuário — daí o termo ataques client-side.
O principal tipo de ataque client-side são os ataques à cadeia de suprimentos web. É quando ferramentas de terceiros rodando no ambiente do navegador (como ferramentas de marketing, pixels de rastreamento etc.) são comprometidas. Elas então alteram ou adicionam funcionalidades ao script para interceptar tráfego, copiar campos de formulários enviados e realizar diversos outros tipos de ataques.
Todos esses ataques client-side são possíveis em WebViews.
WebViews falsos usados em ataques de phishing
O que é melhor do que tentar comprometer um app bancário real? Criar um falso. Aqui, os atacantes criam cópias de WebViews bancários com funcionalidade mínima. Em seguida, em ataques de phishing, eles manipulam socialmente os usuários para baixar esses apps maliciosos. Assim que fazem login, os atacantes capturam as credenciais e, muitas vezes, até o 2FA.
Exemplos de roubo de credenciais em WebViews bancários
OTP Bank (2023)
No final de 2023, um ataque de phishing teve sucesso contra o OTP Bank (Hungria). As vítimas receberam um SMS com um link para um site falso que imitava o OTP Bank. A página induzia os usuários a instalar um app — um WebView, neste caso.
Assim que os usuários tentavam fazer login, os atacantes já haviam roubado suas credenciais e códigos 2FA.
TBC Bank (2023-2024)
O TBC Bank, na Geórgia, sofreu um ataque do final de 2023 até 2024. Nesse ataque, os usuários foram abordados por meio de ligações telefônicas e anúncios em redes sociais. Também aqui, uma página de destino com uma instalação falsa de PWA induzia os usuários a baixar o app malicioso. Todas as credenciais foram capturadas e utilizadas pelos atacantes.
Leia sobre os ataques ao OTP e ao TBC Bank aqui.
British Airways (2018)
No ataque client-side mais notório até hoje, o aplicativo móvel da empresa também foi envolvido. 429.612 transações de clientes foram interceptadas, e a maioria teve suas credenciais bancárias roubadas. O app da BA também era um WebView, exceto por um service worker (e manifesto instalável), o que significava que tecnicamente não era instalável nem capaz de funcionar offline como um WebView completo. Mas para todos os efeitos práticos, era um WebView.
Escrevemos a história completa no microsite baways.










