PyStoreRAT: Malware de Cadeia de Suprimentos Alimentado por IA Alvejando Profissionais de TI e OSINT
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.
Fluxo de Ataque
Detecções
Comportamento Suspeito de Evasão de Defesa LOLBAS MSHTA pela Detecção de Comandos Associados (via process_creation)
Proof of Value
Tarefa Agendada Suspeita (via auditoria)
Proof of Value
Comando e Controle Suspeito por Pedido DNS de Domínio de Primeiro Nível (TLD) Incomum (via dns)
Proof of Value
Execução de Python a partir de Pastas Suspeitas (via linha de comando)
Proof of Value
Execução Suspeita de Mshta Sem Arquivo HTA (via linha de comando)
Proof of Value
Detecção do PyStoreRAT Usando Infraestrutura C2 Circular e Rotativa e Download Dinâmico de Módulos [Conexão de Rede Windows]
Proof of Value
Detecção de Reativação de Conta Inativa do GitHub para Projetos Maliciosos [GitHub – Servidor Web]
Proof of Value
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:
- Reativar uma conta inativa – o adversário usa a interface ou API do GitHub para alterar o status da conta de “inativa” para “ativa”.
- 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”. - 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.
- 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 dereativaçã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 comadmin:orgescopo)# 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