
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.
| Componente | Banshee Stealer, malware de roubo de informações voltado a usuários de macOS. |
| Vetor | Distribuição por sites de phishing, arquivos .dmg, arquivos .zip e repositórios maliciosos no GitHub que imitavam softwares populares ou versões crackeadas. |
| Impacto | Coleta 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. |
| Prioridade | Bloquear 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. |
| Artefatos | Amostras 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/. |
| IoCs | Campanhas 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. |
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.
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.
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
.dmge.zipde 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
/tmpnão são aplicados de forma consistente.
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 AppleEventsecurl -X POSTem sequência após abertura de.dmgou.zipbaixado da internet. - Criação de
/tmp/$rand10char_dir/com subpastasBrowsers,Wallets,PasswordseFileGrabber, além de/tmp/$rand10char_dir/system_info.jsoncontendoBUILD_ID:. - Conexões para
hxxp://41[.]216[.]183[.]49/api/send/, downloads dehxxps://api7[.]cfd/testet123t/Telegram.dmge 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.dmgou nomes genéricos comoSetup,InstallereUpdate.
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.dmgou.zipexecutados. - 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 Terminalecurl -X POSTfora de uso administrativo aprovado. - Criar detecções comportamentais para diretórios temporários com
Browsers,Wallets,Passwords,FileGrabberesystem_info.jsoncontendoBUILD_ID:.
0 Comentários