SOC Prime Bias: Médio

28 Jan 2026 11:56

Um Arsenal Compartilhado: Identificando TTPs Comuns em RATs

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Um Arsenal Compartilhado: Identificando TTPs Comuns em RATs
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Uma publicação da Splunk revisa como muitas famílias de trojans de acesso remoto e ladrões convergem no mesmo conjunto básico de técnicas MITRE ATT&CK. Destaca comportamentos repetitivos como transferência de ferramentas de entrada, descoberta de host e rede, persistência de registro e de tarefas agendadas, evasão de defesa e roubo de credenciais. Ao mesmo tempo, observa pequenas diferenças de implementação que ainda podem ajudar a separar famílias durante a triagem. Esta abordagem apoia uma caça mais consistente entre famílias.

Investigação

A equipe mapeou cerca de dezoito famílias de malware para ATT&CK, resumiu os TTPs sobrepostos e incluiu fragmentos de código práticos cobrindo persistência, manipulação de token e uso de serviços web. Exemplos abrangem consultas WMI, escritas em Run-key, criação de schtasks e comandos PowerShell que adicionam exclusões ao Windows Defender.

Mitigação

A orientação prioriza detecções centradas em técnicas em vez de nomes de famílias: observe o abuso de utilitários comuns (schtasks, reg, WMI), restrinja o tráfego de serviços web de saída e endureça os controles de acesso a credenciais. Também recomenda apertar as políticas de exclusão do Windows Defender e alertar sobre mudanças de privilégios de token.

Resposta

Quando essas técnicas são detectadas, isole o endpoint, colete artefatos chave (hives de registro, definições de tarefas agendadas, logs de linha de comando) e busque IOCs relacionados em todo o patrimônio. Remova a persistência, aplique bloqueios baseados em indicadores para domínios e hashes conhecidos, e expanda as detecções para cobrir os comportamentos compartilhados.

Fluxo de Ataque

Ainda estamos atualizando esta parte. Inscreva-se para ser notificado

Notifique-me

Execução de Simulação

Pré-requisito: O Check Preliminar de Telemetria e Linha de Base deve ter passado.

Justificação: Esta seção detalha a execução precisa da técnica do adversário (TTP) concebida 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 e Comandos de Ataque:

    1. Reconhecimento: O atacante enumera a versão do SO para verificar se o alvo é uma máquina Windows capaz de usar Run‑keys.
    2. Preparação da Carga Útil: Um executável de teste inofensivo (notepad.exe) é escolhido para evitar impacto malicioso real ao mesmo tempo que representa uma carga útil de persistência típica.
    3. Implante de Persistência: Usando reg.exe, o atacante escreve um novo valor de string nomeado ProvingMalware sob HKCUSoftwareMicrosoftWindowsCurrentVersionRun, apontando para C:WindowsSystem32notepad.exe. Isso gera o EventID 4657 com o caminho do Run‑key, satisfazendo a regra de detecção.
    4. Verificação: O atacante consulta o registro para confirmar que o valor existe.
  • Script de Teste de Regressão:

    # -------------------------------------------------
    # Provando – Simulação de Persistência de Run‑Key de Registro
    # -------------------------------------------------
    try {
        # 1. Verifique se o SO é Windows
        if (-not $IsWindows) {
            throw "Script can only run on Windows."
        }
    
        # 2. Defina o caminho do Run‑key e a carga útil maliciosa
        $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
        $valueName = "ProvingMalware"
        $payloadPath = "$env:SystemRootSystem32notepad.exe"
    
        # 3. Escreva o Run‑key malicioso (isso aciona o EventID 4657)
        New-ItemProperty -Path $runKey -Name $valueName -Value $payloadPath -PropertyType String -Force |
            Out-Null
    
        Write-Host "[+] Run‑key $valueName added under $runKey pointing to $payloadPath"
    }
    catch {
        Write-Error "[!] $($_.Exception.Message)"
    }
  • Comandos de Limpeza:

    # Remova o valor de persistência simulado
    $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $valueName = "ProvingMalware"
    if (Test-Path "$runKey") {
        Remove-ItemProperty -Path $runKey -Name $valueName -ErrorAction SilentlyContinue
        Write-Host "[+] Cleaned up Run‑key $valueName"
    }