SOC Prime Bias: Crítico

13 Mai 2026 22:13

Malware Encontrado no Repositório Popular do Hugging Face

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Malware Encontrado no Repositório Popular do Hugging Face
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Pesquisadores da HiddenLayer descobriram código malicioso hospedado no repositório Open-OSS/privacy-filter no Hugging Face, que imita um projeto legítimo da OpenAI. O repositório continha um script loader.py que buscava um comando PowerShell de jsonkeeper.com, o qual baixava um arquivo de lote de segunda etapa e um infostealer baseado em Rust. A carga útil exfiltra credenciais, dados do navegador, arquivos de carteiras de criptomoedas e capturas de tela, depois se autodeleta após a execução de uma tarefa agendada única.

Investigação

A análise identificou seis etapas desde a isca inicial até o infostealer final em Rust, incluindo uma execução oculta de PowerShell, um downloader que recupera o update.bat do api.eth-fastscan.org, e um arquivo de lote que cria um script runner temporário e uma tarefa agendada transitória. Foi observada atividade de tráfego na rede para um domínio C2 recargapopular.com e um domínio relacionado welovechinatown.info. Foram encontrados vários repositórios do Hugging Face sob o usuário anthfu reutilizando o mesmo loader e URL do C2.

Mitigação

Bloqueie os domínios e URLs maliciosos listados no perímetro da rede e desative a execução de scripts PowerShell não assinados nos endpoints. Remova quaisquer arquivos baixados dos repositórios comprometidos e revogue quaisquer credenciais que possam ter sido coletadas. Implemente monitoramento rigoroso para a criação de tarefas agendadas suspeitas e para linhas de comando PowerShell anormais.

Resposta

Isole qualquer host que executo o loader ou start.bat, tratando-o como completamente comprometido e reconstruindo o sistema. Rode todas as senhas armazenadas, cookies de sessão, tokens OAuth e credenciais de carteira de criptomoedas. Procure conexões históricas com os domínios maliciosos e a presença dos caminhos de arquivos e nomes de tarefas agendadas indicados.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffcc99 classDef process fill:#ff9966 classDef malware fill:#ff6666 classDef credential fill:#ccffcc classDef exfil fill:#c0c0c0 classDef operator fill:#ff9900 %% Node definitions malicious_repo["<b>Recurso</b> – <b>Repositório Hugging Face</b><br/>Contém start.bat malicioso e loader.py"] class malicious_repo file action_user_execution_link["<b>Ação</b> – <b>T1204.001 Execução de Usuário: Link Malicioso</b><br/>A vítima clica em um link para o repositório malicioso"] class action_user_execution_link action file_start_bat["<b>Arquivo</b> – start.bat<br/>Script de lote invocado pela vítima"] class file_start_bat file file_loader_py["<b>Arquivo</b> – loader.py<br/>Carregador Python que verifica somas de verificação e desativa a verificação SSL"] class file_loader_py file action_user_execution_file["<b>Ação</b> – <b>T1204.002 Execução de Usuário: Arquivo Malicioso</b><br/>A vítima executa loader.py"] class action_user_execution_file action action_proxy_execution["<b>Ação</b> – <b>T1127 Execução de Utilitários Confiáveis de Desenvolvedor Proxy</b><br/>loader.py lança PowerShell com bypass e janela oculta"] class action_proxy_execution action process_powershell["<b>Processo</b> – PowerShell<br/>Executa linha de comando remota"] class process_powershell process action_taint_shared_content["<b>Ação</b> – <b>T1080 Contaminação de Conteúdo Compartilhado</b><br/>PowerShell oneu2011liner baixa update.bat do api.ethu2011fastscan.org"] class action_taint_shared_content action file_update_bat["<b>Arquivo</b> – update.bat<br/>Script de lote que adiciona exclusões do Defender e cria tarefa agendada"] class file_update_bat file action_hide_artifacts["<b>Ação</b> – <b>T1564.012 Esconder Artefatos: Exclusões de Arquivo/Caminho</b><br/>Adiciona exclusões do Microsoft Defender para arquivos de carga útil"] class action_hide_artifacts action action_hijack_execution["<b>Ação</b> – <b>T1574 Sequestro de Fluxo de Execução</b><br/>Cria tarefa agendada única MicrosoftEdgeUpdateTaskCore para executar a carga útil como SYSTEM"] class action_hijack_execution action process_scheduled_task["<b>Processo</b> – Tarefa Agendada<br/>Executa a carga útil Rust com privilégios de SYSTEM"] class process_scheduled_task process malware_rust_payload["<b>Malware</b> – Carga Útil Rust<br/>Executa verificações antiu2011análise e desativa AMSI/ETW"] class malware_rust_payload malware action_credential_collection["<b>Ação</b> – <b>T1555 Credenciais de Armazenamentos de Senhas</b><br/>Infostealer extrai credenciais de Chromium, Firefox, Discord e carteira"] class action_credential_collection credential action_credential_files["<b>Ação</b> – <b>T1552.001 Credenciais Não Seguras: Credenciais Em Arquivos</b><br/>Coleta arquivos de sementes de SSH, FTP, VPN e carteira"] class action_credential_files credential action_os_credential_dump["<b>Ação</b> – <b>T1003 Despejo de Credenciais do Sistema Operacional</b><br/>Recupera chaves de navegador criptografadas"] class action_os_credential_dump credential action_screen_capture["<b>Ação</b> – <b>T1113 Captura de Tela</b><br/>Captura capturas de tela de múltiplos monitores"] class action_screen_capture malware action_data_encoding["<b>Ação</b> – <b>T1132 Codificação de Dados</b><br/>Pacote de dados em JSON compactado gzip"] class action_data_encoding malware action_exfiltration["<b>Ação</b> – <b>T1567.002 Exfiltração por Serviço Web</b><br/>Posta dados codificados via HTTPS para recargapopular.com"] class action_exfiltration exfil %% Connections malicious_repo –>|contain| file_start_bat malicious_repo –>|contain| file_loader_py action_user_execution_link –>|leads_to| file_start_bat action_user_execution_link –>|leads_to| file_loader_py file_start_bat –>|executado_por| action_user_execution_file file_loader_py –>|executado_por| action_user_execution_file action_user_execution_file –>|trigger| action_proxy_execution action_proxy_execution –>|launch| process_powershell process_powershell –>|baixa| file_update_bat file_update_bat –>|executa| action_hide_artifacts action_hide_artifacts –>|cria| action_hijack_execution action_hijack_execution –>|spawns| process_scheduled_task process_scheduled_task –>|executa| malware_rust_payload malware_rust_payload –>|realiza| action_credential_collection malware_rust_payload –>|realiza| action_credential_files malware_rust_payload –>|realiza| action_os_credential_dump malware_rust_payload –>|realiza| action_screen_capture malware_rust_payload –>|codifica| action_data_encoding action_data_encoding –>|exfiltrates| action_exfiltration "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Verificação de Pré-voo de Telemetria e Linha de Base deve ter passado.

Racional: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos errôneos.

  • Narrativa e Comandos do Ataque:
    O atacante obteve acesso a uma estação de trabalho Windows e deseja executar uma carga útil maliciosa com direitos elevados enquanto permanece invisível para o usuário. Eles:

    1. Cria um one-liner PowerShell que gera um shell CMD oculto (/k) e imediatamente o eleva usando Start-Process -Verb RunAs.
    2. Executa este one-liner de uma sessão existente do PowerShell, garantindo que a árvore de processos contenha um instância oculta do PowerShell and uma instância CMD lançada com /k.
    3. O CMD elevado pode então ser usado para baixar e executar a carga útil final.
  • Script de Teste de Regressão:

    # ---------------------------------------------------------
    # Script do adversário simulado – PowerShell oculto + CMD RunAs
    # ---------------------------------------------------------
    $maliciousCmd = "cmd.exe /k echo Atacante elevou && ping -n 5 127.0.0.1"
    $psCommand   = "-ExecutionPolicy Bypass -WindowStyle Hidden -Command `"Start-Process -FilePath 'powershell.exe' -ArgumentList `"$maliciousCmd`" -Verb RunAs`""
    # Inicia PowerShell oculto que por sua vez executa o CMD elevado
    Start-Process -FilePath "powershell.exe" -ArgumentList $psCommand -WindowStyle Hidden
  • Comandos de Limpeza:

    # Termina quaisquer processos CMD elevados remanescentes gerados pelo teste
    Get-Process -Name "cmd" -ErrorAction SilentlyContinue | Where-Object {
        $_.StartInfo.Arguments -match "/k echo Atacante elevou"
    } | Stop-Process -Force
    
    # Opcionalmente remove qualquer arquivo temporário, se criado (nenhum neste simples demo)