IT システムおよびセキュリティプラットフォームを提供する Fleet が、MDM プロトコルを利用した興味深いツールを公開している。標的システムにバックドアやエージェントプログラムをインストールしなくても MDM サーバを C2 サーバのように悪用できるというものだ。
C2 サーバ(以下 C2)の実体は、通常標的システムの外にあるクラウドインスタンスやホスティングサービス、あるいはボット化されたサーバである。標的システムや PC には C2 からの指令を実行するエージェントが存在しなければならない。
だが、Fleet のセキュリティエンジニアが発見した MDM プロトコルの特権昇格に関する脆弱性(CVE-2023-38186)を利用すれば、エージェント不要で外部から攻撃が可能になる。詳細は Fleet のホームページでも公開されてはいるのだが、2023 年の BlackHat USA において、PoC を実装したツールのデモを伴う発表も行われた。なお、Fleet はオープンソースプラットフォームをサブスクリプションで提供する普通のテック企業である。アンダーグラウンドや Pegasus(スパイウェア)を各国政府に販売している(とされる)NSO のような会社というわけでは断じてない。この発表は彼らの研究開発活動の成果のひとつである。
● エージェントレス C2 への挑戦
C2 は、APT 攻撃において攻撃者からワンクッションおいた司令塔として不可欠な存在だ。RaaS のような攻撃プラットフォームにおいても重要なインフラのひとつになることもある。C2 を司令塔たらしめるのは標的に忍ばせた隠密であり間者(エージェントプログラム)のなせる業でもある。しかし、エージェントベースの攻撃にはいくつかの条件がある。
まず、システムのセキュリティ機能、監視機能によるエージェント検知を回避しなければならない。その隠密活動を維持するための活動、エージェント(プログラム)のメンテナンスやアップデートが継続的に必要になる。これを実現する機能は、エージェント側にも必要だが、標的セキュリティシステムの監視の目をそらすための措置、防御機能の無効化も必要になる。
Fleet の開発チームでセキュリティも担当するマーカス・オヴィエドは、エージェントを使わず C2 からの指令を実行させる方法はないかと考えた。たとえば、既存の正規通信や標準プロトコルを利用すれば、C2 からの指令を潜り込ませることができるのではないか。つまり、プロトコルや正規機能の悪用(Abuse)である。
オヴィエドや彼のチームが、なぜそのようなことを考えたかのか。