Kothamine Malware se Aprovecha de Tailcat para Acceso a Redes Sutil
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Kothamine es un troyano de acceso remoto (RAT) no documentado, distribuido a través de paquetes npm maliciosos. Utiliza la herramienta de código abierto tailcat de Tailscale para establecer canales de comando y control (C2) cifrados, evitando la inspección tradicional de redes. El malware cuenta con un sistema de plugins modulares que permite a los atacantes ampliar capacidades como el robo de datos y el control del sistema.
Investigación
Los investigadores identificaron Kothamine a través del análisis de paquetes npm maliciosos como dotnet-runtime-base. La investigación reveló un proceso de ejecución en varias etapas que involucra un inyector que apunta a explorer.exe y utiliza tailcat para comunicaciones resilientes. El análisis técnico mostró el uso de AES-GCM para el cifrado de comandos y una arquitectura de plugins para cargar DLLs adicionales.
Mitigación
Los usuarios deben verificar rigurosamente los paquetes npm revisando el historial del repositorio, los mantenedores y la reputación de las dependencias antes de la instalación. Las organizaciones deben implementar controles estrictos sobre los entornos de desarrolladores y monitorear el uso no autorizado de herramientas de red como Tailscale o tailcat. También se recomienda el escaneo regular para detectar tareas programadas no autorizadas y cambios en las exclusiones de Windows Defender.
Respuesta
Tras la detección, aísle los sistemas afectados para prevenir el movimiento lateral y la exfiltración de datos a través del canal tailcat. Realice análisis de memoria en explorer.exe para identificar DLLs Kothamine Agent inyectadas. Audite las listas de exclusión de Windows Defender y las tareas programadas en busca de mecanismos de persistencia como ‘MicrosoftEdgeUpdateTask’.
Flujo de Ataque
Detecciones
La Posibilidad de Ejecución a Través de Líneas de Comando PowerShell Ocultas (via cmdline)
Posible Descubrimiento de Configuración de Red del Sistema (via cmdline)
Posible Ejecución mediante el Uso de Nombre Corto de Script (via cmdline)
Software de Acceso Remoto / Gestión Alternativa (via process_creation)
Creación Posible de Tareas Programadas (via powershell)
Cambios Sospechosos en Preferencias de Windows Defender (via powershell)
Software de Acceso Remoto / Gestión Alternativa (via system)
Software de Acceso Remoto / Gestión Alternativa (via audit)
Detección de Comunicación de Puerto Local de Kothamine Tailcat [Conexión de Red de Windows]
Detección de Malware Kothamine a través de MicrosoftEdgeUpdateCore y Tailcat [Creación de Proceso de Windows]
Ejecución de Simulación
-
Narrativa del Ataque & Comandos: Un adversario busca establecer persistencia y evadir la detección de redes desplegando el malware Kothamine. Primero, el atacante imita un proceso de actualización legítimo moviendo un payload malicioso a
%APPDATA%MicrosoftEdgeUpdateCore.exe. Para evitar la detección durante la fase de inyección, el atacante ejecuta un comando de PowerShell con banderas de ventana oculta. Este comando está diseñado para llamar aVirtualAllocExandCreateRemoteThreadpara inyectar código en un proceso objetivo, facilitando la comunicación C2 cifrada a través detailcat.exe. -
Script de Prueba de Regresión:
# Script de Simulación de Kothamine $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" $maliciousPayload = "C:WindowsSystem32calc.exe" # Utilizando calc como un payload dummy # 1. Simular la descarga del binario malicioso (T1218) Copy-Item $maliciousPayload $targetPath -Force Write-Host "[+] Payload descargado en $targetPath" # 2. Simular la ejecución del comando de inyección (T1055) # Nota: Estamos simulando las cadenas de línea de comando que la regla busca. # Como no podemos llamar fácilmente a 'OpenProcess' desde una cadena CLI sin un script, # simulamos la telemetría de Línea de Comando que sería capturada por 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 ejecutado vía $targetPath" -
Comandos de Limpieza:
# Limpiar los artefactos simulados $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" if (Test-Path $targetPath) { Remove-Item $targetPath -Force Write-Host "[+] Limpiado $targetPath" }