Malware SoumniBot evita a detecção explorando bugs do Android

Descoberto e analisado por pesquisadores da Kaspersky, o Malware SoumniBot evita a detecção explorando bugs do Android.

Um novo malware bancário para Android chamado ‘SoumniBot’ está usando uma abordagem de ofuscação menos comum, explorando pontos fracos no procedimento de extração e análise de manifestos do Android.

O método permite que o SoumniBot evite medidas de segurança padrão encontradas em telefones Android e execute operações de roubo de informações.

Malware SoumniBot evita a detecção explorando bugs do Android

Malware SoumniBot evita a detecção explorando bugs do Android
Malware SoumniBot evita a detecção explorando bugs do Android

O malware foi descoberto e analisado por pesquisadores da Kaspersky, que fornecem detalhes técnicos sobre os métodos que o malware usa para aproveitar a rotina do Android para analisar e extrair manifestos do APK.

Serviço de phishing LabHost com 40.000 domínios interrompidos, 37 presos

Enganando o analisador do Android

Os arquivos de manifesto (‘AndroidManifest.xml’) estão presentes no diretório raiz de cada aplicativo e contêm detalhes sobre componentes (serviços, receptores de transmissão, provedores de conteúdo), permissões e dados do aplicativo.

Embora existam vários truques de compactação do Zimperium que APKs maliciosos podem usar para enganar as ferramentas de segurança e escapar da análise, os analistas da Kaspersky descobriram que o SoumniBot usa três métodos diferentes que envolvem a manipulação da compactação e do tamanho do arquivo de manifesto, para ignorar as verificações do analisador.

Primeiro, SoumniBot usa um valor de compactação inválido ao descompactar o arquivo de manifesto do APK, que diverge dos valores padrão (0 ou 8) esperados pela biblioteca ‘libziparchive’ do Android encarregada da função.

Em vez de tratar esses valores como inaceitáveis, o analisador APK do Android reconhece os dados como descompactados devido a um bug, permitindo que o APK ignore as verificações de segurança e continue a execução no dispositivo.

Malware SoumniBot evita a detecção explorando bugs do Android
Malware SoumniBot evita a detecção explorando bugs do Android – Extraindo o arquivo de manifesto do APK (Kaspersky)

O segundo método envolve informar incorretamente o tamanho do arquivo de manifesto no APK, fornecendo um valor maior do que o valor real.

Como o arquivo foi marcado como descompactado na etapa anterior, ele é copiado diretamente do arquivo, com dados de “sobreposição” indesejados preenchendo a diferença.

Kaspersky explica que, embora esses dados extras não prejudiquem diretamente o dispositivo, já que o Android está configurado para ignorá-los, eles desempenham um papel crucial na confusão das ferramentas de análise de código.

Malware SoumniBot evita a detecção explorando bugs do Android
Malware SoumniBot evita a detecção explorando bugs do Android – Relatando um tamanho de arquivo incorreto (Kaspersky)

A terceira técnica de evasão é usar strings muito longas para os nomes dos namespaces XML no arquivo de manifesto, tornando muito difícil a verificação por ferramentas de análise automatizadas, que muitas vezes não têm memória suficiente para processá-los.
Sequências longas no manifesto (Kaspersky)
Malware SoumniBot evita a detecção explorando bugs do Android – Sequências longas no manifesto (Kaspersky)

A Kaspersky informou ao Google sobre a incapacidade do APK Analyzer, o utilitário de análise oficial do Android, de lidar com arquivos usando os métodos de evasão acima.

O site BleepingComputer também entrou em contato com o Google para comentar e atualizaremos esta postagem assim que recebermos uma resposta.

A ameaça SoumniBot

Após a inicialização, o SoumniBot solicita seus parâmetros de configuração de um endereço de servidor codificado e envia informações de perfil do dispositivo infectado, incluindo número, operadora, etc.

Em seguida, ele inicia um serviço malicioso que reinicia a cada 16 minutos se for interrompido e transmite dados roubados da vítima a cada 15 segundos.

Os detalhes exfiltrados incluem endereços IP, listas de contatos, detalhes de contas, mensagens SMS, fotos, vídeos e certificados digitais de bancos online.

A exfiltração de dados é controlada por comandos que o malware recebe por meio de um servidor MQTT. Esses comandos também ordenam funções como:

  • Excluindo contatos existentes ou adicionando novos contatos
  • Enviando uma mensagem SMS (encaminhamento)
  • Definir níveis de volume do toque
  • Ativar ou desativar o modo silencioso
  • Ativando ou desativando o modo de depuração no dispositivo

Não está claro como o SoumniBot chega aos dispositivos, mas os métodos podem variar, desde a distribuição em lojas Android de terceiros e sites inseguros até a atualização com código malicioso de aplicativos legítimos em repositórios confiáveis.

O SoumniBot tem como alvo usuários coreanos e, como muitos aplicativos Android maliciosos, oculta seu ícone após a instalação para dificultar sua remoção. Porém, ele permanece ativo em segundo plano, carregando dados da vítima.

A Kaspersky fornece um pequeno conjunto de indicadores de comprometimento, que inclui hashes para o malware e dois domínios que os operadores de malware usam para atividades de comando e controle.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.