GIFShellというものがあります。
リバースシェルを実現できるマルウェアです。
通常のリバースシェルとは少し異なり攻撃者と被害者の間で通信が直接交換される機能は実現しませんが、コマンドを投入して結果が得られるという意味でシェルとして利用できる機能を実現します。
こんな感じです。
- 安全でない設計要素/脆弱性を悪用する
Microsoft Teamsに存在する7つの安全でない設計要素/脆弱性を攻撃者が悪用します。 - 攻撃ではMicrosoftのサーバとの通信のみが発生する
よくある他の攻撃では攻撃が成り立った後に、なんらかのC2サーバとの通信が発生します。
しかしこのGIFShellではTeamsを構成する機器群との通信しか発生しません。
通信先のIPアドレスを利用した評判情報を攻撃の検出に使用する方式はこのGIFShellには意味を持たないかもしれません。 - 始まりは添付ファイル
攻撃の流れは添付ファイルから始まります。
Microsoftからのメールを装ったメールとして送信され、そこに添付ファイルが含まれています。 - 実現できる内容はコマンドの実行とデータの引き出し
GIFShellは任意のコマンドの実行やデータの引き出しの機能を実現します。 - 指示内容は画像に含めて流し込む
実行させたいコマンドはまず画像に埋め込まれます。
画像はGIF形式になっています。
そのGIFのなかにはBase64でエンコードされたコマンドが含められています。
そしてGIFを含むメッセージをシステムに投入します。 - システムは受信内容をログに保存する
これは普通のことです。
Microsoft Teamsはコラボレーションプラットフォームですから通常メッセージのやり取りが実施されます。
到着したメッセージはログに記録されます。
そのログは高度なアクセス権限を持っている場合でなくても参照することができるようになっています。 - コマンドが実行される
侵害された機構を含むTeamsクライアント機器がTeamsのログを読み取ります。
単に読み取りだけなら何も起こらないのですが、侵害されたシステムはログを読み取る際にBase64でエンコードされたコマンドが含まれている画像を検出しそこにあるコマンドを実行します。
そしてその実行結果をまたBase64でエンコードします。 - 実行結果を記録する
生成されたコマンド実行結果をエンコードしたものは、新たにログの中に記録されます。
今度は別の画像ファイルのあるURLであるかのような表現で記録されます。
この時点ではまだ実行結果は記録されているだけで攻撃者に手元に到着していません。 - 実行結果を取り出す
TeamsのクライアントソフトウェアがTeamsのログを読み取ります。
読み取ったログの内容に従って画面表示を実行していきます。
実行結果のエンコードした内容をURLに含む画像の部分も画面表示しようとします。
つまり、そのTeamsクライアントは、その画像のURLにアクセスします。
その画像のURLのFQDN部分は攻撃者の操作のできるサーバになっています。
この段階で攻撃者は画像ファイルの参照要求に見えるかたちでコマンド実行結果を入手できました。
どうでしょう。
実によく練られた流れに仕上がっています。
この具体的な攻撃そのものは、そもそものメールの添付ファイルを開かないとか脆弱性対策を怠らないとかによって緩和することができそうに思えます。
しかし、この攻撃の流れそのものが新しい手法となっています。
通信としてみる場合に怪しい通信は一つも使われていません。
可能性としては、最後の最後に出てくる攻撃者の操作できるサーバのFQDNやIPが悪い評判情報を持っていればネットワークの観点で攻撃を検出できるかもしれません。
単に正しい運用を継続していくというようなことだけではない、なんらかの新しい防御手法の入手が必要ということかもしれません。
参考記事(外部リンク):“GIFShell” — Covert Attack Chain and C2 Utilizing Microsoft
Teams GIFs
medium.com/@bobbyrsec/gifshell-covert-attack-chain-and-c2-utilizing-microsoft-teams-gifs-1618c4e64ed7
この記事をシェア |
---|