こんにちは!企業のネットワークを守るセキュリティスペシャリストの私が、日々の現場で目にするリアルなサイバー攻撃の手口と、その対策について熱く語る技術ブログの時間です。
インフラの世界に一歩足を踏み入れたばかりの皆さん、日々の運用や学習お疲れ様です。「ネットワーク」「セキュリティ」と聞くと、なんだか難解な暗号や、見たこともない英語の羅列が画面いっぱいに広がる世界を想像して、少し身構えてしまいますよね。でも、安心してください。どんなに高度なサイバー攻撃も、基本の仕組みは私たちが暮らす現実世界の出来事とよく似ています。
今回は、企業ネットワークの内部でマルウェアやランサムウェアが猛烈なスピードで感染を広げる手口、その中でも「RPCエンドポイントマッパー(ポート135/TCP)」という少し耳慣れない仕組みを悪用した横展開(ラテラルムーブメント)の裏側に迫ります。
難解なパケットの解析データは一旦わきに置いて、身近な例えを交えながら、一歩ずつ分かりやすく紐解いていきましょう!
—
1. 会社の中に「何でも屋」がいる?RPCってなに?
皆さんが働くオフィスビルを想像してみてください。そこには総務部、人事部、開発部など、たくさんの部署がありますよね。例えば、あなたが総務部に「新しい机が欲しい」と頼むとき、総務部の窓口に行けば、どの担当者が机の手配をしてくれるかを教えてくれます。
Windowsの世界にも、これとまったく同じ仕組みがあります。パソコンの中では、ファイル共有やプリンターの制御、ユーザー認証など、無数の「サービス(お仕事をするプログラム)」が裏で動いています。
ここで問題になるのが、「どのサービスが、パソコンのどの部屋(ポート番号)にいるのか、外からは分からない」という点です。
そこで登場するのが、今回主役として取り上げる「RPC(Remote Procedure Call)エンドポイントマッパー」です。こいつは、いわば「社内のフロア案内係」や「総合受付」のような存在です。
- 外から「印刷のサービスにお願いがあるんだけど、どこに行けばいい?」と聞かれる。
- 受付係(ポート
135番で待ち構えているRPCエンドポイントマッパー)が、「それなら、あそこの空いている部屋(例: 49152番ポート)に行ってくれ!」と案内する。
このやり取りのおかげで、私たちは複雑なプログラム同士をスムーズに連携させることができているのです。とっても便利な仕組みですよね。
—
2. 親切な受付係が「悪党の案内人」に変わる瞬間
しかし、セキュリティの世界では「便利さは、時としてリスクの裏返し」になります。この親切な総合受付(ポート 135 番)が、もし悪意を持ったハッカーや、社内に侵入したランウェアに乗っ取られてしまったらどうなるでしょうか?
攻撃者は、次のようなステップで社内をめちゃくちゃに荒らし回ります。これをセキュリティ用語で「ラテラルムーブメント(横展開)」と呼びます。
1. 最初の侵入(初期アクセス):
社員の一人がうっかり怪しいメールを開いてしまい、パソコン1台がマルウェアに感染します(マルウェアの潜入成功!)。
2. 名簿の覗き見(ポートスキャン):
感染したパソコンは、「よし、次はネットワークの隣にいる同僚のパソコンを仲間にしよう!」と企みます。そこで、ネットワーク上のパソコンに向けて「誰かいますかー? ポート 135 番を開いている受付係はいますかー?」と呼びかけます。
3. 受付係を悪用した不正な遠隔操作:
もし、そのパソコンのセキュリティ対策が古かったり、パッチ(修正プログラム)が当たっていなかったりすると大変です。攻撃者は、受付係の隙を突いて、次のようなメッセージを送りつけます。
> 「おい、裏口から侵入するための特別なプログラムを、そこの空き部屋で今すぐ実行しろ!」
受付係はマニュアル通りにそれを実行してしまい、攻撃者は瞬く間に次のパソコンの主導権を握ってしまいます。これが、RPCの脆弱性を狙ったマルウェア感染の恐ろしいシナリオです。1台感染しただけでは済まず、ドメイン内の全パソコンがドミノ倒しのように次々と倒れていく原因がここにあります。
—
3. 現場でできる具体的なネットワーク防御策
「うわ、怖い!じゃあどうやって防げばいいんですか?」という声が聞こえてきそうですね。大丈夫です。インフラエンジニアが現場で実践できる、確実で強力な防御策がちゃんとあります。
ゼロトラスト(何も信用しない)の考え方に基づき、以下の対策をしっかりと実装していきましょう。
① 境界と「内部のゾーン」でファイアウォールを絞る
インターネットと会社の境界だけでなく、「社内のパソコン同士」の通信においても、不要なポートを開けないのが鉄則です。
特に、今回狙われるポート 135(TCP)や、その後の通信に使われるエフェメラルポート(動的ポート範囲)は、原則としてクライアントPC同士の通信では不要です。ドメインコントローラーなど特別なサーバー以外からのアクセスは、ネットワーク機器やOS標準のファイアウォールでバッサリと遮断しましょう。
以下は、Windowsの標準機能(Windows Defender ファイアウォール)を使って、不要なRPC通信をブロックする設定を行う際のPowerShellスクリプト例です。実務の検証環境などで試してみてください。
# =====================================================================
# スクリプト名: Block-UnnecessaryRPC.ps1
# 概要: クライアントPC間での不必要なRPCエンドポイントマッパー(ポート135)
# へのアクセスを厳格に制限するためのファイアウォールルール設定例
# =====================================================================
# 既存の同名ルールがあれば削除(クリーンな状態からスタート)
Remove-NetFirewallRule -DisplayName "Block-Inbound-RPC-Mapper-135" -ErrorAction SilentlyContinue
# クライアントPC同士のラテラルムーブメントを防ぐため、
# 内部ネットワークからのポート135(TCP)へのインバウンド通信をブロックする
New-NetFirewallRule `
-DisplayName "Block-Inbound-RPC-Mapper-135" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 135 `
-Action Block `
-Profile Domain, Private `
-Description "ゼロトラスト対策: 社内ネットワークからの不正なRPCエンドポイントマッパーへのアクセスを遮断します"
Write-Host "✅ ファイアウォールルールの設定が完了しました。ポート135への不正なアクセスはブロックされます。" -ForegroundColor Green
② OSの脆弱性を放置しない(パッチ管理の徹底)
歴史的に見ても、RPCサービス周りの脆弱性(有名なところでは「MS03-026」や、近年の「RpcRemoteBrowser」関連の脆弱性など)は、常に攻撃者の格好のターゲットになってきました。
Microsoftが毎月リリースするセキュリティ更新プログラム(月例パッチ)を、テスト検証を経て速やかに適用する運用の仕組み作りが、何よりも確実な防壁となります。
③ ネットワークのセグメンテーション(マイクロセグメンテーション)
「総務部のエリア」「開発部のエリア」「役員フロア」など、ネットワークを細かく区切り、部署をまたぐ通信は必ず厳重な検問所(内部ファイアウォール)を通るように設計します。
万が一、1台のPCがランサムウェアに感染しても、そのセグメントの外へ感染が飛び火するのを物理的・論理的に食い止めることができます。
—
4. おわりに:日々の地道なセキュリティインフラが会社を救う
今回は、RPCエンドポイントマッパー(ポート135/TCP)を切り口に、マルウェアの横展開とネットワーク防御の基本について解説しました。
「受付係(RPC)」という便利な仕組み自体をなくすことはできません。しかし、「誰がその受付に話しかけていいのか」を厳しく管理し、不要な扉はしっかりと鍵をかけておくこと。これが、私たちインフラエンジニアの腕の見せどころであり、サイバー攻撃から組織の大切な資産を守るための最強の盾となります。
「難しい用語がたくさん出てきたな」と思った方も、今日の「郵便配達や会社の受付」の例えを思い出してもらえれば、きっと構造がスッと頭に入ってくるはずです。
一歩ずつ、確実に知識とスキルを身につけて、頼れるセキュリティエンジニアを目指して一緒に頑張っていきましょう!それではまた次回の技術ブログでお会いしましょう!
コメント