【入門編】 RDP(ポート3389/TCP)のブルートフォース攻撃とCredSSPの脆弱性(CVE-2018-0886)を突く感染 – サイバーセキュリティとプライバシー保護実践ガイド

こんにちは!インフラやネットワークの世界へ一歩を踏み出したみなさん、日々の学習やお仕事、本当にお疲れ様です。

新しい技術を覚えるのはワクワクする反面、次から次へと出てくる専門用語や、目に見えないサイバー攻撃の怖さに「うっ……」と身構えてしまうこと、ありませんか?

今回は、企業のネットワークにとって非常に恐ろしい存在である「ランサムウェアの感染経路」について、私と一緒にじっくり紐解いていきましょう。特に、オフィスのパソコンを遠隔操作する便利な機能である「RDP(リモートデスクトップ)」が、どのようにしてサイバー犯罪者に悪用されてしまうのか、その裏側のストーリーを分かりやすく解説していきますね。

難しいパケットの構造や英語の仕様書は一旦置いておいて、まずは私たちの身近な世界に置き換えて考えてみましょう。一歩ずつ進めば必ず理解できますので、リラックスして読み進めてくださいね!

—

1. 郵便配達で例える「RDP(ポート3389)」の仕組み

まずは、リモートデスクトップ(RDP)がネットワーク上でどのような動きをしているのか、イメージをつかみましょう。

皆さんの会社にあるWindowsのパソコンを、自宅や外出先から画面ごと操作したいとき、この「RDP」という通信の仕組みを使いますよね。これは非常に便利ですが、裏を返すと「外から自分のパソコンの玄関を開けっ放しにしている状態」とも言えます。

ネットワークの世界では、通信が通る「ドア番号」のようなものをポート番号と呼びます。RDPが使うドア番号は、決まって 3389番(TCP)と決まっています。

これを現実世界に例えてみましょう。

  • オフィスのパソコン = あなたの家
  • RDP(ポート3389) = 家のメイン玄関
  • サイバー犯罪者 = 不審者

もし、あなたの家の玄関の鍵が「1234」のような簡単な暗証番号だったり、そもそも鍵がかかっていなかったりしたらどうなるでしょうか? 不審者は片っ端から番号を試して、簡単に家の中に侵入できてしまいますよね。これが、ネットワークの世界で言うブルートフォース攻撃(総当たり攻撃)の正体です。

—

2. 破られた玄関から忍び寄る魔の手:ランサムウェアの水平展開

もし、運悪く攻撃者に 3389番 の玄関を突破され、会社のPCの合鍵(管理者権限)を奪われてしまったらどうなるでしょうか?

ここからが、ランサムウェアの最も恐ろしいフェーズです。攻撃者は、たった1台のパソコンを乗っ取るだけでは満足しません。そのパソコンを「踏み台」にして、社内のネットワークという名の廊下を歩き回り、隣の部屋、そのまた隣の部屋へと次々に侵入を広げていきます。これをセキュリティ業界では水平展開(ラテラルムーブメント)と呼びます。

社内のパソコンやファイルサーバーがすべて暗号化され、「元に戻してほしければ身代金を払え」と脅される――これが、現代のランサムウェア感染の典型的なシナリオなんです。

—

3. プロトコルの落とし穴:CredSSPの脆弱性(CVE-2018-0886)とは?

さて、総当たり攻撃のように「力づく」で侵入する方法のほかに、プログラムの「設計ミス」を突く巧妙な手口も存在します。その代表例が、CredSSP(Credential Security Support Provider)の脆弱性(CVE-2018-0886)です。

なんだか名前が呪文のように難しそうですよね。でも大丈夫、噛み砕いて説明します!

身分証のやり取りにおける「うっかりミス」

リモートデスクトップで接続するとき、パソコン同士は「あなたは本当にその人ですか?」とお互いの身分を確認し合います。この身分確認の仕組みを担うのが CredSSP です。

本来であれば、安全な通信のトンネルをしっかり作ってから、その中でこっそりとパスワードなどの重要な身分証情報をやり取りしなければなりません。しかし、この脆弱性(CVE-2018-0886)を抱えた古いシステムでは、「まだ安全なトンネルが完全に出来上がっていない状態なのに、うっかり大切な身分証をむき出しのまま相手に渡してしまう」という設計の不具合がありました。

ここに悪意ある攻撃者が割り込むと、どうなるでしょうか?
通信を盗み見(中間者攻撃)することで、あなたが入力した管理者権限のパスワードをごっそり盗ぎ取られてしまうのです。玄関の鍵をこじ開けられるどころか、「信頼しているふりをして、合い鍵をまんまと渡してしまう」ような状態ですね。

—

4. 現場で今すぐできる!実践的な防御策と設定サンプル

「うわぁ、怖い話だな……うちの会社は大丈夫かな?」と不安になってしまったそこのあなた!ご安心ください。インフラエンジニアやネットワーク管理者が現場でしっかりと対策を行えば、これらの脅威からシステムを守り抜くことができます。

ここからは、明日からすぐに使える具体的な防御策を見ていきましょう。

対策①:RDP(ポート3389)を野ざらしにしない(VPNの活用)

一番やってはいけないのは、社内のPCの 3389番 ポートを、インターネットの荒海に向けて直接公開することです。外部から社内に入る時は、必ず安全なトンネルを作る仕組みであるVPN(仮想プライベートネットワーク)を経由させましょう。

対策②:Windowsのパッチを確実に適用する

CredSSPの脆弱性(CVE-2018-0886)に対しては、Microsoftから修正プログラム(セキュリティ更新プログラム)が提供されています。古くてアップデートされていないサーバーがないか、資産管理を徹底することが最大の防御です。

対策③:PowerShellを使ったセキュリティ設定の確認

例えば、安全ではない古い暗号化通信や認証の方式を無効化し、強固な設定を強制するための手順の一例を見てみましょう。以下は、Windowsのセキュリティポリシーを管理・確認するためのイメージに近いスクリプトの断片です。

# =====================================================================
# スクリプト名: Check-RdpSecuritySettings.ps1
# 概要: RDP接続における暗号化レベルやネットワークレベル認証(NLA)の
#      設定状況を確認・強化するためのサンプルコードです。
# =====================================================================

# 1. ネットワークレベル認証(NLA)が有効になっているかレジストリから確認する
$NlaPath = "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
$UserAuthentication = (Get-ItemProperty -Path $NlaPath).UserAuthentication

if ($UserAuthentication -eq 1) {
    Write-Host "[安全] ネットワークレベル認証 (NLA) が有効に設定されています。" -ForegroundColor Green
} else {
    Write-Host "[警告] NLAが無効です!ブルートフォース攻撃の危険性があります。" -ForegroundColor Red
    # 対策としてNLAを有効化するコマンド(管理者権限が必要)
    # Set-ItemProperty -Path $NlaPath -Name "UserAuthentication" -Value 1
}

# 2. 不要なRDPポート(3389)のファイアウォール状態をチェック
$FirewallRule = Get-NetFirewallRule -DisplayName "リモート デスクトップ - ユーザー モード (TCP-In)" -ErrorAction SilentlyContinue

if ($FirewallRule.Enabled -eq "True") {
    Write-Host "[情報] ファイアウォールでRDPポートが開放されています。VPN経由のアクセスに限定されているか確認してください。" -ForegroundColor Yellow
}

このように、日々の地道な設定確認とパッチ当ての積み重ねが、企業の大切な情報資産をランサムウェアの魔の手から守る強力な防壁となります。

—

おわりに

今回は、RDPのブルートフォース攻撃とCredSSPの脆弱性をテーマに、ネットワークの裏側で起きている脅威と、その対策についてお話ししました。

「ネットワークやセキュリティは目に見えないから難しい」と感じるかもしれませんが、郵便配達や家の鍵、身分証のやり取りといった現実世界のルールに置き換えてみると、本質がぐっと分かりやすくなりますよね。

インフラの世界に飛び込んだばかりのみなさんが、「おっ、これなら自分にも分かるぞ!」と自信を持ち、安全で強いネットワークを作れるエンジニアへと成長していく姿を、私は心から応援しています。

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

コメント

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