A equipe de pesquisa da ESET descobriu um aplicativo trojanizado para Android que estava disponível na Google Play com mais de 50 mil instalações. O aplicativo, chamado iRecorder – Screen Recorder, foi inicialmente enviado para a loja no dia 19 de setembro de 2021 sem qualquer funcionalidade maliciosa. No entanto, aparentemente, funcionalidades maliciosas foram implementadas no aplicativo, provavelmente na versão 1.3.8, que foi disponibilizada em agosto de 2022.

Principais pontos deste post:
 

  • Como parceiro da Google App Defense Alliance, detectamos um aplicativo trojanizado disponível na Google Play; nomeamos o malware baseado em AhMyth como AhRat;
  • Inicialmente, o aplicativo iRecorder não possuía recursos maliciosos. O que é bastante incomum é que o aplicativo recebeu uma atualização contendo código malicioso alguns meses após o seu lançamento;
  • O comportamento malicioso específico do aplicativo, que envolve a extração de gravações de microfone e roubo de arquivos com extensões específicas, indica potencialmente seu envolvimento em uma campanha de espionagem;
  • O aplicativo malicioso, com mais de 50 mil downloads, foi removido da Google Play depois que reportamos o caso – desde então não detectamos o AhRat em nenhum outro lugar.

É raro um desenvolvedor enviar um aplicativo legítimo, esperar quase um ano e depois atualizá-lo com um código malicioso. O código malicioso que foi adicionado à versão limpa do iRecorder é baseado no código aberto do RAT (trojan de acesso remoto) para Android, AhMyth, e foi personalizado em algo que chamamos de AhRat.

Além desse caso, não detectamos o AhRat em nenhum outro lugar até o momento. No entanto, esta não é a primeira vez que detectamos um malware para Android baseado no AhMyth na Google Play; publicamos anteriormente uma pesquisa sobre um aplicativo trojanizado baseado no código do AhMyth. Naquela ocasião, o spyware, construído com base no AhMyth, conseguiu contornar o processo de verificação de aplicativos da Google Play duas vezes, se passando por um aplicativo malicioso de streaming de rádio.

Visão geral do aplicativo

Além de fornecer funcionalidade legítima de gravação de tela, o aplicativo malicioso iRecorder pode gravar áudio ambiente do microfone do dispositivo e enviá-lo para o servidor de comando e controle (C&C) do atacante. O app também pode extrair arquivos com extensões que representam páginas da web salvas, imagens, áudio, vídeo e documentos, além de formatos de arquivo usados para compactar vários arquivos, do dispositivo. O comportamento malicioso específico do aplicativo - extrair gravações de microfone e roubar arquivos com extensões específicas - sugere que ele faz parte de uma campanha de espionagem. No entanto, não conseguimos atribuir o aplicativo a nenhum grupo malicioso específico.

Como parceiro da Google App Defense Alliance, a ESET identificou a versão mais recente do aplicativo como maliciosa e prontamente compartilhou suas descobertas com a Google. Após nosso alerta, o aplicativo foi removido da Google Play.

Distribuição

O aplicativo iRecorder foi lançado inicialmente na Play Store em 19 de setembro de 2021, oferecendo funcionalidade de gravação de tela; naquela época, o app não continha recursos maliciosos. No entanto, por volta de agosto de 2022, detectamos que o desenvolvedor do aplicativo incluiu uma funcionalidade maliciosa na versão 1.3.8. Conforme ilustrado na Figura 1, até março de 2023, o aplicativo acumulou mais de 50 mil instalações.

Figura 1. iRecorder: o aplicativo trojanizado.

No entanto, os usuários do Android que haviam instalado uma versão anterior do iRecorder (anterior à versão 1.3.8), que não possuía recursos maliciosos, teriam exposto seus dispositivos ao AhRat sem saber, caso posteriormente atualizassem o aplicativo manualmente ou automaticamente, mesmo sem conceder qualquer aprovação adicional de permissão do aplicativo.

Após nossa notificação sobre o comportamento malicioso do iRecorder, a equipe de segurança da Google Play o removeu da loja. No entanto, é importante observar que o aplicativo também pode ser encontrado em mercados alternativos e não oficiais do Android. O desenvolvedor do iRecorder também oferece outros aplicativos na Google Play, mas eles não contêm código malicioso.

Atribuição

Anteriormente, o AhMyth, um malware de código aberto, foi utilizado pelo Transparent Tribe, também conhecido como APT36, um grupo de ciberespionagem conhecido por seu amplo uso de técnicas de engenharia social e por visar organizações governamentais e militares no Sul da Ásia. No entanto, não podemos atribuir as amostras atuais a nenhum grupo específico, e não há indicações de que tenham sido produzidas por um grupo conhecido de ameaças persistentes avançadas (APT).

Análise

Durante nossa análise, identificamos duas versões de código malicioso baseadas no AhMyth RAT. A primeira versão maliciosa do iRecorder continha partes do código malicioso do AhMyth RAT, copiadas sem nenhuma modificação. A segunda versão maliciosa, que chamamos de AhRat, também estava disponível na Google Play, e seu código do AhMyth foi personalizado, incluindo o código e a comunicação entre o servidor C&C e o backdoor. Até o momento desta publicação, não observamos o AhRat em nenhum outro aplicativo do Google Play ou em outro lugar, sendo o iRecorder o único aplicativo que continha esse código personalizado.

O AhMyth RAT é uma ferramenta poderosa, capaz de realizar várias funções maliciosas, incluindo a exfiltração de registros de chamadas, contatos e mensagens de texto, obtenção de uma lista de arquivos no dispositivo, rastreamento da localização do dispositivo, envio de mensagens SMS, gravação de áudio e captura de imagens. No entanto, observamos apenas um conjunto limitado de recursos maliciosos derivados do AhMyth RAT original em ambas as versões analisadas nesta publicação. Essas funcionalidades pareciam se encaixar no modelo de permissões de aplicativos já definido, que concede acesso a arquivos no dispositivo e permite a gravação de áudio. Vale ressaltar que o aplicativo malicioso fornecia funcionalidade de gravação de vídeo, portanto, era esperado que solicitasse permissão para gravar áudio e armazená-lo no dispositivo, conforme mostrado na Figura 2. Após a instalação do aplicativo malicioso, ele se comportava como um aplicativo padrão, sem solicitar permissões extras especiais que pudessem revelar suas intenções maliciosas.

Figura 2. Permissões solicitadas pelo aplicativo iRecorder.

Após a instalação, o AhRat começa a se comunicar com o servidor C&C enviando informações básicas do dispositivo e recebendo chaves de criptografia e um arquivo de configuração criptografado, conforme visto na Figura 3. Essas chaves são usadas para criptografar e descriptografar o arquivo de configuração e alguns dos dados exfiltrados, como a lista de arquivos no dispositivo.

Figura 3. Comunicação inicial do AhRat com o servidor C&C.

Após a comunicação inicial, o AhRat faz contato com o servidor C&C a cada 15 minutos, solicitando um novo arquivo de configuração. Esse arquivo contém uma série de comandos e informações de configuração a serem executados e definidos no dispositivo alvo, incluindo a localização do sistema de arquivos a partir da qual extrair os dados do usuário, os tipos de arquivo com extensões específicas a serem extraídos, um limite de tamanho de arquivo, a duração das gravações do microfone (definida pelo servidor C&C; durante a análise, estava configurada para 60 segundos) e o intervalo de tempo a ser aguardado entre as gravações - 15 minutos -, que é também quando o novo arquivo de configuração é recebido do servidor C&C.

Curiosamente, o arquivo de configuração descriptografado contém mais comandos do que o AhRat é capaz de executar, pois certas funcionalidades maliciosas não foram implementadas. Isso pode indicar que o AhRat é uma versão mais leve, semelhante à versão inicial que continha apenas código malicioso não modificado do AhMyth RAT. Apesar disso, o AhRat ainda é capaz de exfiltrar arquivos do dispositivo e gravar áudio usando o microfone do dispositivo.

Com base nos comandos recebidos na configuração do servidor C&C, o AhRat deveria ser capaz de executar 18 comandos. No entanto, o RAT só pode executar os seis comandos da lista abaixo, marcados em negrito e com um asterisco:

  • RECORD_MIC*
  • CAPTURE_SCREEN
  • LOCATION
  • CALL_LOG
  • KEYLOG
  • NOTIFICATION
  • SMS
  • OTT
  • WIFI
  • APP_LIST
  • PERMISSION
  • CONTACT
  • FILE_LIST*
  • UPLOAD_FILE_AFTER_DATE*
  • LIMIT_UPLOAD_FILE_SIZE*
  • UPLOAD_FILE_TYPE*
  • UPLOAD_FILE_FOLDER*
  • SCHEDULE_INTERVAL

A implementação para a maioria desses comandos não está incluída no código do aplicativo, mas a maioria de seus nomes é autoexplicativa, como também mostrado na Figura 4.

Figura 4. Arquivo de configuração descriptografado com uma lista de comandos.

Durante nossa análise, o AhRat recebeu comandos para exfiltrar arquivos com extensões que representam páginas da web, imagens, áudio, vídeo, documentos e formatos de arquivo usados para compactar vários arquivos. As extensões de arquivo são as seguintes: zip, rar, jpg, jpeg, jpe, jif, jfif, jfi, png, mp3, mp4, mkv, 3gp, m4v, mov, avi, gif, webp, tiff, tif, heif, heic, bmp, dib, svg, ai, eps, pdf, doc, docx, html, htm, odt, pdf, xls, xlsx, ods, ppt, pptx, e txt.

Esses arquivos foram limitados a um tamanho de 20 MB e estavam localizados no diretório de Downloads /storage/emulated/0/Download.

Os arquivos localizados foram, então, enviados para o servidor C&C, conforme visto na Figura 5.

Figura 5. Exfiltração de arquivos para o servidor C&C.

Conclusão

A pesquisa sobre o AhRat serve como um bom exemplo de como um aplicativo inicialmente legítimo pode se transformar em um malicioso, mesmo após muitos meses, espionando seus usuários e comprometendo sua privacidade. Embora seja possível que o desenvolvedor do aplicativo tenha pretendido criar uma base de usuários antes de comprometer seus dispositivos Android por meio de uma atualização, ou que um cibercriminoso tenha introduzido essa alteração no aplicativo, até agora não temos evidências para nenhuma dessas hipóteses.

Felizmente, medidas preventivas contra tais ações maliciosas já foram implementadas no Android 11 e em versões mais recentes na forma de hibernação de aplicativos. Essa função coloca efetivamente os aplicativos que estiveram inativos por vários meses em um estado de hibernação, redefinindo suas permissões em tempo de execução e impedindo que aplicativos maliciosos funcionem como pretendido. O aplicativo malicioso foi removido da Google Play após nosso alerta, o que confirma que a necessidade de proteção fornecida por várias camadas, como o ESET Mobile Security, continua essencial para proteger os dispositivos contra possíveis violações de segurança.

O AhRat é uma versão personalizada de código aberto do AhMyth RAT, o que significa que os autores do aplicativo malicioso investiram esforço significativo para entender o código do aplicativo e do backend, adaptando-o para atender às suas próprias necessidades.

O comportamento malicioso do AhRat, que inclui a gravação de áudio usando o microfone do dispositivo e o roubo de arquivos com extensões específicas, pode indicar que ele fazia parte de uma campanha de espionagem. No entanto, ainda não encontramos evidências concretas que nos permitam atribuir essa atividade a uma campanha específica ou a um grupo APT.

Indicadores de Comprometimento

Arquivos

SHA-1 Package name ESET detection name Description
C73AFFAF6A9372C12D995843CC98E2ABC219F162 com.tsoft.app.iscreenrecorder Android/Spy.AhRat.A AhRat backdoor.
E97C7AC722D30CCE5B6CC64885B1FFB43DE5F2DA com.tsoft.app.iscreenrecorder Android/Spy.AhRat.A AhRat backdoor.
C0EBCC9A10459497F5E74AC5097C8BD364D93430 com.tsoft.app.iscreenrecorder Android/Spy.Android.CKN AhMyth‑based backdoor.
0E7F5E043043A57AC07F2E6BA9C5AEE1399AAD30 com.tsoft.app.iscreenrecorder Android/Spy.Android.CKN AhMyth‑based backdoor.

Rede

IP Provider First seen Details
34.87.78[.]222 Namecheap 2022-12-10 order.80876dd5[.]shop C&C server.
13.228.247[.]118 Namecheap 2021-10-05 80876dd5[.]shop:22222 C&C server.

Técnicas de MITRE ATT&CK

Esta tabela foi produzida usando a versão 12 do framework MITRE ATT&CK.

Tactic ID Name Description
Persistence T1398 Boot or Logon Initialization Scripts AhRat receives the BOOT_COMPLETED broadcast intent to activate at device startup.
T1624.001 Event Triggered Execution: Broadcast Receivers AhRat functionality is triggered if one of these events occurs: CONNECTIVITY_CHANGE, or WIFI_STATE_CHANGED.
Discovery T1420 File and Directory Discovery AhRat can list available files on external storage.
T1426 System Information Discovery AhRat can extract information about the device, including device ID, country, device manufacturer and mode, and common system information.
Collection T1533 Data from Local System AhRat can exfiltrate files with particular extensions from a device.
T1429 Audio Capture AhRat can record surrounding audio.
Command and Control T1437.001 Application Layer Protocol: Web Protocols AhRat uses HTTPS to communicate with its C&C server.
Exfiltration T1646 Exfiltration Over C2 Channel AhRat exfiltrates stolen data over its C&C channel.