Le logiciel malveillant Kothamine exploite Tailcat pour un accès réseau furtif
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Kothamine est un cheval de Troie d’accès à distance (RAT) non documenté distribué via des paquets npm malveillants. Il utilise l’outil open-source tailcat de Tailscale pour établir des canaux de commande et de contrôle (C2) chiffrés, contournant l’inspection traditionnelle du réseau. Le logiciel malveillant dispose d’un système de plugins modulaire permettant aux attaquants d’étendre les capacités telles que le vol de données et le contrôle du système.
Enquête
Les chercheurs ont identifié Kothamine grâce à l’analyse de paquets npm malveillants comme dotnet-runtime-base. L’enquête a révélé un processus d’exécution en plusieurs étapes impliquant un injecteur qui cible explorer.exe et utilise tailcat pour des communications résilientes. L’analyse technique a montré l’utilisation de l’AES-GCM pour le chiffrement des commandes et une architecture de plugin pour le chargement de DLL supplémentaires.
Atténuation
Les utilisateurs doivent rigoureusement vérifier les paquets npm en vérifiant l’historique du dépôt, les mainteneurs et la réputation des dépendances avant l’installation. Les organisations doivent mettre en œuvre des contrôles stricts sur les environnements de développement et surveiller l’utilisation non autorisée d’outils de réseautage comme Tailscale ou tailcat. Il est également recommandé de scanner régulièrement pour détecter les tâches planifiées non autorisées et les modifications des exclusions de Windows Defender.
Réponse
Dès une détection, isolez les systèmes affectés pour prévenir les mouvements latéraux et l’exfiltration de données via le canal tailcat. Effectuez une analyse de la mémoire sur explorer.exe pour identifier les DLLs de l’Agent Kothamine injectées. Auditez les listes d’exclusion de Windows Defender et les tâches planifiées pour les mécanismes de persistance comme ‘MicrosoftEdgeUpdateTask’.
Flux d’Attaque
Détections
Possibilité d’exécution via des lignes de commande PowerShell masquées (via cmdline)
Découverte possible de la configuration réseau système (via cmdline)
Exécution possible par l’utilisation d’un nom de script court (via cmdline)
Logiciel de gestion/accès à distance alternatif (via process_creation)
Création de tâche planifiée possible (via powershell)
Modifications suspectes des préférences de Windows Defender (via powershell)
Logiciel de gestion/accès à distance alternatif (via system)
Logiciel de gestion/accès à distance alternatif (via audit)
Détection de communication locale sur le port de Kothamine Tailcat [Connexion réseau Windows]
Détection de logiciel malveillant Kothamine via MicrosoftEdgeUpdateCore et Tailcat [Création de processus Windows]
Exécution de simulation
-
Narratif de l’attaque et commandes : Un adversaire vise à établir une persistance et à échapper à la détection réseau en déployant le logiciel malveillant Kothamine. Tout d’abord, l’attaquant imite un processus de mise à jour légitime en déplaçant une charge utile malveillante vers
%APPDATA%MicrosoftEdgeUpdateCore.exe. Pour éviter la détection lors de la phase d’injection, l’attaquant exécute une commande PowerShell avec des indicateurs de fenêtre masqués. Cette commande est conçue pour appelerVirtualAllocExandCreateRemoteThreadpour injecter du code dans un processus cible, facilitant la communication chiffrée C2 viatailcat.exe. -
Script de test de régression :
# Script de simulation Kothamine $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" $maliciousPayload = "C:WindowsSystem32calc.exe" # Utilisation de calc comme charge utile factice # 1. Simuler la diffusion du binaire malveillant (T1218) Copy-Item $maliciousPayload $targetPath -Force Write-Host "[+] Charge utile déposée sur $targetPath" # 2. Simuler l'exécution de la commande d'injection (T1055) # Remarque : nous simulons les chaînes de ligne de commande que la règle recherche. # Puisque nous ne pouvons pas facilement appeler 'OpenProcess' à partir d'une chaîne CLI brute sans script, # nous simulons la télémétrie de ligne de commande qui serait capturée par 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 "[+] Commande malveillante exécutée via $targetPath" -
Commandes de nettoyage :
# Nettoyer les artefacts simulés $appData = [System.Environment]::GetFolderPath('ApplicationData') $targetPath = Join-Path $appData "MicrosoftEdgeUpdateCore.exe" if (Test-Path $targetPath) { Remove-Item $targetPath -Force Write-Host "[+] Nettoyage de $targetPath" }