サイバーセキュリティコンサルタントが、Microsoft Teams内のGIF画像を利用して標的マシン上で任意のコマンドを実行する新たな攻撃チェーンを発見した。
このエクスプロイトは発見されたBobby Rauchによって「GIFShell」と名付けられており、主な構成要素は、隠しPythonスクリプトを含むGIF画像だ。この細工された画像はMicrosoft Teamsユーザーに送信され、リバースシェルを作成する。
正規のMicrosoftインフラを悪用することで、攻撃者はセキュリティ対策を回避し、悪意のあるファイルを無害に見せかけ、重要なデータを外部に持ち出せる。これらを実行するには、攻撃者は被害者に「Stager」をインストールさせる必要がある。これは、GIFに埋め込まれたコマンドを実際に実行する実行可能ファイルだ。
しかし、この調査によると、別のアプリケーションに対するソーシャルエンジニアリングや追加のエクスプロイトを使わなくても、極めて説得力のある添付ファイルを通じて、Microsoft Teams自体でこのインストールを実行できる。
「この調査は、リンク先の添付ファイルが悪意のあるものかどうかをユーザーが事前に確認する手段がないまま、Microsoft Teamsを通じて極めて説得力のあるフィッシング添付ファイルを被害者に送信できることを示している」と、Rauchは記した。
Teamsの添付ファイルはすべて正規のものに見える可能性
実際、Microsoft Teamsはディープリンクなどの機能をサポートしているが、適切なサニタイズと検証を欠いているため、安全でない可能性のあるURIスキームを許してしまう。Rauchは、Teamsがファイル形式をレンダリングする方法を知らない場合(DLLなど)でも、ファイルをインライン表示しようとすることを発見した。これにより、あらゆる添付ファイルが正規のものに見えてしまう。
「Azure組織内の同僚など、許可されたユーザーへのメッセージでファイルがMicrosoft Teamsにアップロードされると、MicrosoftはそのファイルへのSharepointリンクを生成する。このリンクを閲覧できるのは、Teamsメッセージの送信者と受信者だけだ」と、Rauchは記した。「ユーザーが添付ファイルを含むTeamsメッセージの送信ボタンをクリックすると、ファイルへのSharepointリンクとその他いくつかのファイル属性を含むJSON本文が、Teamsのエンドポイントに対するPOSTリクエストで送信される」
攻撃者はこのJSON本文を改変して、デフォルトの制限にもかかわらず外部ユーザーがTeamsの添付ファイルにアクセスできるようにし、検出される可能性なしに(例えば事前審査をすり抜けて)悪意のあるファイルを通過させられる。
一見無害なファイルは、ドライブバイダウンロード攻撃に利用できる。
インストールされると、この実行可能ファイルはMicrosoft Teamsのログを監視し、Base64エンコードされたコマンドを検出して抽出できる。攻撃者は独自のMicrosoft Teamsテナントを作成し、外部会議やチャットなどを通じて、組織外から被害者に連絡するだけでよい。その後、標的マシン上のStagerが実行する悪意のあるコマンドを含む細工されたGIF画像を送信できる。TeamsのログにはTeamsメッセージのコピーが含まれており、Windowsのすべてのユーザーグループが読み取れる。
Stagerは、実行したコマンドの出力をファイル名(Base64テキスト)として使用し、それを攻撃者のテナント内のTeamsチャネル用に作成されたIncoming WebhookコネクタのURLに送信されたアダプティブカードに埋め込まれたリモートGIFに付与する。
MicrosoftのサーバーがGIF画像を取得しようとするたびに、攻撃者のサーバーへ接続し、情報を送信する。
この巧妙な手法により、攻撃者はMicrosoftのセキュリティツールを回避し、気付かれないようにデータを外部へ持ち出せる。
「最適なEDRツール」を見る
GIFShellの脆弱性を緩和する方法
この脆弱性チェーンは2022年6月にMicrosoftへ報告されたが、同社はこの調査が「直ちに対応する基準を満たしていない」と判断した。
つまり、現時点では優先対応の対象ではないということだが、修正されないという意味ではない。それまでの間、Rauchは次の緩和策を推奨している。
- 不明な外部送信者からの添付ファイルをクリックしないよう、ユーザーを教育する。
- Microsoft Defender for Office 365でSafe Attachmentsポリシーを実装し、ドライブ–バイダウンロード攻撃の防止に役立てる。
- SMB Signingを有効にするか、NTLMを完全に無効化し、NTLM攻撃の防止に役立つ複雑なパスワードポリシーが設定されていることを確認する。
また、Microsoft Teamsではユーザー設定(外部アクセスを参照)で外部ドメインの許可リスト登録が可能である点にも注意が必要だ。理論上は、これにより無関係な外部組織との望ましくない通信を防止できる。
レッドチームやペネトレーションテスターは、Rauchが報告書で示した前提条件と再現手順に従い、この攻撃の再現を試みることができる。
次の記事:最適な脆弱性管理ツール





