SOC Prime Bias: Médio

07 Abr 2026 17:52

Resoker RAT Usa Telegram para Comando e Controle

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Resoker RAT Usa Telegram para Comando e Controle
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

ResokerRAT é um trojan de acesso remoto recém-identificado que usa a API de Bot do Telegram para comando e controle. Ele persiste através de um valor de registro Run e inclui capacidades para elevar privilégios, capturar capturas de tela, bloquear o Gerenciador de Tarefas e enfraquecer os controles do UAC. Para reduzir a visibilidade, ele executa o PowerShell em uma janela oculta e tenta terminar ferramentas comuns de análise. A detecção pode se concentrar em seu mutex, modificações de registro chave e atividade de C2 baseada no Telegram.

Investigação

A análise do Resoker destaca a criação de mutex, lógica anti-debug e término agressivo de processos visados a utilitários de segurança e análise. O malware define um gancho de teclado, aceita um conjunto definido de comandos enviados pelo Telegram e altera valores de registro para desativar o Gerenciador de Tarefas e relaxar o comportamento do UAC. Payloads subsequentes podem ser recuperados por meio de execução de PowerShell disfarçada, apoiando a expansão modular após o comprometimento inicial.

Mitigação

Monitore o mutex conhecido e alerte sobre alterações de registro ligadas a DisableTaskMgr e chaves relacionadas ao UAC. Restrinja ou bloqueie o acesso de saída a endpoints da API do Telegram, onde possível, e aplique controle de aplicativo para impedir a execução não autorizada de PowerShell. Detecções baseadas em host que sinalizam comportamento de gancho de teclado e atividade suspeita de PowerShell em janela oculta podem reduzir ainda mais o impacto.

Resposta

Se detectado, isole o host, pare o processo malicioso e remova a entrada de persistência da chave Run. Preserve evidências voláteis (valor do mutex, indicadores de bot/C2 do Telegram, telemetria de linha de comando) e realize uma varredura forense completa para payloads adicionais ou persistência. Reverta alterações de registro que afetam o Gerenciador de Tarefas e o UAC, troque as credenciais expostas se houver suspeita de roubo, e re-aplique políticas de execução de menor privilégio para evitar recorrências.

"graph TB %% Class definitions classDef action fill:#ffcc99 classDef technique fill:#99ccff classDef persistence fill:#ffd699 classDef command_and_control fill:#ffdd99 %% Node definitions action_execution["<b>Ação</b> – <b>T1059.001 PowerShell</b>: Executar comando PowerShell oculto via Resoker.exe<br/><b>Técnica</b>: Usar PowerShell para executar comandos"] class action_execution action tech_hide_window["<b>Técnica</b> – <b>T1564.003 Janela Oculta</b>: Executar comando em janela oculta para evitar visibilidade do usuário"] class tech_hide_window technique action_process_enum["<b>Ação</b> – <b>T1057 Descoberta de Processo</b>: Enumerar processos em execução e terminar ferramentas de análise"] class action_process_enum action action_keylogging["<b>Ação</b> – <b>T1056.001 Keylogging</b>: Instalar gancho de teclado de baixo nível global para capturar entrada"] class action_keylogging action persistence_run_key["<b>Persistência</b> – <b>T1037.005 Chaves de Execução no Registro</b>: Criar entrada HKCU Run no registro para auto-início"] class persistence_run_key persistence defense_disable_taskmgr["<b>Técnica</b> – <b>T1562.001 Desativar Gerenciador de Tarefas</b>: Configurar valor do registro DisableTaskMgr para 1"] class defense_disable_taskmgr technique action_screen_capture["<b>Ação</b> – <b>T1113 Captura de Tela</b>: Capturar tela via PowerShell e salvar arquivos PNG"] class action_screen_capture action action_download["<b>Ação</b> – <b>T1059.001 PowerShell</b> e <b>T1202 Execução de Comando Indireto</b>: Baixar arquivos adicionais usando comandos PowerShell ocultos"] class action_download action c2_telegram["<b>Comando e Controle</b> – <b>T1102.002 Serviço Web</b> e <b>T1102.003 Mensagens Unidirecionais</b>: Comunicar com o atacante via API de Bot do Telegram sobre HTTPS"] class c2_telegram command_and_control %% Conexões mostrando o fluxo do ataque action_execution –>|usa| tech_hide_window action_execution –>|desencadeia| action_process_enum action_process_enum –>|termina| action_keylogging action_process_enum –>|estabelece| persistence_run_key persistence_run_key –>|reforça| defense_disable_taskmgr action_process_enum –>|habilita| action_screen_capture action_screen_capture –>|invoca| action_download action_download –>|exfiltra via| c2_telegram "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check Preliminar de Telemetria & Baseline 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 e Comandos do Ataque:
    Um adversário que obteve um ponto de apoio em uma estação de trabalho Windows deseja capturar a área de trabalho do usuário sem gerar sinais visuais. Ele lança o PowerShell com o -WindowStyle Hidden opção, carrega os assemblies .NET System.Windows.Forms and System.Drawing captura a tela principal usando o método CopyFromScreen e grava o bitmap em um arquivo temporário. O comando é elaborado em uma única linha para garantir que a string completa apareça no log do Bloco de Script do PowerShell, correspondendo a todos os quatro seletores de detecção.

  • Script de Teste de Regressão:

    # Captura de tela silenciosa – reproduz a telemetria de detecção
    $psCommand = @"
    Add-Type -AssemblyName System.Windows.Forms
    Add-Type -AssemblyName System.Drawing
    $bounds = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds
    $bitmap = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height
    $graphics = [System.Drawing.Graphics]::FromImage($bitmap)
    $graphics.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size)
    $output = "C:Tempscreenshot.png"
    $bitmap.Save($output, [System.Drawing.Imaging.ImageFormat]::Png)
    Write-Host "Screenshot saved to $output"
    "@
    
    # Executar PowerShell oculto com o comando montado
    powershell -WindowStyle Hidden -Command $psCommand
  • Comandos de Limpeza:

    # Remover a captura de tela e quaisquer objetos residuais
    Remove-Item -Path "C:Tempscreenshot.png" -ErrorAction SilentlyContinue