SOC Prime Bias: Crítico

15 Dez 2025 17:42

PyStoreRAT: Malware de Cadeia de Suprimentos Alimentado por IA Alvejando Profissionais de TI e OSINT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
PyStoreRAT: Malware de Cadeia de Suprimentos Alimentado por IA Alvejando Profissionais de TI e OSINT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

A Morphisec descobriu uma operação coordenada de malware que abusa de contas inativas do GitHub para hospedar repositórios gerados por IA, que, em última análise, entregam um backdoor em JavaScript/HTA apelidado de PyStoreRAT. O carregador perfila o host, implanta múltiplas cargas, incluindo o stealer Rhadamanthys, e ajusta dinamicamente seu comportamento quando soluções AV específicas são detectadas. Ele pode se propagar via mídia removível e depende de uma infraestrutura C2 rotativa para atualizar seus módulos. A campanha é direcionada a administradores de TI, analistas de segurança e profissionais de OSINT em todo o mundo.

Investigação

Pesquisadores examinaram os projetos maliciosos no GitHub, isolaram os componentes do backdoor e documentaram toda a cadeia de execução, incluindo a profilagem do sistema, a entrega em estágios das cargas, a evasão de AV, a propagação por unidades removíveis e o carregamento sob demanda de módulos. O relatório descreve ainda a arquitetura circular dos nós C2 que aumenta a resiliência, bem como o uso de strings em russo para validar o local do alvo. A análise vincula o carregador ao stealer Rhadamanthys e destaca sua capacidade de alterar caminhos de inicialização.

Mitigação

A Morphisec aconselha o uso de Defesa de Alvo em Movimento Automatizada para desestabilizar o ambiente de runtime do carregador, bloquear rotas de execução não confiáveis e impedir a implantação de cargas. Como os controles tradicionais baseados em assinatura são ineficazes, os defensores devem confiar em proteções baseadas em comportamento e virtualização. Restringir a execução de scripts de origens não confiáveis e monitorar de perto a atividade de unidades removíveis também são recomendados.

Resposta

Quando é identificada a atividade do PyStoreRAT, isole imediatamente o endpoint impactado, termine o processo do backdoor e remova quaisquer módulos persistentes. Realize análise forense para coletar IOCs, incluindo domínios C2, hashes de arquivos e tarefas agendadas. Corrija software vulnerável, imponha políticas de execução restritas ao menor privilégio e monitore continuamente o GitHub para atividades maliciosas ou suspeitas em repositórios.

“graph TB %% Definições de Classe classDef technique fill:#99ccff %% Definições de Nós technique_supply_chain[“<b>Técnica</b> – <b>T1195.002 Comprometimento da Cadeia de Suprimentos</b><br/><b>Descrição</b>: Compromete um repositório público do GitHub para injetar código malicioso em projetos que as vítimas clonam.<br/><b>Subtécnica</b>: Repositórios maliciosos do GitHub”] class technique_supply_chain technique technique_user_exec[“<b>Técnica</b> – <b>T1204 Execução de Usuário</b><br/><b>Descrição</b>: A vítima executa o projeto gerado por IA que contém a carga maliciosa”] class technique_user_exec technique technique_obfuscation[“<b>Técnica</b> – <b>T1027 Arquivos ou Informações Ofuscados</b><br/><b>Subtécnica</b>: T1027.009 Cargas Embarcadas<br/><b>Descrição</b>: A carga está escondida dentro de arquivos legítimos para evadir a detecção”] class technique_obfuscation technique technique_system_info[“<b>Técnica</b> – <b>T1082 Descoberta de Informações do Sistema</b><br/><b>Descrição</b>: Coletar a versão do sistema operacional, detalhes do hardware e outras informações do host”] class technique_system_info technique technique_software_disc[“<b>Técnica</b> – <b>T1518 Descoberta de Software</b><br/><b>Descrição</b>: Enumerar aplicativos instalados e versões de software”] class technique_software_disc technique technique_c2_https[“<b>Técnica</b> – <b>T1071.001 Protocolos Web</b><br/><b>Descrição</b>: Estabelecer comunicações de comando e controle via HTTPS”] class technique_c2_https technique technique_removable_media[“<b>Técnica</b> – <b>T1092 Comunicação Através de Mídia Removível</b><br/><b>Descrição</b>: Propagar a carga maliciosa para sistemas adicionais via unidades USB”] class technique_removable_media technique %% Conexões technique_supply_chain u002du002d>|leads_to| technique_user_exec technique_user_exec u002du002d>|leads_to| technique_obfuscation technique_obfuscation u002du002d>|leads_to| technique_system_info technique_system_info u002du002d>|leads_to| technique_software_disc technique_software_disc u002du002d>|leads_to| technique_c2_https technique_c2_https u002du002d>|leads_to| technique_removable_media “

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-voo de Telemetria e Linha de Base deve ter sido aprovado.

  • Narrativa do Ataque e Comandos:

    1. Reativar uma conta inativa – o adversário usa a interface ou API do GitHub para alterar o status da conta de “inativa” para “ativa”.
    2. Publicar um repositório malicioso gerado por IA – imediatamente após a reativação, um novo repositório chamado ai‑osint‑toolkit é criado, contendo um README que anuncia “projetos gerados por IA”.
    3. Adicionar um commit de “manutenção” que incorpora o backdoor PyStoreRAT; a mensagem do commit inclui intencionalmente a palavra “manutenção” para satisfazer a regra de detecção.
    4. Enviar o código malicioso – o envio gera um evento de auditoria de envio , mas a regra que estamos testando só monitora a entrada de auditoria de reativação de conta , então o gatilho principal é o log de reativação com a descrição marcada.
  • Script de Teste de Regressão: (Bash usando a CLI do GitHub gh – assume que o ator atacante possui um token de acesso pessoal com admin:org escopo)

     # simulate_attack.sh
      # Pré-requisitos: CLI do gh instalada e autenticada como o invasor
    
      # 1. Reativar conta inativa (simulada por atualização de um campo de usuário)
      gh api -X PATCH /admin/users/attacker_user 
          -f state=active 
          -f note="reativação: projetos gerados por IA; commits de manutenção agendados"
    
      # 2. Criar repositório malicioso
      gh repo create attacker_user/ai-osint-toolkit --public --description "ferramentas de OSINT geradas por IA"
    
      # 3. Adicionar arquivo malicioso (PyStoreRAT) e realizar commit
      cd ai-osint-toolkit
      echo "# Backdoor PyStoreRAT" > pystorerat.py
      git add pystorerat.py
      git commit -m "Commit inicial - commits de manutenção: incorporar backdoor"
      git push origin main
    
      # 4. Opcional: criar um segundo commit de manutenção para imitar atividade no mundo real
      echo "# Atualizar README" >> README.md
      git add README.md
      git commit -m "commit de manutenção: atualizar documentação"
      git push origin main
  • Comandos de Limpeza:

     # cleanup_attack.sh
      # Excluir o repositório malicioso
      gh repo delete attacker_user/ai-osint-toolkit -y
    
      # Opcionalmente, definir a conta do invasor de volta para inativa (se a API permitir)
      gh api -X PATCH /admin/users/attacker_user -f state=dormant