Web ブラウザの分離技術を回避:QR コード C2 通信のための PoC ツールとは?

QR codes bypass browser isolation for malicious C2 communication

2024/12/08 BleepingComputer — Mandiant が特定したのは、ブラウザの分離技術を回避し、QR コードを通じて Command and Control (C2) 操作を実現する、新しい方法である。このブラウザの分離技術とは、クラウド環境または仮想マシンでホストされるリモート Web ブラウザを介して、すべてのローカル Web ブラウザ・リクエストをルーティングするセキュリティ技術のことであり、日増しに普及するという状況にある。

アクセスした Web ページ上のスクリプトやコンテンツは、ローカル・ブラウザではなく。リモート ブラウザで実行される。その後に、ページのレンダリングされたピクセル ストリームが、元のリクエストを行ったローカル・ブラウザへと送り返され、ページの外観のみが表示されるため、悪意のコードからローカル・デバイスは保護される。

多くの Command and Control サーバは、通信に HTTP を使用しているため、リモート・ブラウザ分離によりトラフィックがフィルタリングされるため、こうした悪意の通信モデルは無効化される。

Mandiant が特定する新たな手法は、これらの制限を回避するものである。それを用いる悪用には実質的な制限があるが、ブラウザの既存のセキュリティ保護が完璧とは程とおく、追加の対策と組み合わせる、多層防御の戦略が必要であることを示している。

C2 とブラウザ分離の背景

C2 チャネルにより、攻撃者と侵害されたシステム間での悪意の通信が可能となり、侵害済のデバイスを制御するリモート・アクターに対して、コマンド実行/データ窃取などが許されてしまう。

ブラウザの設計においては、外部サーバとの恒常的なインタラクションの確保が重視される。したがって、セキュリティが重要な環境の基盤システムにある機密データに、攻撃者がアクセスできないようにするために、分離対策が有効化される。

この分離対策は、クラウド/ローカル仮想マシン/オンプレミスでホストされている、それぞれのサンドボックス環境を用いてブラウザを実行することで実現される。

この分離が有効化されている場合には、分離されたブラウザが受信 HTTP リクエストを処理し、Web ページを構成するビジュアル・コンテンツのみがローカル・ブラウザへとストリーミングされる。したがって、HTTP レスポンス内のスクリプトやコマンドが、ターゲットに到達することはあり得ない。

この仕組みにより、攻撃者による HTTP レスポンスへのダイレクトなアクセスや、悪意のコマンドのブラウザ挿入などがブロックされ、秘密の C2 通信は困難になる。

Overview of browser isolation
Overview of browser isolation
Source: Mandiant
Mandiant のバイパス・トリック

Mandiant の研究者たちが考案したのは、最新のブラウザの既存の分離メカニズムをバイパスする新しい手法である。

攻撃者は、HTTP レスポンスにコマンドを埋め込む代わりに、Web ページに視覚的に表示される、QR コードにコマンドをエンコードする。つまり、ブラウザ分離リクエストにおいては、Web ページのビジュアル・レンダリングは削除されないため、QR コードはリクエストを開始したクライアントへと戻されることになる。

Mandiant の調査では、前提となる被害者のローカル・ブラウザは、以前にデバイスに感染したマルウェアにより制御されるヘッドレス・クライアントであるため、取得した QR コードをキャプチャ/デコードし、悪意の C2 指示を取得することになる。

Bypassing browser isolation using a QR code
Bypassing browser isolation using a QR code
Source: Mandiant

Mandiant の PoC エクスプロイトでは、最新の Google Chrome Web ブラウザへの攻撃が実証され、広く悪用されているペンテスト・キットである Cobalt Strike の、外部 C2 機能を通じてインプラントを統合している。

QR codes
完璧ではない

この PoC では、攻撃の実現性が示されているが、現実的な適用性を考慮すると、この手法は完璧ではないだろう。

まず、このデータ・ストリームは、最大で 2,189 Byte に制限されている。このサイズは、QR コードで運べる最大データ量の約 74% に相当し、マルウェアのインタープリターによる QR コードの読み取りに問題がある場合には、さらにパケット・サイズを縮小する必要がある。

続いて、それぞれのリクエストに約5秒を要するため、遅延を考慮する必要がある。それにより、データ転送速度が約 438 Byte/秒に制限されるため、大きなペイロードの送信や、SOCKS プロキシの促進に対して、この手法は適さないことになる。

この調査に 対して Mandiant が指摘するのは、ドメイン・レピュテーション/URL スキャン/データ損失防止/リクエスト・ヒューリスティックなどの、追加のセキュリティ対策を考慮していない点である。これらの対策により、この攻撃のブロックや無効化が達成される可能性もある。

Mandiant の QR コード・ベースの C2 手法は低帯域幅も用いるものであるが、ブロックされなければ、危険な存在になる可能性もある。したがって、重要なリソース環境の管理者に推奨されるのは、異常なトラフィックや自動化モードで動作する、ヘッドレス・ブラウザの監視となる。