Malware Kothamine Aproveita Tailcat para Acesso à Rede Discreto
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Kothamine é um Trojan de acesso remoto (RAT) não documentado distribuído via pacotes maliciosos npm. Ele utiliza a ferramenta de código aberto tailcat do Tailscale para estabelecer canais de comando e controle (C2) criptografados, evitando a inspeção tradicional de rede. O malware apresenta um sistema de plugins modular, permitindo que atacantes estendam capacidades como roubo de dados e controle do sistema.
Investigação
Pesquisadores identificaram Kothamine através da análise de pacotes maliciosos npm como dotnet-runtime-base. A investigação revelou um processo de execução em várias etapas envolvendo um injetor que visa o explorer.exe e usa o tailcat para comunicações resilientes. A análise técnica mostrou o uso de AES-GCM para criptografia de comandos e uma arquitetura de plugins para carregar DLLs adicionais.
Mitigação
Os usuários devem verificar rigorosamente os pacotes npm, verificando o histórico do repositório, os mantenedores e a reputação das dependências antes da instalação. As organizações devem implementar controles rigorosos sobre os ambientes de desenvolvimento e monitorar o uso não autorizado de ferramentas de rede como Tailscale ou tailcat. Recomenda-se também a varredura regular em busca de tarefas agendadas não autorizadas e mudanças de exclusão no Windows Defender.
Resposta
Após a detecção, isole os sistemas afetados para evitar movimentação lateral e exfiltração de dados pelo canal tailcat. Realize uma análise forense de memória no explorer.exe para identificar DLLs de Agentes Kothamine injetadas. Audite listas de exclusão do Windows Defender e tarefas agendadas para mecanismos de persistência, como ‘MicrosoftEdgeUpdateTask’.
Fluxo de Ataque
Detecções
Possibilidade de Execução Através de Linhas de Comandos PowerShell Ocultas (via cmdline)
Possível Descoberta da Configuração de Rede do Sistema (via cmdline)
Possível Execução Pelo Uso de Nome de Script Curto (via cmdline)
Software de Acesso Remoto/ Gestão Alternativa (via process_creation)
Possível Criação de Tarefa Agendada (via powershell)
Mudanças Suspeitas nas Preferências do Windows Defender (via powershell)
Software de Acesso Remoto/ Gestão Alternativa (via sistema)
Software de Acesso Remoto/ Gestão Alternativa (via auditoria)
Detecção de Comunicação com Porta Local do Tailcat de Kothamine [Conexão de Rede do Windows]
Detecção de Malware Kothamine via MicrosoftEdgeUpdateCore e Tailcat [Criação de Processo do Windows]
Execução da Simulação
-
Narrativa & Comandos de Ataque: Um adversário visa estabelecer persistência e evadir a detecção de rede ao implantar o malware Kothamine. Primeiro, o atacante imita um processo de atualização legítimo movendo um payload malicioso para
%APPDATA%MicrosoftEdgeUpdateCore.exe. Para evitar a detecção durante a fase de injeção, o atacante executa um comando do PowerShell com indicadores de janela oculta. Este comando é projetado para chamarVirtualAllocExandCreateRemoteThreadpara injetar código em um processo alvo, facilitando a comunicação C2 criptografada viatailcat.exe. -
Script de Teste de Regressão:
# Script de Simulação Kothamine $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" $maliciousPayload = "C:WindowsSystem32calc.exe" # Usando calc como payload fictício # 1. Simular a entrega do binário malicioso (T1218) Copy-Item $maliciousPayload $targetPath -Force Write-Host "[+] Payload entregue em $targetPath" # 2. Simular a execução do comando de injeção (T1055) # Nota: Estamos simulando as strings da linha de comando que a regra procura. # Como não podemos facilmente chamar 'OpenProcess' de uma string CLI sem script, # simulamos a telemetria da Linha de Comando que seria capturada pelo Sysmon/EDR. $cmd = "powershell -NoP -NonI -W Hidden -Exec Bypass -Command `"`$mem = [Runtime.InteropServices.Marshal]::AllocHGlobal(1024); [Runtime.InteropServices.Marshal]::WriteProcessMemory(...)`"" Start-Process -FilePath $targetPath -ArgumentList $cmd Write-Host "[+] Comando malicioso executado via $targetPath" -
Comandos de Limpeza:
# Limpar os artefatos simulados $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" if (Test-Path $targetPath) { Remove-Item $targetPath -Force Write-Host "[+] Limpo $targetPath" }