【入門編】 WMI(Windows Management Instrumentation)とRPC(ポート135/445)を利用したプロセス遠隔起動 – サイバーセキュリティとプライバシー保護実践ガイド

こんにちは!ネットワークやインフラの世界へ足を踏み入れたばかりの皆さん、日々の学習やお仕事お疲れ様です。

「セキュリティ」や「ランサムウェア」という言葉を聞くと、なんだか得体の知れない怪物が突然PCのデータを人質に取るような、映画のワンシーンを想像してしまいませんか? でも実は、最新のサイバー攻撃の多くは、私たちが日々システム管理のために使っている「正規の便利な機能」をそのまま悪用して行われているんです。

今回は、その代表格である WMI(Windows Management Instrumentation) と、裏側で動いている通信の仕組み(ポート135や445)について、現実世界の「郵便配達」に例えながら、一緒に優しく紐解いていきましょう。一歩ずつ理解していけば、決して怖くありませんよ!

—

1. そもそもWMIってなに?身近な例えで考えてみよう

皆さんは、オフィスのビル全体のエアコンや照明、水道の検針などを、中央の管理室から一括してチェック・操作するシステムを想像できますか?

Windowsの世界におけるその「中央管理室と各部屋を結ぶ連絡網」こそが、WMI です。
システム管理者はWMIを使うことで、わざわざ1台1台のPCの席まで歩いて行かなくても、自分のデスクから「おい、そこのPC、今動いているプロセスの一覧を教えてくれ!」とか「あそ子のPCを今すぐ再起動してくれ!」といった命令を遠隔から出すことができます。

非常に便利ですよね。管理者にとっては、まさに「魔法の杖」のような機能です。
しかし、セキュリティの世界では、この「魔法の杖」がひとたび悪意ある攻撃者の手に渡ると、凶器へと様変わりしてしまいます。

—

2. 攻撃者はどうやってWMIを悪用するの?(郵便配達のたとえ)

ランサムウェアに感染してしまった1台のパソコン(端末A)が、社内のネットワークに繋がっている別のパソコン(端末B)を次々と乗っ取っていく場面を想像してください。

攻撃者は、端末Aから端末Bに対して「おい、俺の代わりにこの怪しいプログラム(ランサムウェア)を勝手に実行してくれ!」と命令したいわけです。これをネットワークの世界で行うには、次のような「郵便配達」のステップを踏みます。

ステップ1:表札を探す(ポート135:RPC Endpoint Mapper)

まず、端末Aは端末Bの中にある「WMIという名の部署」が、建物のどこにあるのかを知りません。そこで、まずはビル(端末B)の総合案内所である ポート135(RPC Endpoint Mapper) に手紙を出します。
「すみません、WMIの窓口は内線何番ですか?」と聞くわけです。総合案内所は「あぁ、WMIなら〇〇番の部屋ですよ」と親切に教えてくれます。これがRPC(Remote Procedure Call)の最初のやり取りです。

ステップ2:合言葉と扉を開ける(ポート445:SMB / 認証)

場所が分かったら、次は実際にその部屋の扉を叩きます。ここで使われるのが ポート445(SMB) です。
ネットワーク越しに他のPCを遠隔操作するためには、当然「管理者権限のIDとパスワード」が必要です。攻撃者は、すでに盗み出していた管理者アカウントの認証情報を使い、まるで正当な管理者のふりをして端末Bの扉を開けさせます。

ステップ3:遠隔サイレント実行の指令

扉が開いたら、あとはWMIを通じて「今から言うプログラムをバックグラウンドでコソッと実行しろ!」という命令を流し込みます。端末Bからすると、信頼している社内ネットワークの管理者から命令されたように見えるため、疑うことなくランサムウェアのバイナリを起動してしまうのです。

こうして、感染が社内へネズミ算式に広がっていくわけですね。

—

3. なぜこの攻撃が厄介なのか?

このWMIとRPC/SMBを使った攻撃が非常に厄介で、セキュリティ担当者を悩ませる理由は、「使われている通信のすべてが、普段の業務で使う正当な仕組みそのものだから」です。

怪しいウィルス特有の通信をしているわけではなく、システム管理者が日々行っているリモート管理と全く同じ手順で行われるため、古いタイプのセキュリティ製品では「正規の管理作業」と見分けがつかずにスルーされてしまうことが多いのです。

—

4. 現場でできる!実用的なネットワークレベルの防御策

「うわぁ、それじゃあ防ぎようがないじゃないか…」と思いましたか? ご安心ください! ネットワークの境界防御やゼロトラストの考え方を少し取り入れるだけで、この悪夢を防ぐことができます。

ここからは、インフラエンジニアとして現場ですぐに参考にできる具体的な対策を見ていきましょう。

対策1:不要なRPC/SMBの社内間通信を塞ぐ(ファイアウォール設定)

そもそも、社内の一般PC同士が、お互いにポート135や445で直接おしゃべりできる必要はあるでしょうか?
答えは「NO」です。一般のクライアント端末同士が、直接WMIを使って他の端末を遠隔操作する機会なんて、通常の業務ではありませんよね。(管理は必ず「管理サーバー」から行われるべきです)

Windows Defender ファイアウォールや、ネットワーク機器(L3スイッチ、次世代ファイアウォール)の設定で、「クライアント端末同士のポート135(RPC)およびポート445(SMB)の通信を完全に禁止する」のが最も効果的です。

以下は、Windowsのローカルファイアウォールで、特定の管理用ホスト以外からの着信をブロックする際の一例です。(PowerShellスクリプトのイメージ)

# ==============================================================================
# スクリプト名: Block-UnwantedRPC-SMB.ps1
# 概要: クライアント端末間での不要なRPC(135)およびSMB(445)の着信をブロックします。
# 補足: 信頼された管理サーバーのIPアドレス(例: 192.168.10.50)のみ許可し、
#       それ以外からのリモート管理用ポートへのアクセスを遮断します。
# ==============================================================================

# 1. 既存のルールと競合しないよう、不要なSMB(445)のオープンポートを制限
New-NetFirewallRule -DisplayName "Block-Inbound-SMB-From-General-Clients" `
    -Direction Inbound `
    -Protocol TCP `
    -LocalPort 445 `
    -Action Block `
    -Description "一般端末からの横方向のSMB接続をブロックし、ランサムウェアの拡散を防ぐ"

# 2. 信頼する管理サーバーのIPだけは例外として許可する場合の例
New-NetFirewallRule -DisplayName "Allow-Admin-SMB-From-Server" `
    -Direction Inbound `
    -Protocol TCP `
    -LocalPort 445 `
    -RemoteAddress "192.168.10.50" `
    -Action Allow `
    -Description "正当な管理サーバーからのSMB接続のみを許可する"

対策2:マイクロセグメンテーション(ネットワークの小分け)

会社全体のネットワークをひとつの大きな部屋にするのではなく、部署ごとや「サーバー」「管理端末」「一般クライアント」といったグループ(セグメント)ごとに、小さな部屋に区切りましょう。
仮に一般クライアントの部屋で1台がランサムウェアに感染したとしても、別の部屋へのドア(ファイアウォール)がしっかり鍵をかけて閉じられていれば、被害をその部屋の中に最小限に食い止めることができます(ラテラルムーブメントの阻止)。

—

5. おわりに:今日のまとめ

今回は、WMIやRPC(ポート135/445)を悪用したプロセス遠隔起動のメカニズムと、その防御策について解説しました。

  • WMIは便利な管理ツールだが、攻撃者にとっては格好の「遠隔操作の道具」になる。
  • ポート135(案内所)とポート445(部屋の扉)を通じた正規の仕組みを悪用するため、検知が難しい。
  • 「一般端末同士のポート135/445の通信を塞ぐ」「ネットワークをセグメント化する」という基本の徹底が、最大の防御になる。

セキュリティの基本は、「信頼するけれど、検証する(Trust but Verify)」、そしてゼロトラストの思想である「決して信用せず、すべてを検証する」ことです。
日々のインフラ構築や運用のなかで、「この通信は本当にこの端末同士の間で必要なものだっけ?」と立ち止まって考える習慣を大切にしていきましょう。

それでは、また次回の技術解説でお会いしましょう!安全で快適なネットワークライフを!

コメント

タイトルとURLをコピーしました