Banshee usa criptografia inspirada no XProtect para ocultar roubo de dados no macOS

Banshee usa criptografia inspirada no XProtect para ocultar roubo de dados no macOS

O infostealer para macOS foi distribuído por sites de phishing e repositórios maliciosos, coletando credenciais de navegadores, carteiras de criptomoedas, chaves do sistema e arquivos antes de enviar os dados por HTTP.

ComponenteBanshee Stealer, malware de roubo de informações voltado a usuários de macOS.
VetorDistribuição por sites de phishing, arquivos .dmg, arquivos .zip e repositórios maliciosos no GitHub que imitavam softwares populares ou versões crackeadas.
ImpactoColeta de credenciais de navegadores, extensões de carteiras de criptomoedas, dados de carteiras locais, senhas do chaveiro, informações do sistema e arquivos do usuário, com envio posterior ao servidor de comando e controle.
PrioridadeBloquear instalação de software fora de canais confiáveis, investigar execuções de .dmg suspeitos, revisar artefatos em /tmp, procurar uso anômalo de osascript, tccutil, curl, fork() e conexões HTTP para infraestrutura desconhecida.
ArtefatosAmostras e campanhas usaram nomes como Software_Installation_Tool.v3.2.zip, Setup_V3.2.dmg, Setup_V3.0.dmg, Soft.Install.v1.4.zip, Installer.dmg, Telegram.dmg, além de diretórios como /tmp/$rand10char_dir/Browsers/, /tmp/$rand10char_dir/Wallets/, /tmp/$rand10char_dir/Passwords/ e /tmp/$rand10char_dir/FileGrabber/.
IoCsCampanhas citaram os identificadores 7hsaHicTxe25WLb38j6RTPZfJDmkIB, K1WDRRD8E2dHM7i2WFSHyN4DKG3v7q e KAriWgOCQrqvyRSnPOnaE6UUBWjELA, com C2 hxxp://41[.]216[.]183[.]49/api/send/ e amostra baixada de hxxps://api7[.]cfd/testet123t/Telegram.dmg.
Resumo técnico

O Banshee Stealer é um malware de roubo de informações para macOS que ganhou uma variante mais furtiva após a introdução de criptografia de strings em versões observadas a partir do fim de setembro de 2024. A alteração não mudou substancialmente a finalidade do malware, mas reduziu a exposição de artefatos textuais que antes ficavam visíveis em amostras anteriores. A técnica foi descrita como semelhante ao método usado pelo mecanismo XProtect para proteger regras YARA criptografadas dentro de binários de remediação. No caso do Banshee, a criptografia não tem função defensiva: ela é usada para esconder strings críticas necessárias à execução, aos caminhos de coleta, às rotinas de roubo e à comunicação com infraestrutura controlada pelo operador.

A campanha combina engenharia social, distribuição em repositórios aparentemente legítimos, páginas de phishing e arquivos de instalação para macOS. A cadeia observada inclui arquivos .zip que carregam imagens de disco .dmg, páginas que verificam o User-Agent antes de oferecer o download e repositórios criados antes da fase maliciosa para acumular aparência de legitimidade. Em algumas ondas, o mesmo ecossistema também entregou Lumma Stealer para Windows, enquanto o Banshee era direcionado a macOS. Essa divisão por sistema operacional mostra uma operação voltada a maximizar coleta de credenciais e carteiras em ambientes diferentes, mantendo cargas específicas para cada plataforma.

O risco operacional está na combinação entre roubo local extensivo e baixa fricção de instalação. O malware coleta dados de navegadores, extensões associadas a carteiras de criptomoedas, carteiras locais, senhas do chaveiro, metadados do sistema e arquivos capturados por AppleScript. Depois, consolida o material em diretórios temporários e envia os dados ao servidor de comando e controle por requisição HTTP POST, usando curl. O vazamento do código-fonte em fórum clandestino em 23 de novembro de 2024 elevou a detecção por antivírus, mas também abriu a possibilidade de forks e versões derivadas por outros operadores.

Fluxo técnico

A execução começa com uma etapa de preparação e evasão. A variante atualizada usa fork() para criar processos filhos, o que pode separar a execução do processo inicialmente observado por depuradores. Antes de encerrar o processo pai, o malware executa killall Terminal, ação que fecha sessões de terminal abertas e reduz a chance de o usuário ou analista acompanhar saídas visíveis. O processo filho chama setsid() para iniciar uma sessão própria e se comportar como daemon, tentando se misturar a processos de fundo. Em seguida, outro processo filho é criado, o anterior termina e a execução final verifica se consegue acesso rwx ao diretório raiz. Se essa condição falha, a infecção é interrompida; se passa, o malware fecha stdin, stdout e stderr e redireciona saídas para /dev/null.

Após as verificações, o Banshee obtém os diretórios HOME e TMP e cria um diretório aleatório de dez caracteres dentro de TMP. Esse diretório funciona como área de montagem da coleta. Subpastas separadas armazenam dados de navegadores, carteiras, senhas e arquivos: /tmp/$rand10char_dir/Browsers/, /tmp/$rand10char_dir/Wallets/, /tmp/$rand10char_dir/Passwords/ e /tmp/$rand10char_dir/FileGrabber/. A variante atualizada removeu a checagem de idioma que antes encerrava a execução quando russo era detectado. A ausência dessa barreira amplia a superfície potencial de vítimas em relação a amostras anteriores, embora o contexto observado continue concentrado em campanhas de engenharia social para usuários de macOS.

A coleta de dados de navegador mira credenciais e extensões, com ênfase em extensões relacionadas a carteiras de criptomoedas e também na extensão de autenticação authenticator.cc—Authenticator. A coleta de carteiras locais grava material em Wallets/; senhas do chaveiro são salvas em Passwords/; e informações do sistema são registradas em /tmp/$rand10char_dir/system_info.json, incluindo o identificador de campanha na chave BUILD_ID:. O componente de captura de arquivos usa AppleScript, armazenado em /tmp/$rand13char, e grava a saída em FileGrabber/. Se a execução via AppleScript falha, o malware tenta repetir até 30 vezes, inclusive executando tccutil reset AppleEvents para redefinir permissões relacionadas a AppleEvents.

Depois da coleta, a vítima recebe uma mensagem enganosa por osascript, informando que o sistema não oferece suporte à execução do aplicativo. Essa mensagem reduz suspeitas imediatas ao enquadrar a falha como incompatibilidade do software baixado. A etapa final compacta ou organiza o material no diretório temporário criado no início e envia os dados por HTTP com curl -X POST -H "Content-Type: application/json" --data. A infraestrutura inicial usava servidores com painel em Django; versões posteriores introduziram um servidor de estágio ou relay, primeiro com caminhos definidos em urls.py e depois com implementação em FastAPI, expondo uma opção de POST em / e ocultando o painel administrativo atrás de servidores intermediários.

Superfície afetada

A superfície mais exposta é composta por usuários de macOS que instalam software fora de canais oficiais, especialmente ferramentas crackeadas, instaladores que imitam produtos de edição de imagem e vídeo, aplicativos falsos de comunicação e arquivos distribuídos por páginas de phishing. Os repositórios maliciosos observados no GitHub foram usados para hospedar releases ou redirecionar vítimas a páginas github.io com links para arquivos maliciosos. Em uma primeira onda entre 18 e 21 de outubro, nove repositórios distribuíram arquivos como Software_Installation_Tool.v3.2.zip, contendo Setup_V3.2.dmg, e Setup_V3.0.dmg. Cada repositório recebeu entre 10 e 30 estrelas, aumentando a aparência de legitimidade.

Uma segunda campanha, registrada em torno de 31 de outubro, passou a atender Windows e macOS no mesmo fluxo, com links separados para Lumma Stealer e Banshee Stealer. A campanha de macOS manteve o C2 observado anteriormente e usou o identificador K1WDRRD8E2dHM7i2WFSHyN4DKG3v7q. Uma terceira onda, em torno de 3 de novembro, também mirou Windows e macOS; no lado macOS, Soft.Install.v1.4.zip continha Installer.dmg, com o identificador KAriWgOCQrqvyRSnPOnaE6UUBWjELA. A mesma operação citou C2 hxxp://41[.]216[.]183[.]49/api/send/, enquanto a carga Windows associada usava múltiplos servidores com TLD .site e endpoints hospedados no Steam.

Campanhas posteriores também usaram páginas de phishing que entregavam .dmg apenas para visitantes identificados como macOS pelo User-Agent. Em uma campanha observada em 3 de dezembro, uma página falsa de chat do Telegram entregava Telegram.dmg a partir de hxxps://api7[.]cfd/testet123t/Telegram.dmg. Os arquivos index.html e mobile.html reportavam visitas ao operador por sendNotification.php, enquanto mac.html fornecia o link malicioso. Essa lógica reduz exposição da carga para visitantes de Windows ou Linux e dificulta análise casual feita a partir de ambientes que não emulam o sistema visado.

  • Usuários de macOS que baixam instaladores .dmg e .zip de repositórios, páginas de phishing ou sites que prometem software crackeado.
  • Navegadores, extensões de carteiras, extensão authenticator.cc—Authenticator, carteiras locais, chaveiro do macOS e arquivos acessíveis ao usuário no perfil comprometido.
  • Ambientes em que controles de instalação, reputação de repositórios, bloqueio de scripts e monitoramento de /tmp não são aplicados de forma consistente.
Hunting e telemetria

A detecção deve correlacionar instalação recente de arquivos .dmg com comportamento pós-execução. Indicadores locais incluem criação de diretórios aleatórios em /tmp, presença de subpastas com nomes Browsers, Wallets, Passwords e FileGrabber, execução de osascript para exibir mensagem de erro e uso repetido de tccutil reset AppleEvents. A cadeia também inclui fechamento inesperado do Terminal por killall Terminal, redirecionamento silencioso para /dev/null e execução de curl com POST e cabeçalho Content-Type: application/json. Esses eventos, isoladamente, podem ocorrer em administração legítima, mas a sequência completa após abertura de um .dmg é um sinal forte de comprometimento.

Em endpoint, a busca deve considerar processos filhos criados por um instalador recém-baixado, chamadas a fork() e setsid() seguidas de comportamento de daemon, acesso a diretórios do usuário e leitura de artefatos de navegador e carteira. Em rede, a telemetria deve procurar requisições HTTP de saída para infraestrutura desconhecida imediatamente após a criação de arquivos em /tmp. O C2 hxxp://41[.]216[.]183[.]49/api/send/ e o domínio api7[.]cfd aparecem como artefatos de campanhas específicas e devem ser tratados como indicadores de investigação, não como lista completa da operação. O próprio conjunto observado inclui mais de 26 campanhas com diferentes nomes de software e servidores.

Em ambientes de engenharia e operações, é importante revisar downloads a partir de releases do GitHub que não façam parte de fornecedores conhecidos, especialmente repositórios criados semanas antes da publicação de arquivos binários. O padrão descrito envolve criação inicial de repositórios vazios, amadurecimento por cerca de duas semanas e posterior publicação de arquivos maliciosos. A presença de estrelas não deve ser usada como sinal suficiente de confiança. A análise de páginas de phishing também deve observar ramificações por User-Agent, porque a carga maliciosa pode não aparecer para sistemas que não se identifiquem como macOS.

  • Execução de killall Terminal, osascript, tccutil reset AppleEvents e curl -X POST em sequência após abertura de .dmg ou .zip baixado da internet.
  • Criação de /tmp/$rand10char_dir/ com subpastas Browsers, Wallets, Passwords e FileGrabber, além de /tmp/$rand10char_dir/system_info.json contendo BUILD_ID:.
  • Conexões para hxxp://41[.]216[.]183[.]49/api/send/, downloads de hxxps://api7[.]cfd/testet123t/Telegram.dmg e qualquer envio HTTP de dados JSON a servidores não reconhecidos após execução de instaladores.
  • Repositórios com releases contendo Software_Installation_Tool.v3.2.zip, Setup_V3.2.dmg, Setup_V3.0.dmg, Soft.Install.v1.4.zip, Installer.dmg ou nomes genéricos como Setup, Installer e Update.
Mitigação

A resposta deve começar pela contenção do host e preservação de evidências. Máquinas que executaram instaladores suspeitos devem ser isoladas da rede, com coleta de processos, histórico de downloads, artefatos em /tmp, logs de execução e conexões recentes. Como o malware mira credenciais de navegadores, carteiras, chaves e arquivos do usuário, a simples remoção do binário não encerra o risco. É necessário revogar sessões, trocar senhas usadas no dispositivo afetado, revisar chaves e carteiras acessíveis no macOS e invalidar tokens de aplicações que possam ter sido armazenados no navegador ou em arquivos locais.

A prevenção depende de controles de origem e de execução. Gatekeeper, XProtect e sandboxing reduzem risco, mas não substituem política de instalação e bloqueio de software não confiável. Organizações devem restringir execução de .dmg baixados da internet, inspecionar downloads de releases públicos, impedir instalação de software crackeado e monitorar uso de scripts de automação do macOS. Em endpoints gerenciados, políticas de EDR devem alertar para uso anômalo de tccutil, osascript e curl por processos que não pertencem a ferramentas administrativas conhecidas. Também é recomendável bloquear ou inspecionar tráfego HTTP não criptografado de saída quando usado para envio de dados a servidores externos.

No plano de validação, equipes devem reconstruir a linha do tempo a partir do download do arquivo, execução do .dmg, criação de diretórios temporários, coleta local e comunicação de rede. A investigação precisa diferenciar artefatos de campanhas específicas de comportamento genérico do Banshee, porque o código vazado pode gerar variantes com infraestrutura diferente. Regras YARA e assinaturas baseadas apenas em strings podem perder efetividade quando a criptografia muda; por isso, a defesa deve combinar indicadores estáticos, comportamento de processo, criação de diretórios, chamadas de sistema, comandos de automação e telemetria de rede.

  • Isolar hosts suspeitos, preservar /tmp, histórico de downloads, processos, conexões e arquivos .dmg ou .zip executados.
  • Revogar sessões e rotacionar credenciais, tokens e segredos acessíveis no navegador, no chaveiro do macOS, em arquivos locais e em extensões de autenticação ou carteira.
  • Bloquear instalação de software crackeado e releases não confiáveis, com regras específicas para .dmg, .zip, osascript, tccutil reset AppleEvents, killall Terminal e curl -X POST fora de uso administrativo aprovado.
  • Criar detecções comportamentais para diretórios temporários com Browsers, Wallets, Passwords, FileGrabber e system_info.json contendo BUILD_ID:.

Postar um comentário

0 Comentários