-
タグ
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR
ラックの石川です。
2019年ごろから、標的型サイバー攻撃の中に、オープンソースのポート転送やトンネリングツールを悪用して侵入先のPCにリモートデスクトップ(RDP)接続する事例を複数確認しています。
ポート転送とは、特定のポート番号で受信したデータを別のIPアドレス・ポート番号に転送することです。一方、トンネリングは、データを別のIPアドレス・ポート番号に送るという点ではポート転送に似ていますが、違うプロトコルでデータを包む点が異なります。これらの機能を悪用すると、通常はファイアウォールのアクセス制御によりインターネット上からアクセスできない社内のサーバやPCへのアクセスが可能となります。図1は、SSHのポート転送を利用してPCとC2間のトンネルを作成し、リモートデスクトップ接続を行うイメージです。PCからのSSH通信を利用して、外部のC2サーバとコネクションを確立し、確立できた通信経路(トンネル)を利用して、PCへリモートデスクトップ接続しています。
ポート転送/トンネリングツールは、通信が制限されている環境において、必要な通信を通すことができる利便性の高いツールです。しかし、攻撃者に悪用されることで、同じ利便性を攻撃者に提供してしまう恐れがあります。また、リモートデスクトップサービスと組み合わせると、ネットワーク環境内を横展開する方法として悪用される危険性が高まります。
以下では、日本を標的とした攻撃で確認した、3種類のオープンソースのツールを利用してリモートデスクトップ接続を試みる例を紹介します。
ポート転送/トンネリングツールを利用したリモートデスクトップ接続
1. chiselを悪用した攻撃手法
chisel※1は、WebSocketを使用したTCPトンネリングツールであり、Go言語で作成されています。また、トンネリング通信はSSHで暗号化されています。図2は、chiselを実行し、ヘルプを表示させた画面です。chiselは、単一の実行ファイルでクライアントとサーバ両方の機能が含まれており、"command"引数に"server"または"client"を指定することで、それぞれのモードで実行できます。
※1 GitHub - jpillora/chisel: A fast TCP tunnel over HTTP
図3は、chiselを利用して、攻撃者のC2サーバから被害者のPC-Aへポート転送し、リモートデスクトップ接続を行うイメージです。このイメージでは、chisel clientをPC-A(192.168.10.20)で実行させ、プロキシ(192.168.10.33:3128)経由でchisel serverが動作するC2サーバ(192.168.10.55:443)にアクセスし、トンネルを作成します(①)。攻撃者は、リモートポート転送で設定したC2サーバの1234/TCP(192.168.10.55:1234)にアクセス(②)することで、被害者のPC-A上のリモートデスクトップに接続(③)できます。
図3のトンネル(①)を作る際にchisel client側で実行したコマンドは、図4に示す通りです。
赤:実行モード、橙:プロキシサーバ、青:接続先のアドレス、
緑:ポート転送の設定 [待ち受けポート番号]:[接続先のアドレス]:[接続先で待ち受けるポート番号]
また、chisel server側で実行したコマンドは図5に示す通りです。
赤:実行モード、青:待ち受けポート番号、緑:ポート転送設定
図6は、攻撃者が、C2サーバの1234/TCPへアクセスし、PC-A(192.168.10.20)にリモートデスクトップ接続した後、コマンドプロンプトを起動して"ipconfig"コマンドを実行した画面です。
2. frpを悪用した攻撃手法
frp※2は、TCP、UDP、HTTPおよびHTTPSプロトコルをサポートした、リバースプロキシ機能を提供するツールです。frpは、クライアント(frpc)とサーバ(frps)の2つの実行ファイルで構成されます。図7は、frpcおよびfrpsを実行し、ヘルプを表示させた画面です。
図8は、frpを利用して、攻撃者のC2サーバから被害者のPC-Aを経由してPC-Bへポート転送し、リモートデスクトップで接続するイメージです。この例では、frpcをPC-A(192.168.10.20)で実行させ、プロキシ (192.168.10.33:3128)経由でfrpsが動作するC2サーバ(192.168.10.55:443)へアクセスし、トンネルを作成します(①)。攻撃者は、リモートポート転送で設定したC2サーバの1234/TCP(192.168.10.55:1234)へアクセス(②)することで、PC-Aを踏み台として、被害者のPC-B(192.168.10.30)上のリモートデスクトップへ接続(③)できます。
次に、図8のトンネルを作る際にPC-A側(frpc)およびC2側(frps)で実行したそれぞれのコマンドは、図9に示す通りです。
赤:設定ファイル(図10)、青:待ち受けポート番号
図11は、攻撃者が、C2サーバの1234/TCPへアクセスし、PC-Aを経由してPC-B(192.168.10.20)にリモートデスクトップ接続した後、被害者のPC-Bでコマンドプロンプトを起動して"ipconfig"コマンドを実行している画面です。
3. PuTTY(plink)を悪用した攻撃手法
PuTTY※3は、Simon Tatham氏が開発したオープンソースのSSHクライアントの1つであり、plinkは、PuTTYのコマンドラインツールです。図12は、plinkを実行し、ヘルプを表示させた画面です。
※3 Download PuTTY - a free SSH and telnet client for Windows
図13は、plinkを利用して、攻撃者のC2サーバから被害者のPC-Aへポート転送し、リモートデスクトップ接続を行うイメージです。このイメージでは、plinkをPC-A(192.168.10.20)で実行させ、SSHサービスが有効なC2サーバ(192.168.10.55:22)にアクセスし、トンネルを作成します(①)。攻撃者は、リモートポート転送で設定したC2サーバの1234/TCP(192.168.10.55:1234)にアクセス(②)することで、被害者のPC-A上のリモートデスクトップに接続(③)することができます。
このplinkを悪用したサイバー攻撃については、2019年1月に公開されたFireEye社のブログ※4でも詳しく紹介されていますので、plinkの実行コマンドやWindowsネットワークシェルコマンド(netsh)を利用したポート転送については、そちらをご覧ください。
※4 Bypassing Network Restrictions Through RDP Tunneling
攻撃痕跡の確認方法
今回紹介したポート転送やトンネリングツールが利用された場合には、レジストリキーやイベントログにいくつか関連する痕跡が残ります。以下にその痕跡を確認する方法(一例)を紹介します。
レジストリキー
PuTTY(plink)でSSHを利用した場合、図14のようなレジストリキーが作成されます。レジストリキーに含まれるSSHの接続先等を確認し、意図したツールの利用かご確認ください。
イベントログ
ポート転送/トンネリングツールを利用してリモートデスクトップ接続を行った場合は、リモートデスクトップ接続先のPCのイベントログに図15および図16に示すようなイベントログが残ります。これらのログに残された痕跡が、意図したものかご確認ください。図15は、図3で紹介したchiselを利用したケースのPC-Aのセキュリティログの一部抜粋です。リモートログオン(イベントID:4624、ログオンタイプ:10)でソースネットワークアドレスには、赤枠線で囲むループバック(127.0.0.1)または自身のIPアドレスが記録されます。
図16は、先ほどと同様のケースで記録されたMicrosoft-Windows-TerminalServices-LocalSessionManager/Operationalログの一部です。リモートデスクトップ セッションサービスのログオン成功(ID:21)およびセッションの再接続(ID:25)でソースネットワークアドレスには、赤枠線で囲んだループバック(127.0.0.1)または自身のIPアドレスが記録されます。なお、図7で紹介したfrpを利用してPCを踏み台として他のPC(PC-AからPC-B)へリモートデスクトップ接続を行った場合は、いずれのイベントログのソースネットワークアドレスにおいても、踏み台となったPC-AのIPアドレスが記録されます。
ファイル
frpは、設定ファイル(frpc.ini)を利用して実行するため、この設定ファイルの有無をご確認ください。例えば、拡張子が"ini"であるファイルに対して、特徴的な文字列(例:"remote_port"や"server_addr")が含まれていないか検索するのがよいでしょう。
リモートデスクトップを利用する場合はアクセス制御を
近年、攻撃者がポート転送/トンネリングツールを悪用して外部からリモートデスクトップ接続を行い、ネットワーク環境内を自由に横展開しているケースを多く見かけますが、正規のポート転送/トンネリングツールは、ウイルス対策ソフトなどのセキュリティ対策ソフトウェアでは検知が困難なのが現状です。
今回紹介したツール以外にも、インターネット上には様々なポート転送/トンネリングツールが公開されており、攻撃者は今後も正規のポート転送/トンネリングを悪用して攻撃を仕掛けてくることが予想されます。このような脅威を未然に防いだり緩和したりするためにも、現在使用しているPCでリモートデスクトップサービスを利用する必要があるかを再確認し、リモートデスクトップサービスを利用する場合は、「リモートデスクトップ接続でログインできるユーザを限定」、「ネットワークレベル認証(NLA)でのみアクセスを許可※5」、「接続元の制限」などのアクセス制御を実施することが重要です。
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- もっと見る +
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR