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
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.
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.
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.
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.