Pesquisadores de cibersegurança revelaram detalhes de um novo infostealer voltado para macOS, escrito em Rust e batizado de AmnesiaStealer, capaz de sequestrar navegadores Chromium para roubar dados de sessão.
O stealer, que atua em múltiplas etapas, é distribuído por meio de uma página falsa de download do GitHub intitulada “Download for macOS”, que afirma ser de um publicador verificado. A página usa uma isca no estilo ClickFix, orientando a vítima a copiar e colar um comando codificado em Base64 no app Terminal do macOS.
A cadeia de ataque leva, por fim, à implantação do AmnesiaStealer por meio de um script dropper hospedado em um servidor remoto, que, segundo a Jamf Threat Labs, executa três estágios distintos.
“O primeiro é um script de shell que faz o download e inicia o payload”, disse o pesquisador de segurança Thijs Xhaflaire em relatório. “O segundo é um infostealer em Rust que coleta Keychain, navegadores, Apple Notes e Telegram. O terceiro é um stream_module, buscado sob comando, que dá ao operador controle interativo e oculto do navegador da vítima.”
O script foi projetado para buscar um arquivo ZIP protegido por senha e se apagar do host. Extraído do arquivo, está o binário Mach-O da primeira etapa, um stealer em Rust que inclui uma configuração criptografada embutida, passível de modificação no nível de build por meio da própria configuração, sem necessidade de alterar o código. Entre os detalhes, estão:
• endpoints de command and control (C2), como “debug.allllowef[.]space/send/”
• ativação ou desativação de um módulo de sequestro da área de transferência, também chamado de clipper, capaz de mirar criptomoedas como Bitcoin, Bitcoin Cash, Ethereum, TRON, Litecoin, Monero, Solana, Ripple e Cosmos (ATOM)
O payload em Rust também faz reconhecimento do host e perfilamento de geolocalização, além de exibir um prompt nativo para capturar a senha do sistema sob o pretexto de um instalador. A senha informada é validada contra o serviço de diretório local via dscl, para garantir que apenas a senha correta seja exfiltrada.
Se a verificação falhar, um ciclo de diálogo é acionado com a mensagem “Senha incorreta. Tente novamente.” até que a senha certa seja inserida. “Um caminho alternativo grava /tmp/tempAppleScript.scpt e invoca osascript se o alerta nativo falhar, mas, no host da Jamf, o caminho nativo funcionou e nenhum prompt do osascript foi exibido”, disse a empresa.
“A senha capturada é então reutilizada ao longo de toda a cadeia. Ela é passada para sudo -S em leituras privilegiadas, enviada para security unlock-keychain -p e gravada em disco em texto simples, tanto no diretório de preparação como pwd quanto no diretório inicial do usuário como ~/.pwd.”
Vale destacar que esse comportamento também foi observado em outra família de stealer para macOS, chamada ClickLock Stealer, que mirou usuários na Europa, América do Norte, Oriente Médio e África por meio de páginas de phishing que empregavam a técnica ClickFix.
Também há um arquivo AppleScript que silencia o áudio do sistema e, em seguida, coleta dados do Apple Notes, sessões do Telegram, Safari, arquivos com determinadas extensões (.txt, .pdf, .rtf, .doc, .wallet, .key, .jpg, .png e .csv) em ~/Desktop, ~/Documents e ~/Download, além do iCloud Keychain usando a senha do sistema capturada.
Outras ações executadas pelo stealer incluem:
• mirar 16 navegadores da família Chromium, incluindo Google Chrome, Brave, Arc e Microsoft Edge, para coletar Cookies, Login Data, Login Data for Account, Web Data, History, Bookmarks, Local State, Preferences e o diretório Extensions
• ler a senha do Chrome Safe Storage no Keychain e usá-la para recuperar chaves mestras que protegem os dados armazenados na pasta de perfil do Chrome
• roubar cookies do Safari com base na versão do macOS, usando uma falha de contorno do TCC (
CVE-2020-9771
) para atingir máquinas com macOS Catalina. A técnica também funciona no macOS 26, mas apenas quando o malware tem Full Disk Access, o que não ocorre nesse caso
• estabelecer persistência por meio de um LaunchDaemon root que se passa pelo serviço de relatório de falhas da Apple
• preparar os dados coletados em um diretório com 25 caracteres alfanuméricos aleatórios em /tmp e, depois, arquivá-los e exfiltrá-los
Além disso, o comando “remote_stream” emitido pelo servidor C2 dispara a primeira etapa do payload para buscar e executar um segundo binário em Rust, da mesma infraestrutura, que permite controle remoto interativo por meio do Chrome DevTools Protocol (CDP).
O módulo é compatível com sete navegadores da família Chromium, entre eles Chrome, Brave, Microsoft Edge, Arc, Opera, Vivaldi e Chromium, e inicia o executável do navegador em modo headless para roubar dados relacionados ao navegador. Ele também cria um canal de retransmissão via WebSocket para aceitar comandos do operador e reportar o status ao mesmo endpoint. Os comandos permitem que o threat actor controle o navegador remotamente e execute pressionamentos de tecla, cliques do mouse, rolagem, navegação e gerenciamento de abas.
Para evitar que as sessões headless sejam identificadas como automação pelos sites visitados pelo malware, o módulo injeta um script que corrige várias APIs de fingerprinting do navegador. Ele não possui persistência própria e é executado sob o payload principal.
“O operador recebe uma transmissão ao vivo da sessão em cerca de 3 fps e pode conduzi-la com um conjunto completo de entradas: teclado, mouse, rolagem, navegação e gerenciamento de abas”, disse a Jamf. “Essas ações são traduzidas em chamadas CDP contra o navegador headless em tempo real. Trata-se de uma sessão oculta de navegador com intervenção manual, não de uma extração automatizada.”
“Na prática, o comando remote_stream transforma o host infectado em um navegador ao vivo, operado pelo atacante, rodando as sessões autenticadas da vítima, o que representa um nível de acesso materialmente diferente da simples coleta de arquivos.”
Embora os objetivos gerais do malware sejam semelhantes aos de outros stealers como Atomic Stealer, MacSync e CrashStealer, três aspectos o diferenciam: uma configuração dirigida por builder, lógica ramificada por versão do sistema operacional que explora contornos do macOS já corrigidos pela Apple e uma segunda etapa de controle remoto que permite aos atacantes roubar cookies do usuário e evitar detecção por meio de um script furtivo que corrige APIs de fingerprinting do navegador.
O nome AmnesiaStealer vem de uma página de login localizada na raiz do host C2 com o nome “Amnesia Panel”. Uma tentativa de login malsucedida retorna uma mensagem de erro em russo, pedindo ao usuário que informe um login ou senha corretos para acessar o painel do operador.
“O AmnesiaStealer busca coletar credenciais, dados do navegador e sessões ao vivo de usuários de macOS, e entrega parte disso melhor do que o restante”, afirmou a Jamf. “Um coletor funcional combinado com uma etapa funcional de sequestro do navegador, envolto em alguns contornos já datados, é o que o torna digno de monitoramento.”
Publicidade
Vibecoding cria 10x mais sistemas, 20x mais vulneráveis. E quem ganha com isso é a galera do hacking ético e pentest. Quer ser pago para invadir sistemas? Então você tem que aprender com a Solyd que são os melhores do Brasil. Saiba mais...