SOC Prime Bias: クリティカル

04 11月 2025 09:05

SesameOp バックドア検出:マイクロソフトがサイバー攻撃において OpenAI アシスタント API を悪用する新たなマルウェアを発見

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
SesameOp バックドア検出:マイクロソフトがサイバー攻撃において OpenAI アシスタント API を悪用する新たなマルウェアを発見
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

SesameOp マルウェア攻撃

Microsoft の研究者は、OpenAI Assistants API を隠れた指令と制御チャネルとして使用する、SesameOp という新しいバックドアを発見しました。このマルウェアは、悪意ある Netapi64.dll ローダーを通じて配布され、AppDomainManager を利用した注入によって .NET プロセスに投入されます。設定は DLL のリソースに格納され、OpenAI エンドポイントと通信してコマンドを受信し、結果を送信します。この脅威は、Windows ホストにおける長期的な諜報活動を目的としています。

調査

調査により、Eazfuscator.NET で難読化されたローダー DLL (Netapi64.dll) が特定され、そのDLLはマーカーファイルとミューテックスを作成し、次に OpenAIAgent.Netapi64 という名のバックドアコンポーネントをデコードおよび実行します。バックドアは、OpenAI API キー、辞書キー、およびオプションのプロキシを含むパイプ区切りの設定を解析します。それは、コマンドまたはペイロードを符号化するベクトルストア、アシスタント、メッセージを取得するために OpenAI Assistants API とやり取りし、それらを復号化、解凍し、JScript エンジンを介して実行します。

軽減策

Microsoft は、ファイアウォールとプロキシ設定の強化、Defender における改ざん防止とリアルタイム保護の有効化、不要なアプリケーションに対するブロックモードの使用を推奨します。api.openai.com への外向きトラフィックの監視と、特定のミューテックスおよび一時ファイルの作成の検出が活動の検出に役立ちます。EDR をブロックモードで展開し、自動修復アクションを推奨します。

対応策

検出時には、影響を受けたホストを隔離し、悪意あるプロセスを終了し、Netapi64.dll および関連の一時ファイルを削除し、妥協された OpenAI API キーを無効化します。継続性のあるメカニズムのための完全な法科学的レビューを行い、すべての特権資格情報を変更します。特定されたミューテックス、ファイルパス、OpenAI Assistants API への外向き接続を検出するための検出ルールを更新します。

graph TB %% Class Definitions classDef action fill:#99ccff classDef process fill:#ffcc99 classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodes action_initial_loader[“<b>Action</b> – 初期ローダーの配置<br /><b>Techniques</b>: T1546.010 AppInit DLLs、T1546.009 AppCert DLLs、T1546.007 Netsh ヘルパー DLL”] class action_initial_loader action process_dll_loaded[“<b>Process</b> – DLL 読み込み(Netapi64.dll)”] class process_dll_loaded process action_hijack_flow[“<b>Action</b> – 実行フローのハイジャック: AppDomainManager<br /><b>Technique</b>: T1574.014(永続化および特権昇格のための実行フロー改変)”] class action_hijack_flow action action_inject_code[“<b>Action</b> – 悪意のある .NET コードの注入<br /><b>Technique</b>: T1027(難読化されたファイルまたは情報)”] class action_inject_code action malware_backdoor[“<b>Malware</b> – 難読化バックドア(OpenAIAgent.Netapi64)<br />難読化: Eazfuscator.NET、XOR、Base64、GZIP”] class malware_backdoor malware tool_mavinject[“<b>Tool</b> – Mavinject<br /><b>Technique</b>: T1218.013(システムバイナリのプロキシ実行)”] class tool_mavinject tool action_js_injection[“<b>Action</b> – JScriptEngine による入力インジェクション(Eval.JScriptEvaluate)”] class action_js_injection action action_execute_payloads[“<b>Action</b> – 攻撃者ペイロードの実行”] class action_execute_payloads action action_archive_data[“<b>Action</b> – 収集データのアーカイブ(AES/GZIP)<br /><b>Technique</b>: T1560.003(収集データのアーカイブ)”] class action_archive_data action action_send_results[“<b>Action</b> – OpenAI Assistants API を介した結果送信<br /><b>Techniques</b>: T1071.001(Web プロトコル HTTPS)、T1102.002(Web サービス)、T1001.003(データ難読化:プロトコル偽装)”] class action_send_results action action_cleanup[“<b>Action</b> – アーティファクトのクリーンアップ<br /><b>Techniques</b>: T1070.004(ファイル削除)、T1027.005(ツールからの痕跡除去)”] class action_cleanup action %% Edges action_initial_loader –>|loads| process_dll_loaded process_dll_loaded –>|hijacks| action_hijack_flow action_hijack_flow –>|injects| action_inject_code action_inject_code –>|creates| malware_backdoor malware_backdoor –>|uses| tool_mavinject tool_mavinject –>|injects into| action_js_injection action_js_injection –>|executes| action_execute_payloads action_execute_payloads –>|archives| action_archive_data action_archive_data –>|exfiltrates| action_send_results action_send_results –>|cleans| action_cleanup

攻撃フロー

SesameOp バックドア ペイロード

シミュレーション実行

前提条件: テレメトリー & ベースラインの事前フライトチェックをパスしている必要があります。

  • 攻撃ストーリー & コマンド:

    攻撃者は、侵害された Windows ホストに SesameOp バックドアを展開しました。C2 を確立するために、SesameOp は HTTPS POST を発行します https://api.openai.com/v1/assistants 暗号化されたコマンドデータを運びます。バックドアは svchost.exe (信頼された外観のシステムプロセス) の下で実行され、デフォルトシステムプロキシを使用しているため、追加のプロセスやユーザーコンテキストが見られず、単一の文字列マッチが唯一の指標となっています。

    1. バックドアプロセスの開始 (本物のマルウェアを避けるためにここでは PowerShell でシミュレーション)。
    2. 悪意のあるペイロードを送信 OpenAI Assistants エンドポイントへ。
    3. 接続を維持 短期間維持して、可視な NetworkConnect イベントを生成。
  • 回帰テストスクリプト:

    # SesameOp C2 通信のシミュレーション – テストのために再現可能
    $payload = @{
        "model" = "gpt-4"
        "messages" = @(
            @{ "role" = "system"; "content" = "You are a backdoor controller." },
            @{ "role" = "user";  "content" = "list processes" }
        )
    } | ConvertTo-Json -Depth 4