Malware SoumniBot Explora Falhas no Android para Fugir de Detecção
18 de Abril de 2024

Um novo malware bancário para Android, chamado 'SoumniBot', está utilizando uma abordagem de ofuscação menos comum ao explorar fraquezas no processo de extração e análise do Android manifest.

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

O malware foi descoberto e analisado por pesquisadores da Kaspersky, que fornecem os detalhes técnicos sobre os métodos que o malware utiliza para tirar vantagem da rotina do Android de parsear e extrair APK manifests.

Arquivos manifest ('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.

Enquanto existem vários truques de compressão que APKs maliciosos podem usar para enganar ferramentas de segurança e evitar análise, os analistas da Kaspersky encontraram que o SoumniBot usa três métodos diferentes que envolvem manipulação da compressão do arquivo manifest e do tamanho, para burlar verificações de parser.

Primeiro, o SoumniBot usa um valor de compressão inválido ao descompactar o arquivo manifest do APK, que diverge dos valores padrão (0 ou 8) esperados pela biblioteca 'libziparchive' do Android, encarregada da tarefa.

Em vez de tratar esses valores como inaceitáveis, o parser de APK do Android por padrão reconhece os dados como não comprimidos devido a um bug, permitindo que o APK evite verificações de segurança e continue a execução no dispositivo.

O segundo método envolve relatar incorretamente o tamanho do arquivo manifest no APK, fornecendo um valor maior do que o número real.

Uma vez que o arquivo foi marcado como não comprimido na etapa anterior, ele é copiado diretamente do arquivo, com dados "sobrepõem" desnecessários preenchendo a diferença.

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 ao confundir 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 manifest, tornando muito difícil para ferramentas de análise automatizadas checá-los, que muitas vezes não têm memória suficiente para processá-los.

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

Ao ser lançado, 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 parado e transmite dados roubados da vítima a cada 15 segundos.

Os detalhes exfiltrados incluem endereços IP, listas de contato, detalhes de conta, mensagens SMS, fotos, vídeos e certificados digitais de banking online.

A exfiltração de dados é controlada por comandos que o malware recebe via um servidor MQTT.

Esses comandos também ordenam funções como:

Deletar contatos existentes ou adicionar novos
Enviar uma mensagem SMS (encaminhamento)
Ajustar os níveis de volume do toque
Ativar ou desativar o modo silencioso
Ativar ou desativar o modo de depuração no dispositivo

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

O SoumniBot visa usuários coreanos e, como muitos apps Android maliciosos, ele esconde seu ícone após a instalação para dificultar sua remoção.

No entanto, permanece ativo em segundo plano, fazendo upload de 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 atividade de comando e controle.

Publicidade

Curso gratuito de Python

O curso Python Básico da Solyd oferece uma rápida aproximação à linguagem Python com diversos projetos práticos. Indo do zero absoluto até a construção de suas primeiras ferramentas. Tenha também suporte e certificado gratuitos. Saiba mais...