WMIとは?サイバー攻撃に悪用される仕組みと対策を解説|サイバーセキュリティ.com

WMIとは?サイバー攻撃に悪用される仕組みと対策を解説



WMI(Windows Management Instrumentation)は、Microsoftが提供するWindowsシステム管理のためのインフラストラクチャです。システム情報の取得やリモート管理、イベント監視など幅広い機能を持つ一方、その強力さゆえに攻撃者にも悪用されやすい存在です。

本記事では、WMIの仕組みと活用例に加え、サイバー攻撃に悪用される手口とその対策、リポジトリ破損時の対処法までを解説します。

WMIとは

WMI(Windows Management Instrumentation)は、Microsoftが提供するWindowsシステム管理のためのインフラストラクチャです。WMIを利用することで、システム管理者やアプリケーションはローカルまたはリモートのWindowsシステムに関する詳細な情報を取得したり、システムの設定を変更したりすることが可能です。

WMIは、ハードウェアやソフトウェアの状態を監視し、管理タスクを自動化するための重要なツールとして、多くの企業や開発者によって利用されています。

WMIの仕組み

WMIは、CIM(Common Information Model)とWBEM(Web-Based Enterprise Management)という業界標準の技術をベースに構築されています。CIMは、システムやネットワークデバイスの管理情報を統一的に表現するためのモデルであり、WMIはこのCIMを使用して、Windowsシステムのリソースをオブジェクトとして表現します。

WBEMは、これらの管理情報をネットワークを介してやり取りするためのフレームワークです。

WMIを通じて取得できる情報には、CPUの使用率、メモリの状況、ディスクの空き容量、インストールされているソフトウェアの一覧、実行中のプロセスなど、多岐にわたります。これらの情報は、WMIプロバイダーと呼ばれるコンポーネントを通じて提供されます。

WMIの主な機能

WMIは、Windowsシステムの管理と監視に関する多岐にわたる機能を提供します。

システム情報の取得

WMIを利用することで、CPU使用率、メモリ状況、ディスク容量、インストールされているソフトウェアなど、システムに関する詳細な情報をリアルタイムで取得できます。これにより、システムのパフォーマンスを監視し、問題を早期に発見することが可能です。

リモート管理

WMIは、ネットワークを介してリモートのWindowsシステムを管理する機能も提供します。管理者は、リモートシステムの設定変更、ソフトウェアのインストール、プロセスの管理などを、直接そのシステムにアクセスすることなく行うことができます。

イベント監視

WMIは、システムで発生するさまざまなイベントを監視し、特定の条件が満たされた場合にアクションを実行する機能を持っています。例えば、ディスクの空き容量が一定以下になった場合に警告を発するなど、プロアクティブな管理が可能です。

スクリプトとの連携

WMIは、PowerShellやVBScriptなどのスクリプト言語と連携して使用することができ、管理タスクの自動化を強力に支援します。定型的な管理作業をスクリプト化することで、作業の効率化とヒューマンエラーの削減につながります。

PowerShellからのWMI/CIM操作

PowerShellには、WMIの情報を取得・操作するためのコマンドレットが用意されています。従来は`Get-WmiObject`が使われていましたが、現在はより高速で堅牢な`Get-CimInstance`の利用が推奨されています。

実行中のプロセス一覧を取得する

Get-CimInstance -ClassName Win32_Process

論理ディスクの情報を取得する

Get-CimInstance -ClassName Win32_LogicalDisk

インストールされているOSの情報を取得する

Get-CimInstance -ClassName Win32_OperatingSystem

このように、`-ClassName`オプションでWMIクラスを指定するだけで、システムに関するさまざまな情報を簡単に取得できます。

WMIの活用例

WMIは、企業のシステム管理者や開発者によって、さまざまな用途で活用されています。

  • システム監視:企業の情報システム部門では、WMIを利用して社内のすべてのPCやサーバーのリソース状況をリアルタイムで監視し、異常が発生した際に即座に対応できる体制を整えています。
  • 自動化:WMIを利用してソフトウェアの自動インストールやアップデート、システム設定の一括変更などを行うことで、IT管理者の作業負担を大幅に軽減できます。
  • トラブルシューティング:システムに問題が発生した際、WMIを使用してリモートから詳細な診断情報を収集することで、迅速な原因究明と対応が可能になります。

サイバー攻撃に悪用されるWMI

WMIは非常に強力な管理機能を持つ一方、その特性が攻撃者にも悪用されています。WMIはMITRE ATT&CKにおいて「T1047:Windows Management Instrumentation」として明記されている、著名な攻撃手法の一つです。OS標準の正規機能であるため、悪用されても検知が難しいという特徴があります。

ファイルレス攻撃としての実行

攻撃者は、WMICやPowerShell経由でWMIを呼び出すことで、悪意あるコードをディスクに保存せず、メモリ上で直接実行することができます。このような「ファイルレス攻撃」は、従来のシグネチャベースのウイルス対策ソフトでは検知が困難です。

WMIイベントサブスクリプションによる永続化

WMIには、特定のイベントが発生した際に指定した処理を自動実行する「イベントサブスクリプション」という仕組みがあります。

攻撃者はこれを悪用し、システムの起動時や特定の時刻に自動的にマルウェアが再実行されるよう設定することで、端末の再起動後も感染状態を維持する永続化の手口として利用します。

横展開・偵察への悪用

WMIはリモートシステムの管理機能も持つため、攻撃者はネットワーク内の他の端末情報を収集する偵察活動や、他の端末へアクセスして侵害範囲を広げる横展開(ラテラルムーブメント)にもWMIを利用します。

WMIの悪用を防ぐための対策

WMI自体は正規のシステム管理機能であるため、無効化することは現実的ではありません。以下のような多層的な対策を組み合わせることが重要です。

  • WMI関連のログを監視する:「Microsoft-Windows-WMI-Activity」のイベントログを有効化し、不審なWMI操作がないか監視しましょう。
  • EDR/XDRを導入する:WMIを介した不審なプロセスの生成や、通常と異なるWMIクエリのパターンを検知できるツールの導入が有効です。
  • 不審なイベントサブスクリプションを定期的に確認する:永続化に悪用されるイベントサブスクリプションが設定されていないか、定期的な棚卸しを行いましょう。
  • リモートWMIアクセスを制限する:業務上不要な場合は、ファイアウォールでWMI関連のポート(135番等)へのアクセスを制限し、横展開のリスクを低減しましょう。

WMIリポジトリが破損した場合の対処法

WMIは、システム情報を格納する「リポジトリ」と呼ばれるデータベースを内部に持っています。このリポジトリが何らかの理由で破損すると、WMIを利用する監視ツールやアプリケーションが正常に動作しなくなることがあります。

まず、「ファイル名を指定して実行」から`wmimgmt.msc`を起動し、左側ツリーの「WMIコントロール」を右クリックして「プロパティ」を開きます。「全般」タブに「正常に接続しました」と表示されれば、WMIは正常に動作しています。接続エラーや「必要なWMIクラスすべてを初期化できませんでした」といったメッセージが表示された場合は、WMIリポジトリが破損している可能性があります。

破損が確認された場合は、管理者権限でコマンドプロンプトを起動し、`winmgmt /salvagerepository`を実行します。このコマンドは整合性チェックを行い、矛盾が検出されればリポジトリの再構築を試みます。それでも状況が改善しない場合は、`winmgmt /resetrepository`を実行することで、リポジトリを完全にリセットできます。

いずれのコマンドを実行した後も、再度`wmimgmt.msc`で正常性を確認することを忘れないようにしましょう。

WMIのメリット・デメリット

メリット

  • 効率的なシステム管理:WMIを利用することで、複数のシステムを一元的に管理でき、管理者の作業負担が大幅に軽減されます。
  • リアルタイムの監視:システムの状態をリアルタイムで監視できるため、問題が発生した際に迅速に対応することが可能です。
  • 柔軟な自動化:スクリプトとの連携により、繰り返し行う管理タスクを自動化し、業務効率を向上させることができます。

デメリット

  • 攻撃に悪用されるリスク:前述の通り、WMIは正規の管理機能であるがゆえに、攻撃者にファイルレス攻撃や永続化の手段として悪用されるリスクがあります。
  • 設定の複雑さ:WMIの高度な機能を使いこなすには、CIMやWQL(WMI Query Language)に関する専門知識が必要です。
  • リポジトリ破損のリスク:何らかの不具合でリポジトリが破損すると、監視ツール等が正常に動作しなくなる場合があります。

まとめ

WMIは、Windowsシステムの管理・監視・自動化を支える強力なインフラストラクチャであり、PowerShellと組み合わせることで日々の運用業務を効率化できます。一方で、OS標準の機能であるがゆえに、ファイルレス攻撃・永続化・横展開といった手口に悪用されやすく、MITRE ATT&CKでも著名な攻撃手法として位置づけられています。

WMIログの監視やEDR/XDRの活用といった対策を講じるとともに、リポジトリ破損時の対処法も押さえておくことで、WMIを安全かつ効果的に活用していきましょう。

SNSでもご購読できます。