SOC Prime Bias: Crítico

08 Jun 2026 19:33 UTC

GammaSteel: Dentro da Cadeia de Malware em Evolução do Gamaredon

Author Photo
SOC Prime Team linkedin icon Seguir
GammaSteel: Dentro da Cadeia de Malware em Evolução do Gamaredon
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O relatório descreve GammaSteel, uma nova cadeia de intrusão Gamaredon (UAC-0010) construída em torno de um stealer PowerShell sem arquivo. O malware armazena 71 funções criptografadas na chave de registro HKCUPrinters e as protege com o Windows DPAPI. Ele coleta documentos de drives locais, mídia USB e arquivos sendo editados ativamente, em seguida deduplica os dados com MD5 antes de exfiltrá-los para o serviço legítimo compatível com S3 Tebi.io, com fallback para domínios russos codificados. A infraestrutura mais ampla também depende de resolvedores dead-drop hospedados em plataformas públicas como Telegram, Telegra.ph, Write.as, Rentry.co e Mastodon, junto com serviços de DNS dinâmico. A campanha continua a visar ambientes de governo ucraniano e infraestrutura crítica.

Investigação

A Sekoia.io analisou mais de 70 artefatos, reconstruiu o dropper completo do PowerShell e identificou persistência baseada em registro, um mutex, execução de PowerShell agendada e oculta, e um esquema de exfiltração em camadas. Os pesquisadores mapearam a infraestrutura de resolvedores dead-drop, catalogaram 115 endereços IP, quatro domínios e vários conjuntos de credenciais S3, e observaram atualizações automatizadas feitas através de postagens no Mastodon. Eles também notaram semelhanças com a atividade InvisiMole de 2020, particularmente o uso de payloads criptografados com DPAPI armazenados no registro.

Mitigação

As organizações devem monitorar escritas incomuns para HKCUPrinters, criação de processos de PowerShell ocultos, e uso do mutex Globalassembly307 . O tráfego de saída para o endpoint S3 identificado s3.tebi.io e a infraestrutura de fallback, como justsstop.ru and 165.22.170.129 devem ser bloqueados. Os defensores também devem implantar detecções para a string de agente de usuário no estilo iPhone específico e para entradas de Run do Registro que invocam scripts PowerShell.

Resposta

Se a atividade GammaSteel for detectada, isole o host afetado, colete a hive do registro, extraia os payloads protegidos por DPAPI e descriptografe-os usando a chave mestre da vítima, quando possível. Procure no ambiente artefatos relacionados, bloqueie os URLs e domínios de comando e controle identificados, redefina credenciais comprometidas e realize uma análise forense completa para identificar módulos maliciosos adicionais. HKCUPrinters registry hive, extract the DPAPI-protected payloads, and decrypt them using the victim’s master key where possible. Hunt across the environment for related artifacts, block the identified command-and-control URLs and domains, reset any compromised credentials, and perform a full forensic review to identify additional malicious modules.

"graph TB %% Definições de classe classDef technique fill:#e6f7ff classDef process fill:#ffebcc classDef action fill:#c2f0c2 classDef tool fill:#dddddd classDef storage fill:#ffe6e6 classDef network fill:#d9d9ff classDef data fill:#f0e68c %% Nodes u2013 técnicas tech_T1027_009["<b>Técnica</b> – <b>T1027.009 Payloads Embutidos</b><br/>Obfusca payload dentro de outro arquivo"] class tech_T1027_009 technique tech_T1027_007["<b>Técnica</b> – <b>T1027.007 Resolução de API Dinâmica</b><br/>Resolve APIs em tempo de execução para evitar análise estática"] class tech_T1027_007 technique tech_T1027_002["<b>Técnica</b> – <b>T1027.002 Empacotamento de Software</b><br/>Empacota código malicioso para ocultar sua verdadeira natureza"] class tech_T1027_002 technique tech_T1027_013["<b>Técnica</b> – <b>T1027.013 Arquivo Criptografado/Codificado</b><br/>Criptografa dados usando DPAPI antes de armazená-los"] class tech_T1027_013 technique tech_T1547_001["<b>Técnica</b> – <b>T1547.001 Chaves Run do Registro / Pasta de Inicialização</b><br/>Adiciona uma chave Run para alcançar persistência"] class tech_T1547_001 technique tech_T1037_005["<b>Técnica</b> – <b>T1037.005 Itens de Inicialização</b><br/>Usa itens de inicialização para persistência"] class tech_T1037_005 technique tech_T1680["<b>Técnica</b> – <b>T1680 Descoberta de Armazenamento Local</b><br/>Descobre drives locais e perfis de usuário"] class tech_T1680 technique tech_T1135["<b>Técnica</b> – <b>T1135 Descoberta de Compartilhamento de Rede</b><br/>Encontra locais de rede compartilhados"] class tech_T1135 technique tech_T1006["<b>Técnica</b> – <b>T1006 Acesso Direto ao Volume</b><br/>Acessa mídia removível diretamente"] class tech_T1006 technique tech_T1025["<b>Técnica</b> – <b>T1025 Dados de Mídia Removível</b><br/>Coleta dados de dispositivos USB"] class tech_T1025 technique tech_T1564_005["<b>Técnica</b> – <b>T1564.005 Sistema de Arquivos Oculto</b><br/>Armazena arquivos em locais ocultos"] class tech_T1564_005 technique tech_T1005["<b>Técnica</b> – <b>T1005 Dados do Sistema Local</b><br/>Coleta arquivos da máquina local"] class tech_T1005 technique tech_T1537["<b>Técnica</b> – <b>T1537 Transferência de Dados para Conta em Nuvem</b><br/>Carrega dados roubados para armazenamento em nuvem"] class tech_T1537 technique tech_T1538["<b>Técnica</b> – <b>T1538 Painel de Serviço em Nuvem</b><br/>Usa interfaces de serviço em nuvem para exfiltração de dados"] class tech_T1538 technique tech_T1102_001["<b>Técnica</b> – <b>T1102.001 Serviço Web: Resolvedor Dead Drop</b><br/>Recupera comandos e configuração de serviços web públicos"] class tech_T1102_001 technique tech_T1620["<b>Técnica</b> – <b>T1620 Carregamento de Código Refletivo</b><br/>Carrega e executa código recebido em tempo de execução"] class tech_T1620 technique %% Nodes u2013 ações e componentes malware_dropper["<b>Malware</b> – <b>Nome</b>: Dropper Inicial<br/><b>Descrição</b>: Executa script PowerShell ofuscado"] class malware_dropper process process_powershell["<b>Processo</b> – <b>Nome</b>: PowerShell<br/><b>Função</b>: Executa script codificado"] class process_powershell process storage_dpapi["<b>Armazenamento</b> – <b>Localização</b>: HKCUPrinters<br/><b>Conteúdo</b>: 71 funções criptografadas com DPAPI"] class storage_dpapi storage persistence_runkey["<b>Ação</b> – <b>Persistência</b>: Chave Run do Registro<br/><b>Chave</b>: HKCUSoftwareMicrosoftWindowsCurrentVersionRun"] class persistence_runkey action process_hidden_ps["<b>Processo</b> – <b>Nome</b>: PowerShell Oculto<br/><b>Finalidade</b>: Lê orquestrador do registro"] class process_hidden_ps process orchestrator["<b>Ação</b> – <b>Orquestrador</b>: Enumera recursos e coordena coleta"] class orchestrator action enumeration["<b>Ação</b> – <b>Enumeração</b>: Drives, perfis, compartilhamentos de rede"] class enumeration action collection["<b>Ação</b> – <b>Coleta</b>: Reúne arquivos de locais locais e de rede"] class collection action monitor_usb["<b>Ação</b> – <b>Monitoramento USB</b>: Assinatura de evento WMI para mídia removível"] class monitor_usb action staging_folder["<b>Armazenamento</b> – <b>Pasta Oculta</b>: Área de preparação para arquivos copiados"] class staging_folder storage fs_watcher["<b>Processo</b> – <b>Nome</b>: FileSystemWatcher<br/><b>Função</b>: Monitora mudanças em drives não-USB"] class fs_watcher process deduplication["<b>Ação</b> – <b>Deduplicação</b>: Remove arquivos duplicados antes da exfiltração"] class deduplication action upload_s3["<b>Ação</b> – <b>Upload</b>: Envia dados para bucket compatível com S3 (tebi.io)"] class upload_s3 network fallback_post["<b>Ação</b> – <b>Exfiltração de Fallback</b>: POST para domínios C2 imitando UA de iPhone"] class fallback_post network dead_drop["<b>Ação</b> – <b>Resolvedor Dead Drop</b>: Recupera configuração do Telegram, Telegra.ph, Write.as, Rentry.co, Mastodon"] class dead_drop action vbscript_backdoor["<b>Ação</b> – <b>Backdoor Secundário</b>: Executa VBScript arbitrário de resposta HTTP"] class vbscript_backdoor action %% Conexões u2013 fluxo malware_dropper –>|usa| tech_T1027_009 malware_dropper –>|usa| tech_T1027_007 malware_dropper –>|usa| tech_T1027_002 malware_dropper –>|armazena dados criptografados| tech_T1027_013 malware_dropper –>|lança| process_powershell process_powershell –>|escreve funções criptografadas para| storage_dpapi storage_dpapi –>|habilita| persistence_runkey persistence_runkey –>|cria| tech_T1547_001 persistence_runkey –>|cria| tech_T1037_005 persistence_runkey –>|inicia| process_hidden_ps process_hidden_ps –>|carrega orquestrador do registro| orchestrator orchestrator –>|executa| enumeration enumeration –>|cobre| tech_T1680 enumeration –>|cobre| tech_T1135 orchestrator –>|coleta dados usando| collection collection –>|usa| tech_T1005 collection –>|inclui mídia removível via| tech_T1025 collection –>|inclui acesso direto ao volume via| tech_T1006 collection –>|dispara| monitor_usb monitor_usb –>|copia arquivos para| staging_folder staging_folder –>|é ocultado por| tech_T1564_005 staging_folder –>|monitora| fs_watcher fs_watcher –>|detecta mudanças e dispara| deduplication deduplication –>|carrega para nuvem via| upload_s3 upload_s3 –>|depende de| tech_T1537 upload_s3 –>|fallback para| fallback_post fallback_post –>|depende de| tech_T1538 orchestrator –>|recebe atualizações de| dead_drop dead_drop –>|usa| tech_T1102_001 dead_drop –>|entrega| vbscript_backdoor vbscript_backdoor –>|aproveita| tech_T1620 %% Atribuições de estilo class malware_dropper,process_powershell,process_hidden_ps,fs_watcher,orchestrator,monitor_usb,vbscript_backdoor builtin class storage_dpapi,staging_folder builtin class persistence_runkey,enumeration,collection,deduplication,upload_s3,fallback_post,dead_drop action class tech_T1027_009,tech_T1027_007,tech_T1027_002,tech_T1027_013,tech_T1547_001,tech_T1037_005,tech_T1680,tech_T1135,tech_T1006,tech_T1025,tech_T1564_005,tech_T1005,tech_T1537,tech_T1538,tech_T1102_001,tech_T1620 technique "

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.

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 do Ataque e Comandos:
    O atacante, tendo comprometido uma conta de usuário de baixo privilégio, quer fazer o staging de um payload PowerShell criptografado sem tocar no sistema de arquivos. Eles escrevem o payload codificado em Base64 na chave Run para que ele execute no próximo logon. Para evitar a exclusão única da regra, eles deliberadamente usam uma sub-chave sob HKCUPrinters que é not o valor excluído, imitando o padrão “printer-staging” observado em amostras do Gamaredon.

  • Script de Teste de Regressão:

    # --------------------------------------------------------------
    # Simular Staging de Registro PowerShell Gamaredon (TC-20260608-A1B2C)
    # --------------------------------------------------------------
    
    # 1. Defina um comando PowerShell codificado em Base64, inofensivo (por exemplo, escreva um arquivo)
    $payload = 'Write-Host "Simulação de Gamaredon executada"' 
    $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    
    # 2. Persistir o payload via chave Run (persistência)
    $runKey = 'HKCU:SOFTWAREMicrosoftWindowsCurrentVersionRun'
    New-ItemProperty -Path $runKey -Name 'GamaredonStager' -Value "powershell -enc $b64" -PropertyType String -Force
    
    # 3. Fazer o mesmo staging do payload em uma chave “printer” (staging sem arquivo)
    $printerKey = 'HKCU:PrintersYxwHku2chu0bznt3kkyAD'  # Nota: sufixo diferente para evitar exclusão
    New-Item -Path $printerKey -Force | Out-Null
    Set-ItemProperty -Path $printerKey -Name 'EncryptedPS' -Value $b64 -Force
    
    Write-Host "Simulação completa – entradas de registro criadas."
  • Comandos de Limpeza:

    # Remover entrada de chave Run
    Remove-ItemProperty -Path 'HKCU:SOFTWAREMicrosoftWindowsCurrentVersionRun' -Name 'GamaredonStager' -ErrorAction SilentlyContinue
    
    # Remover chave de staging da impressora
    Remove-Item -Path 'HKCU:PrintersYxwHku2chu0bznt3kkyAD' -Recurse -Force -ErrorAction SilentlyContinue
    
    Write-Host "Limpeza completa – artefatos de registro removidos."