A equipe de pesquisa e investigação da ESET identificou uma campanha em andamento que foi criada pelo grupo APT Bahamut e está sendo direcionada aos usuários do Android. Esta campanha está ativa desde janeiro de 2022 e distribui aplicativos maliciosos através de um falso site da SecureVPN que só permite o download de aplicativos para dispositivos Android. Vale notar que embora o malware utilizado ao longo desta campanha use o nome de SecureVPN, a ameaça não tem nenhuma relação com o serviço e software multiplataforma legítimo SecureVPN.

Principais descobertas:

  • Os aplicativos utilizados são versões trojanizadas de dois aplicativos VPN legítimos, SoftVPN ou OpenVPN, que foram reprogramados com o código do spyware Bahamut, que foi utilizado anteriormente pelo grupo Bahamut;
  • Conseguimos identificar pelo menos oito versões desses aplicativos comprometidos com alterações de código e atualizações disponíveis através do site de distribuição, o que pode significar que a campanha está atualmente em andamento;
  • O principal objetivo das alterações feitas nos aplicativos é extrair dados confidenciais das vítimas e espionar ativamente os aplicativos de mensagens que estejam instalados nos dispositivos comprometidos;
  • Acreditamos que os alvos dos cibercriminosos são cuidadosamente escolhidos. Após a execução do spyware Bahamut, a ameaça solicita uma chave de ativação antes mesmo da ativação dos recursos de VPN e spyware. Provavelmente, tanto a chave de ativação quanto o link do site são enviados a usuários específicos;
  • Não conseguimos identificar o vetor de distribuição inicial (e-mail, redes sociais, aplicativos de troca de mensagens, SMS, etc.).

Os pesquisadores da ESET descobriram pelo menos oito versões do spyware Bahamut. O malware é distribuído através de um falso site que se faz passar pelo SecureVPN na forma de versões trojanizadas de dois aplicativos legítimos: SoftVPN e OpenVPN. Estes aplicativos maliciosos nunca estiveram disponíveis para download no Google Play.

O malware tem a capacidade de exfiltrar dados confidenciais do computador da vítima, tais como a lista de contatos, mensagens SMS, registros de ligações, localização do dispositivo e chamadas telefônicas gravadas. A ameaça também é capaz de espionar ativamente as mensagens de chat trocadas através de aplicativos de mensagens como o Signal, Viber, WhatsApp, Telegram e Facebook Messenger. A filtragem de dados é feita através da funcionalidade de keylogging do malware, que faz uso malicioso dos serviços de acessibilidade. A campanha parece ser direcionada a alvos muito específicos, já que não vemos exemplos em nossos dados de telemetria.

Sobre o Bahamut

O grupo APT Bahamut geralmente tem como alvo instituições e indivíduos localizados no Oriente Médio e no Sul da Ásia e utiliza mensagens de phishing e falsos apps como vetor de ataque. O Bahamut é especializado em ciberespionagem, e acreditamos que o objetivo do grupo é roubar informações confidenciais das vítimas da ameaça. O Bahamut também é conhecida como um grupo de mercenários que oferece serviços de pirataria a uma ampla gama de clientes. O nome dado a esses cibercriminosos tem relação com o grupo de jornalismo investigativo Bellingcat. O Bellingcat deu ao grupo o nome do enorme peixe que flutua no Mar Arábico mencionado no "O livro dos seres imaginários" escrito por Jorge Luis Borges. O Bahamut é muitas vezes descrito na mitologia árabe como um peixe inimaginavelmente enorme.

O grupo tem sido objeto de várias publicações nos últimos anos, entre elas:

Distribuição

O falso aplicativo SecureVPN que analisamos foi carregado no VirusTotal em 17 de março de 2022 a partir de um endereço IP de Singapura, juntamente com um link para um site falso que acionou uma de nossas regras YARA.

Ao mesmo tempo, recebemos uma mensagem direta no Twitter enviada por @malwrhunterteam sobre a mesma amostra.

O aplicativo malicioso para Android utilizado nesta campanha foi distribuído através do site thesecurevpn[.]com (veja Figura 1), que usa o nome, mas não o conteúdo ou estilo, do serviço legítimo SecureVPN (no domínio securevpn.com).

Figura 1. O falso site da SecureVPN disponibiliza o download do aplicativo trojanizado.

Este site falso que se faz passar pelo SecureVPN foi criado com base em um modelo web gratuito (veja Figura 2), que provavelmente foi utilizada pelo cribercriminoso como inspiração, pois só requeria pequenas mudanças e parece ser confiável.

Figura 2. Modelo para website gratuito que foi utilizado para criar o site que distribui o falso app de VPNs.

thesecurevpn[.]com foi registrado em 27 de janeiro de 2022; entretanto, não sabemos ao certo qual foi o momento da distribuição inicial da versão falsa do aplicativo SecureVPN. O aplicativo malicioso é fornecido diretamente do site e nunca esteve disponível no Google Play.

Atribuição

A presença de código malicioso em uma falsa amostra do app SecureVPN foi observada em uma campanha do SecureChat documentada pelo Cyble e CoreSec360. Vimos este código ser utilizado apenas em campanhas conduzidas pelo grupo Bahamut. As semelhanças entre as campanhas incluem o armazenamento de informações confidenciais em um banco de dados local antes de carregá-las no servidor C&C. A quantidade de dados armazenados nestes bancos de dados provavelmente depende da campanha. A Figura 3 mostra os tipos de pacotes maliciosos desta variante em comparação com uma amostra anterior do código do Bahamut.

Figura 3. Comparação de nomes de classe entre o pacote malicioso do SecureChat (esquerda) e o falso pacote do SecureVPN (direita).

Comparando as figuras 4 e 5, pode-se ver as semelhanças nas consultas SQL do antigo malware do SecureChat, atribuído ao Bahamut, e do malware escondido na falsa versão do SecureVPN.

Figura 4. Consultas SQL utilizadas no código malicioso da campanha anterior do SecureChat.

Figura 5. Consultas SQL utilizadas no código malicioso da campanha que usam uma versão falsa do SecureVPN.

Portanto, acreditamos que o falso aplicativo SecureVPN está ligado ao grupo Bahamut.

Análise

Des que o site utilizado para distribuição foi lançado, estiveram disponíveis para download pelo menos oito versões do spyware Bahamut. Estas versões foram criadas pelo grupo cibercriminosos e o nome do aplicativo falso foi seguido pelo número da versão. Conseguimos extrair as seguintes versões do servidor. Acreditamos que a versão com o sufixo mais baixo foi distribuída anteriormente, enquanto os números mais altos foram distribuídos mais recentemente (secureVPN_104.apk, SecureVPN_105.apk, SecureVPN_106.apk, SecureVPN_107.apk, SecureVPN_108.apk, SecureVPN_109.apk, SecureVPN_1010.apk, secureVPN_1010b.apk).

Dividimos estas versões em dois grupos, já que o código malicioso do Bahamut foi colocado em dois aplicativos VPN legítimos.

No primeiro grupo, que vai da versão secureVPN_104 à secureVPN_108, foi inserido código malicioso no aplicativo legítimo SoftVPN, que pode ser encontrado no Google Play, e usa o nome exclusivo do pacote com.secure.vpn. Este nome de pacote também pode ser visto no valor do PARENT_APPLICATION_ID na informação da versão encontrada no código fonte descompilado do primeiro grupo do falso aplicativo SecureVPN, como pode ser visto na Figura 6.

Figura 6. Falso app SecureVPN v1.0.4 com o código malicioso incluído no SoftVPN como aplicativo principal.

No segundo grupo, que vai da versão secureVPN_109 até secureVPN_1010b, foi inserido código malicioso no aplicativo de código aberto legítimo OpenVPN, que está disponível no Google Play, e usa o nome exclusivo do pacote com.openvpn.secure. Como nas versões trojanizadas do SoftVPN, o nome do pacote do app original também é visível nas informações da versão falso do aplicativo SecureVPN, e pode ser visto no código fonte descompilado, como podemos ver na Figura 7.

Figura 7: Falso app SecureVPN v1.0.9 (SecureVPN_109) com código malicioso incluído no OpenVPN como seu aplicativo principal, embora o VERSION_NAME (1.0.0) hardcoded não tenha sido alterado entre versões.

Além da divisão nestes dois grupos, no qual o mesmo código malicioso é implantado em dois aplicativos VPN diferentes, outras falsas atualizações da versão SecureVPN continham apenas pequenas alterações ou correções de código, sem nada de significativo considerando sua funcionalidade geral.

Não está claro porque o grupo cibercriminoso mudou a correção do SoftVPN para o OpenVPN como seu aplicativo principal; entretanto, suspeitamos que a razão pode ser que o aplicativo legítimo SoftVPN parou de funcionar ou de receber manutenção e não estava mais disponível para criar conexões VPN. Este último foi confirmado através de testes com o mais recente aplicativo SoftVPN disponível no Google Play. Isto pode ser um dos motivos para a decisão do Bahamut de mudar para o OpenVPN, já que as potenciais vítimas provavelmente desinstalarão um aplicativo VPN não funcional de seus dispositivos. A mudança de um aplicativo principal para outro provavelmente signifique que o grupo tenha gastado mais tempo, recursos e esforço.

O código malicioso, reprogramado com o aplicativo OpenVPN, foi implementado uma camada acima do código VPN. Este código malicioso implementa a funcionalidade de spyware que solicita uma chave de ativação e depois compara a chave fornecida com o servidor C&C do atacante. Se a chave for inserida com sucesso, o servidor devolverá um token que é necessário para a perfeita comunicação entre o spyware do Bahamut e seu servidor C&C. Se a chave não estiver correta, nem o spyware do Bahamut nem a funcionalidade VPN serão habilitados. Infelizmente, sem a chave de ativação, os ambientes dinâmicos de varredura de malware podem não assinalá-lo como um aplicativo malicioso.

A Figura 8 mostra uma solicitação de chave de ativação inicial e a Figura 9 mostra o tráfego de rede por trás da solicitação e a resposta do servidor C&C.

Figura 8. Falso aplicativo SecureVPN pede a chave de ativação antes de habilitar as funcionalidades de VPN e spyware.

Figura 9. Solicitação de ativação do falso aplicativo SecureVPN e a resposta do servidor C&C.

As campanhas que utilizam o falso aplicativo SecureVPN tentam manter um perfil baixo, já que a URL do site é provavelmente entregue às vítimas potenciais com uma chave de ativação que não é fornecida no site. Infelizmente, não conseguimos obter uma chave ativa.

A camada de chave de ativação não pertence à funcionalidade original do OpenVPN e não a reconhecemos como código de nenhum outro app legítimo. Acreditamos que foi desenvolvido pelo Bahamut, já que também se comunica com o servidor C&C do grupo criminoso.

A implementação de uma camada para proteger um payload de ser executada logo após ser aberta no dispositivo de um usuário que não foi visado ou quando é escaneado não é uma característica única. Já vimos a implementação de proteção semelhante em outra campanha do grupo Bahamut com o aplicativo SecureChat analisado pelo CoreSec360. Isto exigiu um esforço adicional por parte da vítima, que teve que criar uma conta e entrar nela, e depois habilitar a funcionalidade do spyware do Bahamut. Observamos também que o APT-C-23 utiliza proteção comparável, no qual a potencial vítima precisa de um código de cupom válido para baixar o app malicioso.

Funcionalidade

Se o spyware do Bahamut estiver habilitado, os operadores do grupo criminoso podem controlá-lo remotamente e exfiltrar vários dados confidenciais do dispositivo, como por exemplo:

  • Contatos;
  • Mensagens SMS;
  • Registros de chamadas;
  • Lista de aplicativos instalados;
  • Localização do dispositivo;
  • Contas do dispositivo;
  • Informações do dispositivo (tipo de conexão de Internet, IMEI, IP, número de série do SIM);
  • Chamadas telefônicas gravadas;
  • Lista dos arquivos no armazenamento externo.

Al abusar del servicio de accesibilidad, como se observa en la Figura 10, el malware puede robar notas de la aplicación SafeNotes y espiar activamente los mensajes de chat e información sobre llamadas en aplicaciones de mensajería muy populares, como:

Ao se aproveitar do serviço de acessibilidade, como visto na Figura 10, o malware pode roubar notas da do aplicativo SafeNotes e espionar ativamente as mensagens de chat e informações de chamadas em aplicativos de troca de mensagens como por exemplo:

  • Imo-International Calls & Chat;
  • Facebook Messenger;
  • Viber;
  • Signal Private Messenger;
  • WhatsApp;
  • Telegram;
  • WeChat;
  • Conion.

Figura 10. Falsa solicitação do SecureVPN para habilitar manualmente serviços de acessibilidade.

Todos os dados extraídos são armazenados em um banco de dados local e depois enviados para o servidor C&C do atacante. A funcionalidade do spyware do Bahamut inclui a capacidade de atualizar o aplicativo através de um link para uma nova versão do servidor C&C.

Conclusão

A campanha direcionada a dispositivos móveis do grupo APT Bahamut ainda está em andamento e usa o mesmo método para distribuir seus aplicativos de spyware para Android: através de sites que se fazem passar por serviços legítimos. Além disso, o código do spyware, e, portanto, sua funcionalidade, é a mesma das campanhas anteriores, incluindo a capacidade de coletar dados para exfiltração em um banco de dados local antes de enviá-los ao servidor dos atacantes, uma tática raramente vista em aplicativos para dispositivos móveis para ciberespionagem.

Parece que esta campanha tem mantido um perfil baixo, já que não vemos nenhum caso em nossos dados de telemetria. Isto provavelmente ocorre por meio de uma distribuição altamente direcionada, na qual junto com um link para o spyware do Bahamut, a potencial vítima recebe uma chave de ativação, que é necessária para habilitar a capacidade de espionagem do malware.

Indicadores de Comprometimento

Arquivos

SHA-1 Package name ESET detection name Description
3144B187EDF4309263FF0BCFD02C6542704145B1 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
2FBDC11613A065AFBBF36A66E8F17C0D802F8347 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
2E40F7FD49FA8538879F90A85300247FBF2F8F67 com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
1A9371B8AEAD5BA7D309AEBE4BFFB86B23E38229 com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
976CC12B71805F4E8E49DCA232E95E00432C1778 com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
B54FFF5A7F0A279040A4499D5AABCE41EA1840FB com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
C74B006BADBB3844843609DD5811AB2CEF16D63B com.secure.vpn Android/Spy.Bahamut.M SoftVPN app repackaged with Bahamut spyware code.
4F05482E93825E6A40AF3DFE45F6226A044D8635 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
79BD0BDFDC3645531C6285C3EB7C24CD0D6B0FAF com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.
7C49C8A34D1D032606A5E9CDDEBB33AAC86CE4A6 com.openvpn.secure Android/Spy.Bahamut.M OpenVPN app repackaged with Bahamut spyware code.

Rede

IP Domain First seen Details
104.21.10[.]79 ft8hua063okwfdcu21pw[.]de 2022-03-20 C&C server
172.67.185[.]54 thesecurevpn[.]com 2022-02-23 Distribution website

Técnicas do MITRE ATT&CK

Esta tabela foi criada utilizando a versão 11 do framework ATT&CK.

Tactic ID Name Description
Persistence T1398 Boot or Logon Initialization Scripts Bahamut spyware receives the BOOT_COMPLETED broadcast intent to activate at device startup.
T1624 Event Triggered Execution Bahamut spyware uses Observers to be informed about changes in SMS, contacts, and calls.
Defense Evasion T1627 Execution Guardrails Bahamut spyware won’t run unless a valid activation key is provided at app startup.
Discovery T1420 File and Directory Discovery Bahamut spyware can list available files on external storage.
T1418 Software Discovery Bahamut spyware can obtain a list of installed applications.
T1426 System Information Discovery Bahamut spyware can extract information about the device including type of internet connection, IMEI, IP address, and SIM serial number.
Collection T1417.001 Input Capture: Keylogging Bahamut spyware logs keystrokes in chat messages and call information from targeted apps.
T1430 Location Tracking Bahamut spyware tracks device location.
T1429 Audio Capture Bahamut spyware can record phone calls.
T1532 Archive Collected Data Bahamut spyware stores collected data in a database prior to exfiltration.
T1636.002 Protected User Data: Call Logs Bahamut spyware can extract call logs.
T1636.003 Protected User Data: Contact List Bahamut spyware can extract the contact list.
T1636.004 Protected User Data: SMS Messages Bahamut spyware can extract SMS messages.
Command and Control T1437.001 Application Layer Protocol: Web Protocols Bahamut spyware uses HTTPS to communicate with its C&C server.
Exfiltration T1646 Exfiltration Over C2 Channel Bahamut spyware exfiltrates stolen data over its C&C channel.