企業が遠隔地に移転したとき、企業はセットアップと使用が簡単なため、RDPを選択しました。しかし、移行は緊急であり、誰もが安全に必要な注意を払ったわけではありません。その結果、サイバー犯罪者は組織を標的にしています。
この記事では、RDPプロトコルの弱点を分析し、会社のインフラストラクチャを保護する方法を説明することにしました。また、RDPハニーポットを複数のサーバーに展開して実験を行い、侵入者の不正接続の場合に検出できるフォレンジックアーティファクトについて説明しました。
▍RDPの弱点
現在、世界中の約400万台のRDPサーバーが外部ネットワークからアクセスできます。それらの多くは、おそらく内部ネットワークからのみ利用可能です。
攻撃者は、自分の目的のためにRDPサーバーを悪用するために、RDPサーバーの弱点を具体的に探すことがよくあります。たとえば、RDPはしばしばブルートフォース攻撃の対象となります。さらに、過去2年間で、専門家はRDPに関連する深刻なRCEの脆弱性を発見しました。
ブルートフォースアタック
RDPに対する最も一般的な攻撃は、ブルートフォース攻撃です。それらは大まかにいくつかのグループに分けることができます。
- 最も単純な攻撃。自動化ツールを使用せずに基本パスワードを推測することで構成されます。
- 辞書攻撃。その間に、目的のユーザー名に対して考えられるすべてのパスワードのブルートフォース攻撃が開始されます。
- , , , .
- Password spraying, , .
- Credential stuffing, .
ログインとパスワードのペアを取得すると、攻撃者は侵害されたシステムへのフルアクセスを取得します。
最も単純な辞書攻撃は通常、組織によって十分な考慮と保護が与えられます。たとえば、ログインに何度か失敗した後、アカウントをロックすることが計画されていることがよくあります。
同時に、パスワードのスプレーや資格情報の詰め込み攻撃はしばしば忘れられます。しかし、そのような攻撃は今では珍しいことではありませんが、逆に、むしろ一般的になっています。複数の失敗したRDPログイン試行が行われるIPアドレスをブロックすると、それらと戦うのに役立ちます。また、パスワードの再利用を禁止することは不必要ではありません。また、複数のリソースで同じパスワードを使用しないでください。
脆弱性
2019年以降、いくつかの深刻なRCE関連のRDPの脆弱性が発見されています。それらの悪用は、ターゲットシステムでのリモートコード実行につながります。
BlueKeepと呼ばれる脆弱性CVE-2019-0708は、RDPプロトコル自体ではなく、リモートデスクトップサービスの実装で発見されました。この脆弱性により、認証されていないユーザーがターゲットシステム上で任意のコードをリモートで実行できます。この脆弱性は、Windows XP(Windows Server 2003)からWindows 7(Windows Server 2008 R2)までの古いバージョンのWindowsに影響します。正常に動作するには、脆弱なバージョンのWindowsと実行中のRDPサービスを備えたコンピューターへのネットワークアクセスのみが必要です。これを行うために、攻撃者は特別に細工されたRDP要求をサービスに送信します。これにより、攻撃者はターゲットシステム上で任意のコードをリモートで実行できます。 BlueKeepに関する情報は2019年5月に公開されましたが、289千を超えるRDPサーバーが依然として脆弱です。
脆弱性CVE-2019-1181 / 1182/1222/1226は、BlueKeepとほぼ同じです。ただし、以前の脆弱性は古いバージョンのWindowsにのみ影響していましたが、現在はすべての新しいバージョンのOSが危険にさらされています。脆弱性を悪用するには、攻撃者はRDPプロトコルを使用して、ターゲットシステムのリモートデスクトップサービスに特別に細工した要求を送信する必要もあります。これにより、任意のコードを実行できます。これらの脆弱性は2019年8月に公開されました。
もう1つの脆弱性(BlueGate(CVE-2020-0609 / 0610))が、Windows ServerのWindowsリモートデスクトップゲートウェイコンポーネント(2012、2012 R2、2016、および2019)で見つかりました。また、攻撃者はRDPおよび特別に細工された要求を介してターゲットシステム上でコードをリモートで実行できます。 BlueGateは2020年初頭に公開されました。
▍マルウェアとRDP
RDPの弱点は、マルウェアオペレーターの目に見えないままではありません。サイバー犯罪者が標的型攻撃で公表されたRDP資格情報を使用することは珍しいことではありません。
攻撃者は、ターゲットシステムへのRDPアクセスを取得した後、手動でアンチウイルス保護を無効にし、マルウェアを起動します。このような攻撃は、感染したシステムでDharma(別名Crysis)などの身代金を実行することがよくあります。
▍侵入者のための餌、またはハニーポットの展開方法
実験を行い、外部ネットワークからアクセスできるRDPサーバーで何が起こるかを確認することにしました。このために、2つのハニーポットが配備されました。PythonでのRDPプロトコルの実装を使用しました-RDPYは、 パブリックドメインにあります。
1つのハニーポットはDigitalOceanパブリックサーバーに展開され、もう1つは組織のネットワーク内のサーバーに展開されました。インターネットから3つのポートが利用可能でした。
- 標準ポートは3389です。
- 2つの非標準ポート-36および25300。
接続時に表示されるウィンドウを下のスクリーンショットに示します。
標準ポート3389は、ネットワーク上で最大の注目を集めました。ハニーポットが機能していた1か月半の間に、合計15回のブルートフォース試行と237回の無効なデータのパブリックサーバー上のソケットへの書き込み試行が記録されました。組織のネットワーク内のサーバーで、それぞれ16回と135回の試行。
また、ご想像のとおり、標準ポート3389はネットワークから多数のスキャンを受けました。同時に、パブリックサーバーは、組織のネットワーク内のサーバーよりも平均2.5倍頻繁にスキャンされました。
スキャンレートは下のグラフで確認できます。ここでの縦線は、ハニーポット期間に該当した土曜日と日曜日を示しています。ほとんどの場合、営業週の終わりにネットワークスキャンが減少しました。
水平方向-ハニーポットの日数、垂直方向-接続数。
青い曲線はパブリックノース、オレンジ色の曲線は組織のネットワーク内のサーバーです。
縦線-土曜日と日曜日。
非標準のポートをスキャンする試みは事実上ありませんでした。したがって、RDPを非標準のポートに移植すると、ほとんどの攻撃から保護するのに役立ちます。
▍セキュリティ
上記のすべてを要約すると、RDPを介してリモート接続するときにインフラストラクチャを保護するのに役立ついくつかのルールを推測できます。
- RDP. , . .
- VPN. , VPN -.
- , , , , , . . password spraying credential stuffing.
- IP-, RDP. password spraying credential stuffing.
- . -.
- RDPイベントの監査を設定し、接続ログを定期的に確認して、疑わしいアクティビティを時間内にキャッチします。
▏RDP接続の痕跡を探す場所▕
RDPを介してシステムが危険にさらされている疑いがある場合は、自分でいくつかの手順を試すことができます。
- ログ。まず、イベントログをすぐに確認する必要があります。
- %SystemRoot%\ System32 \ Winevt \ Logs \ Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx
ログインとパスワードを使用した認証前、ただし接続ソースのIPアドレスの認証後の接続が成功した場合のイベント1149。異常なIPアドレスからの接続を探すことが重要です。ブルートフォースパスワードもここで取得できます。 - %SystemRoot%\System32\Winevt\Logs\Security.evtx
4624 — , 4625 — , 4778 — , 4634 — . «LogonType». 3, 10 7. IP-, — . - %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx
21, 22 25 — , 23 — . IP-.
IP-, . , (, .).
. Security.evtx, — Security.evtx Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx . , SIEM-. - %SystemRoot%\ System32 \ Winevt \ Logs \ Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx
- . , , . RDP-, . , , TCP (, RDP). . , , X, X+N . , .
痕跡が見つかった場合
RDPを介して成功した浸透の痕跡を見つけた場合は、まず最初に次のことを行う必要があります。
- 攻撃者を隔離しようとします(またはインフラストラクチャをインターネットから完全に切断するか、重要なサーバーをローカルネットワークから切断します)。
- ドメインコントローラーにハッキングの兆候がないかどうかを確認し、ファイルダンプやその他の攻撃者のターゲットの可能性を確認します。
感染がすでに内部リソースを介して広がっている可能性はかなりあります。これが発生した場合は、PowerShellの起動イベントやアンチウイルストリガーなどを確認する必要があります。そして最良のことは、すぐにコンピュータフォレンジックの専門家に連絡することです。