
Zoom や Microsoft Teams などの会議アプリで使用されている TURN サーバーを悪用し、トラフィックを信頼できるインフラストラクチャにトンネルさせる、「Ghost Calls」と呼ばれるエクスプロイト後のコマンド・アンド・コントロール(C2)回避手法が新たに登場した。
Ghost Callsは、正規の認証情報、WebRTC、カスタムツールを使用し、エクスプロイトに頼ることなく、既存のほとんどの防御策や不正使用防止策を回避する。
この新戦術は、BlackHat USAでPraetorian社のセキュリティ研究者Adam Crosser氏によって発表され、Red Teamが侵入エミュレーション演習を行う際に使用できることが強調された。
「私たちは、リアルタイムの低遅延通信用に設計され、自然なトラフィックリレーとして機能するグローバルに分散されたメディアサーバを介して動作するWeb会議プロトコルを活用しています。
「このアプローチにより、オペレーターはインタラクティブなC2セッションを通常の企業トラフィックパターンに溶け込ませることができ、一時的にオンライン会議に参加したように見せることができる。
ゴースト・コールの仕組み
TURN(Traversal Using Relays around NAT)は、ビデオ通話、VoIP、WebRTCサービスで一般的に使用されているネットワーキング・プロトコルで、直接接続が不可能な場合にNATファイアウォールの背後にあるデバイス同士の通信を支援する。
ZoomやTeamsのクライアントがミーティングに参加すると、一時的なTURN認証情報を受信し、Ghost Callsはそれをハイジャックして、攻撃者と被害者の間にTURNベースのWebRTCトンネルを設定することができる。
このトンネルを利用して、任意のデータをプロキシしたり、ZoomやTeamsが使用する信頼できるインフラを経由して、C2トラフィックを通常のビデオ会議トラフィックとして偽装したりすることができる。
トラフィックは企業で広く使用されている正規のドメインと IP を経由するため、悪意のあるトラフィックはファイアウォール、プロキシ、TLS 検査をバイパスすることができます。さらに、WebRTCトラフィックは暗号化されているため、うまく隠蔽される。
これらのツールを悪用することで、攻撃者は自身のドメインやインフラストラクチャの公開を回避することができ、同時に高性能で信頼性の高い接続性を享受し、443番ポートでUDPとTCPの両方を使用できる適応性を享受することができます。
これに比べ、従来のC2メカニズムは、速度が遅く、目立ちやすく、VNC操作を容易にするために必要なリアルタイムの交換機能が欠けていることが多い。

ソースはこちら:プレトリアン
ターンする
Crosser氏の研究は、ZoomやTeamsが提供するWebRTC TURNサーバーを経由したC2トラフィックのトンネリングに使用できる「TURNt」と呼ばれるカスタム・オープンソース(GitHubで入手可能)のユーティリティの開発で結実した。
TURNtは、攻撃者側で動作するコントローラーと、侵害されたホスト上に配置されたリレーという2つのコンポーネントで構成されている。
ControllerはSOCKSプロキシサーバーを実行し、TURN経由でトンネルされた接続を受け入れる。RelayはTURNの認証情報を使ってControllerに接続し、プロバイダーのTURNサーバーを介してWebRTCデータチャネルをセットアップする。

ソースはこちら:プレトリアン
TURNtはSOCKSプロキシ、ローカルまたはリモートのポート転送、データ流出、VNC(Virtual Network Computing)トラフィックの隠れたトンネリングを実行できる。
Ghost Callsは、ZoomやMicrosoft Teamsの脆弱性を悪用するものではありませんが、両ベンダーに連絡を取り、実現可能性を減らすために追加の安全対策を導入する予定があるかどうかを尋ねています。両社から回答が得られ次第、この記事を更新します。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}




Comments