OpenAI の Assistants API を悪用する SesameOp:AI 侵害のためのバックドアをステルス C2 で確立

SesameOp: Using the OpenAI Assistants API for Covert C2 Communication

2025/11/04 gbhackers — OpenAI Assistants API を悪用する高度なバックドア型マルウェア SesameOp が、従来とは異なる Command-and-Control (C2) 通信経路を用いていることを、Microsoft の Detection and Response Team (DART) が明らかにした。この種の脅威は、正規のクラウド・サービスを悪用して通信を隠蔽する手法へ急速に適応しており、既存のセキュリティ対策による検知を著しく困難にしている。

この発見が浮き彫りにするのは、悪意のトラフィックを正規の API 通信に紛れ込ませることで、従来のセキュリティ制御を回避しようとする、脅威アクターの戦術が進化していることだ。

Microsoft DART の研究者たちが 2025年7月に発見したバックドアは、従来のマルウェアの C2 通信の手法から大きく逸脱するものだ。具体的に言うと、SesameOp を背後で操る脅威アクターは、C2 専用のインフラを構築する代わりに、OpenAI Assistants API を悪用して悪意のコマンドを保存/中継/取得する。

この手法は、信頼できるサービス・プロバイダへの正規の API 通信内に、悪意の C2 通信を隠蔽するものであり、従来のネットワーク監視による検知は極めて困難となる。こうして確立された通信経路を通じて、ストレージおよび中継メカニズムとして API を悪用するマルウェア・コンポーネントは、侵害したシステム上で暗号化された悪意のコマンドを取得/実行する。

DART の調査により、この脅威アクターは検出される数か月前から、標的環境内に潜伏していたことが判明した。さらに分析を進めた結果、複雑かつ永続的な攻撃インフラには、悪意のプロセスから中継されるコマンドを実行するための、内部 Web シェルが含まれていることも分かった。

これらのプロセスは、複数の Microsoft Visual Studio ユーティリティを悪用するものだが、高度な防御回避技術である .NET AppDomainManager インジェクションを介して、それらのユーティリティは攻撃者により事前に侵害されていた。この多層的な手法により、攻撃者は長期間にわたり検出されることなく、深いレベルでの永続性を維持していた。

技術アーキテクチャと感染チェーン

SesameOp の感染チェーンは、連携して動作する2つの主要コンポーネントで構成される。Eazfuscator.NET を用いて高度に難読化されたローダー・コンポーネント “Netapi64.dll” は、.NET AppDomainManager インジェクションを介してホストの実行時にロードされる。

Netapi64.dll enumerates files in Temp directory.
Netapi64.dll enumerates files in Temp directory.


この DLL は Windows の “temp” ディレクトリにマーカー・ファイルを作成し、メモリ内で単一のインスタンスだけを実行するためのミューテックスを確立する。このローダーは “temp” ディレクトリ下のファイルを列挙し、拡張子 ”.Netapi64″ を持つファイルを検索し、それらのファイルを XOR 復号化して実行する。

続いて、このバックドアの主要コンポーネント “OpenAIAgent.Netapi64” により、隠蔽操作が進められる。その名称は OpenAI SDK との統合を示唆しているが、実際には OpenAI Assistants API を純粋に通信チャネルとして利用するものだ。

起動時において、.NET リソース・セクションに埋め込まれた設定データが読み取られるが、そこに含まれるのは、OpenAI API キー/辞書キー名/プロキシ設定などである。

Decoding and invoking the SesameOp backdoor.
Decoding and invoking the SesameOp backdoor.


その後に、このバックドアはハードコードされた API キーを使用して OpenAI からベクター・ストアを照会し、そこに感染させたマシンのホスト名が含まれることを確認する。もし、該当するストア名が存在しない場合には、侵害したシステムのホスト名を用いて、初回の通信時に新規のベクター・ストアを作成する。

このコードは、コンフィグレーション3番目の部分で、プロキシ・アドレスの指定の有無を確認する。アドレスが存在する場合には、それが使用されるが、プロキシ情報が存在しない場合には、デフォルトの Web プロキシが利用される。

Configuring proxy settings.
Configuring proxy settings.


さらに、このマルウェアは OpenAI アカウントで作成されたアシスタントのリストを取得し、アシスタント ID/名前/説明/指示などのプロパティを解析する。その説明フィールドはコマンド・セレクタとして機能し、SLEEP/Payload/Result のオプションのいずれかを取り込んでいる。SLEEP に設定されている場合に、バックドアは指示フィールドからスレッド ID とメッセージ ID を抽出し、OpenAI からタイミング・コマンドを取得する。

その一方で、Payload コマンドの場合には、暗号化されたメッセージを取得して OpenAI から削除した後に、複数の復号化レイヤーを通じて処理する。

暗号化と難読化技術

OpenAI のコンテキストにおける Assistants とは、特定のタスク・ワークフロー・ドメインに合わせて、開発者や組織がカスタム AI エージェントを作成するための OpenAI プラットフォーム内の機能を指す。

それに対して、SesameOp は高度な多層暗号化を採用し、それにより受信コマンドと送信データの双方を保護する。

Retrieving Assistants list.
Retrieving Assistants list.

この通信で取得されるメッセージには 32-Byte の AES キーが含まれており、このキーは Base64 デコードされた後に、マルウェアに埋め込まれたハードコード済みの RSA 秘密キーで復号される。

実際のペイロードは Base64 デコードされ、派生キーを用いて AES アルゴリズムで復号され、さらに GZIP で解凍される。このような、対称暗号化と非対称暗号化を圧縮と組み合わせた階層化アプローチにより、通信のセキュリティを最大化しながらペイロード・サイズを最小化している。

復号と解凍が完了した後のペイロードは、追加処理を経て辞書構造に変換される。続いて、このバックドアは、URL デコードおよび解析技術を用いてメッセージをキーと値のペアに変換する。さらに、埋め込みの .NET モジュールがリフレクションで動的にロードされ、Microsoft JScript VsaEngine が初期化された後に、Eval.JScriptEvaluate によりペイロードが実行される。

この実行結果は、GZIP 圧縮/AES 暗号化され、Base64 エンコードされた後に、新規メッセージとして OpenAI へポストされる。最終的に、このバックドアはホスト名をエンコードした新規の Assistants を作成し、その説明フィールドを “Result” にコンフィグすることで、実行結果の取得準備が整ったことを攻撃者に通知する。

緩和策

Microsoft と OpenAI は、この脅威に関する共同調査を実施し、攻撃者が使用したとみられる API キーおよび関連アカウントを特定/無効化した。そこで判明したのは、OpenAI からのレスポンスに含まれる timeSLEEP フィールドを、このバックドアが解析し、その値を用いてスレッドのスリープを操作することだ。

Retrieving timeSLEEP value.
Retrieving timeSLEEP value.


調査の結果として確認されたのは、侵害されたアカウントが実行するのは限定的な API 呼び出しのみであり、OpenAI のモデルやサービスとのインタラクションが、C2 通信以外において行われていないことだった。

この深刻な状況を受け、両社は引き続き協力することで、脅威アクターが新興テクノロジーを悪用しようとする手法を解明/阻止していく方針であるという。

Microsoft が強調するのは、この脅威が OpenAI プラットフォームの脆弱性を示すものではなく、正当な機能の悪用であるという点だ。なお、OpenAI Assistants API は 2026年8月に廃止予定である。

Microsoft が推奨するのは、SesameOp および類似の脅威に対抗するための、包括的なセキュリティ対策の実施である。したがってユーザー組織は、インターネットに公開されている全システムを把握した上で、ファイアウォールおよび Web サーバのログを頻繁に監査する必要がある。

さらに、Windows Defender のファイアウォール/侵入防止システム/ネットワークファイアウォールを用いたネットワーク・セグメンテーションの実施により、エンドポイント間の C2 通信をブロックし、横方向の移動 (ラテラル・ムーブメント) を軽減できるという。それに加えて、境界ファイアウォールおよびプロキシの設定を確認し、非標準ポート経由での不正アクセスを制限する必要がある。

また、Microsoft Defender for Endpoint の改ざん防止機能を有効化すれば、攻撃者によるセキュリティ制御の無効化を阻止できる。加えて、エンドポイント検出と対応をブロックモードで実行することで、他のアンチウイルス・ソリューションが脅威を検出できない場合であっても、Microsoft Defender は不正なアーティファクトをブロックできる。

さらに、調査と修復を完全自動モードに設定し、クラウド提供型の保護を有効化すべきである。それにより、急速に進化する攻撃者のツールや手法に対する効果的な防御が実現できる。