Il Malware Kothamine Sfrutta Tailcat per Un Accesso Rete Nascosto
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Kothamine è un Trojan di accesso remoto non documentato (RAT) distribuito tramite pacchetti npm malevoli. Utilizza lo strumento open-source tailcat di Tailscale per stabilire canali di comando e controllo (C2) criptati, bypassando l’ispezione tradizionale della rete. Il malware presenta un sistema di plugin modulare che consente agli attaccanti di estendere funzionalità come il furto di dati e il controllo del sistema.
Indagine
I ricercatori hanno identificato Kothamine tramite l’analisi di pacchetti npm malevoli come dotnet-runtime-base. L’indagine ha rivelato un processo di esecuzione multistadio che coinvolge un iniettore che prende di mira explorer.exe e utilizza tailcat per comunicazioni resilienti. L’analisi tecnica ha mostrato l’uso di AES-GCM per la crittografia dei comandi e un’architettura a plugin per il caricamento di DLL aggiuntive.
Mitigazione
Gli utenti dovrebbero rigorosamente controllare i pacchetti npm verificando la storia del repository, i manutentori e la reputazione delle dipendenze prima dell’installazione. Le organizzazioni dovrebbero implementare controlli rigorosi sugli ambienti di sviluppo e monitorare l’uso non autorizzato di strumenti di rete come Tailscale o tailcat. Si consiglia anche la scansione regolare per compiti programmati non autorizzati e cambiamenti delle esclusioni di Windows Defender.
Risposta
Dopo il rilevamento, isolare i sistemi affetti per prevenire il movimento laterale e l’esfiltrazione dei dati tramite il canale tailcat. Eseguire analisi di memoria su explorer.exe per identificare le DLL di Kothamine Agent iniettate. Effettuare un audit delle liste di esclusione di Windows Defender e dei compiti programmati per meccanismi di persistenza come ‘MicrosoftEdgeUpdateTask’.
Flusso di Attacco
Rilevamenti
Possibilità di esecuzione tramite linee di comando PowerShell nascoste (via cmdline)
Possibile scoperta della configurazione di rete del sistema (via cmdline)
Possibile esecuzione mediante l’uso di nomi di script brevi (via cmdline)
Software di Accesso Remoto / Gestione Alternativo (via creazione_processi)
Possibile creazione di un compito programmato (via powershell)
Modifiche sospette delle preferenze di Windows Defender (via powershell)
Software di Accesso Remoto / Gestione Alternativo (via sistema)
Software di Accesso Remoto / Gestione Alternativo (via audit)
Rilevamento della comunicazione su porta locale di Kothamine Tailcat [Connessione di Rete Windows]
Rilevamento di Malware Kothamine tramite MicrosoftEdgeUpdateCore e Tailcat [Creazione Processo Windows]
Esecuzione di Simulazione
-
Narrazione dell’attacco & Commissi: Un avversario mira a stabilire la persistenza e a evitare il rilevamento di rete implementando il malware Kothamine. Prima, l’attaccante imita un processo di aggiornamento legittimo spostando un payload malevolo su
%APPDATA%MicrosoftEdgeUpdateCore.exe. Per evitare il rilevamento durante la fase di iniezione, l’attaccante esegue un comando PowerShell con finestre nascoste. Questo comando è progettato per chiamareVirtualAllocExandCreateRemoteThreadper iniettare codice in un processo di destinazione, facilitando la comunicazione C2 crittografata tramitetailcat.exe. -
Script di Test di Regressione:
# Script di Simulazione di Kothamine $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" $maliciousPayload = "C:WindowsSystem32calc.exe" # Usando calc come payload fittizio # 1. Simulare la caduta del binario malevolo (T1218) Copy-Item $maliciousPayload $targetPath -Force Write-Host "[+] Payload rilasciato su $targetPath" # 2. Simulare l'esecuzione del comando di iniezione (T1055) # Nota: Stiamo simulando le stringhe della riga di comando che la regola cerca. # Dato che non possiamo chiamare facilmente 'OpenProcess' da una stringa CLI grezza senza uno script, # simuliamo la telemetria della Riga di Comando che verrebbe catturata da 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 malevolo eseguito tramite $targetPath" -
Comandi di Pulizia:
# Pulizia degli artefatti simulati $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" if (Test-Path $targetPath) { Remove-Item $targetPath -Force Write-Host "[+] Pulizia di $targetPath completata" }