SOC Prime Bias: Crítico

19 Nov 2025 17:21

Táticas do grupo APT41 vs Emulações de Ransomware em AttackIQ Ransom Tales

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Táticas do grupo APT41 vs Emulações de Ransomware em AttackIQ Ransom Tales
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

RESUMO

O artigo descreve o quinto volume da série Ransom Tales da AttackIQ, que recria as táticas, técnicas e procedimentos de três notórias famílias de ransomware–REvil, DarkSide e BlackMatter–em um ambiente de laboratório controlado. Cada emulação abrange fases de execução, persistência, descoberta, evasão de defesa e impacto, permitindo que os defensores pratiquem e validem fluxos de trabalho de detecção e resposta. Os cenários de Ransom Tales ecoam lições da Campanha de Ciberespionagem APT41 enquanto narram comprometimentos de cadeia de suprimentos e o surgimento de ecossistemas de Ransomware-Como-Um-Serviço para equipes azuis e analistas modernos.

Análise do Ataque APT41

A Equipe de Pesquisa de Adversários da AttackIQ analisou relatórios de inteligência de ameaças públicas, amostras de malware e telemetria para construir gráficos de ataque realistas para cada família de ransomware, semelhante a como analistas reconstruíram a atividade do grupo APT41. Eles mapearam os passos observados para técnicas MITRE ATT&CK e criaram fluxos de execução que recuperam cargas, estabelecem persistência, enumeram hosts e criptografam dados. Eles também modelaram como o grupo APT41 lançou uma operação de ciberespionagem contra uma empresa dos EUA para ilustrar o comércio compartilhado.

Mitigação

As recomendações de mitigação enfatizam o acesso estritamente de menor privilégio, desativando serviços desnecessários e aplicando rapidamente patches na infraestrutura, incluindo vulnerabilidades Atlassian Confluence, Apache Struts e GoAhead RCE, bem como falhas do Log4j, como CVE-2021-44228, CVE-2022-26134, CVE-2017-9805 e CVE-2017-17562. As equipes devem restringir o acesso de desktop remoto, monitorar mudanças de registro e de tarefas, e validar backups.

Resposta

Quando a atividade é detectada, os respondedores devem isolar os sistemas afetados, capturar memória volátil, coletar hives de registro e preservar fontes de logs para revisão. Eles devem examinar cópias de sombra, tarefas agendadas e chaves de registro para evidências das técnicas que o grupo APT41 usa, e então restaurar dados a partir de backups. As equipes devem caçar por movimentos laterais, informar as partes interessadas e enriquecer incidentes com inteligência de ameaças.

mermaid graph TB %% Class Definitions classDef action fill:#99ccff classDef builtin fill:#cccccc %% Nodes – Attack Stages node_initial_access[“<b>Acesso Inicial</b> – <b>T1190 Explorar Aplicação Pública</b><br />Técnicas: CVE-2021-4428 (Log4j), CVE-2022-26134 (Confluence), CVE-2017-9805 (Struts), CVE-2017-17562 (GoAhead)”] class node_initial_access action node_execution[“<b>Execução</b> – <b>T1127.001 Execução de Proxy de Utilitários de Desenvolvedor Confiável</b><br />Ferramenta: msbuild.exe executa carga XML maliciosa”] class node_execution action node_persistence[“<b>Persistência & Escalação de Privilégio</b> – <b>T1053 Tarefa/Job Agendado</b><br />Criada tarefa agendada do SISTEMA para lançar msbuild repetidamente”] class node_persistence action node_defev1[“<b>Evasão de Defesa</b> – <b>T1574.002 Carregamento de DLL</b><br />Abusado executável assinado VipreAV (vetysafe.exe) para carregar sbamres.dll malicioso”] class node_defev1 action node_credential[“<b>Acesso a Credenciais</b> – <b>T1003.006 Despejo de Credenciais do OS DCSync</b><br />Colheita de hashes de senha de administrador de domínio via DCSync”] class node_credential action node_discovery[“<b>Descoberta</b> – <b>T1046 Descoberta de Serviço de Rede</b> & <b>T1082 Descoberta de Informações do Sistema</b><br />Digitalizado serviços internos e coletado informações do host”] class node_discovery action node_c2[“<b>Comando e Controle</b> – <b>T1102 Serviço Web</b><br />Tráfego web bidirecional usado para exfiltrar documentos de política”] class node_c2 action node_defev2[“<b>Evasão de Defesa</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b><br />Utilitário Imjpuexc esconde código e realiza resolução dinâmica de API”] class node_defev2 action node_exfil[“<b>Exfiltração</b> – <b>T1048 Exfiltração via Protocolo Alternativo</b><br />Dados transferidos via mesmo canal web usando um protocolo alternativo”] class node_exfil action %% Nodes – Tools tool_msbuild[“<b>Ferramenta</b> – <b>Nome</b>: msbuild.exe<br /><b>Descrição</b>: Microsoft Build Engine usado para compilar e executar XML”] class tool_msbuild builtin tool_vetysafe[“<b>Ferramenta</b> – <b>Nome</b>: vetysafe.exe (VipreAV)<br /><b>Descrição</b>: Executável AV assinado utilizado para carregamento de DLL”] class tool_vetysafe builtin tool_scheduledtask[“<b>Ferramenta</b> – <b>Nome</b>: schtasks.exe<br /><b>Descrição</b>: Utilitário do Windows para criar tarefas agendadas”] class tool_scheduledtask builtin tool_imjpuexc[“<b>Ferramenta</b> – <b>Nome</b>: Imjpuexc<br /><b>Descrição</b>: Utilitário que ofusca cargas e resolve APIs em tempo de execução”] class tool_imjpuexc builtin %% Connections – Attack Flow node_initial_access u002du002d>|exploits| node_execution node_execution u002du002d>|uses| tool_msbuild node_execution u002du002d>|creates| node_persistence node_persistence u002du002d>|uses| tool_scheduledtask node_persistence u002du002d>|leads to| node_defev1 node_defev1 u002du002d>|uses| tool_vetysafe node_defev1 u002du002d>|enables| node_credential node_credential u002du002d>|provides data for| node_discovery node_discovery u002du002d>|supports| node_c2 node_c2 u002du002d>|communicates via| tool_imjpuexc node_defev2 u002du002d>|supports| node_c2 node_c2 u002du002d>|exfiltrates| node_exfil

Fluxo de Ataque

Simulações

Execução de Simulação

Pré-requisito: A Verificação Pré-voo de Telemetria e Base deve ter sido aprovada.

Racional: 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 & Comandos:
    O adversário, emulando o APT41, primeiro compila um backdoor C# malicioso usando msbuild.exe para contornar a lista branca de aplicativos. A carga compilada é então configurada como uma tarefa agendada usando schtasks.exe para alcançar persistência. Ambos os binários são executados a partir de locais não-padrão para emular o comportamento realista do invasor enquanto ainda correspondem à condição de nome de imagem da regra.

  • Script de Teste de Regressão:

  •  

    # Teste de persistência estilo APT41 – PowerShell
    # -------------------------------------------------
    # 1. Prepare a carga maliciosa em C#
    $source = @"
    using System;
    using System.Diagnostics;
    public class Backdoor {
        public static void Main() {
            Process.Start(new ProcessStartInfo {
                FileName = "cmd.exe",
                Arguments = "/c echo Compromised > C:Temppwned.txt",
                CreateNoWindow = true,
                UseShellExecute = false
            });
        }
    }
    "@
    $srcPath = "$env:TEMPbackdoor.cs"
    $projPath = "$env:TEMPbackdoor.csproj"
    $dllPath = "$env:TEMPbackdoor.dll"
    $srcPath | Out-File -Encoding ASCII -Force
    $projContent = @"
    <Project Sdk=`"Microsoft.NET.Sdk`">
      <PropertyGroup>
        <TargetFramework>net48</TargetFramework>
        <OutputType>Library</OutputType>
      </PropertyGroup>
    </Project>
    "@
    $projPath | Out-File -Encoding ASCII -Force
    # 2. Compile DLL maliciosa com msbuild (caminho não-padrão)
    $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe"
    & $msbuildPath $projPath /p:OutDir=$env:TEMP /t:Build /p:Configuration=Release
    # 3. Criar tarefa agendada para executar a DLL via powershell
    $taskName = "SystemUpdater"
    $taskCmd = "powershell -ExecutionPolicy Bypass -File `"$dllPath`""
    $schPath = "$env:SystemRootSystem32schtasks.exe"
    & $schPath /Create /SC ONLOGON /TN $taskName /TR $taskCmd /RL HIGHEST /F
    # 4. Disparar a tarefa imediatamente
    & $schPath /Run /TN $taskName
  • Comandos de Limpeza:

    # Remover tarefa agendada
    $schPath = "$env:SystemRootSystem32schtasks.exe"
    & $schPath /Delete /TN "SystemUpdater" /F
    
    # Deletar arquivos de carga
    Remove-Item -Path "$env:TEMPbackdoor.cs","$env:TEMPbackdoor.csproj","$env:TEMPbackdoor.dll" -Force