تیم واکنش و کشف حوادث مایکروسافت (DART) جزئیات یک بکدور جدید بهنام SesameOp را منتشر کرده که از OpenAI Assistants API بهعنوان یک کانال فرمان و کنترل (C2) پنهانی سوءاستفاده میکند. مهاجمان با استفاده از این روش، دستورها را از طریق OpenAI بهعنوان یک مکان ذخیره/رله دریافت و در محیط قربانی اجرا میکنند.
مایکروسافت میگوید این ایمپلنت در ژوئیهٔ ۲۰۲۵ طی یک حادثهٔ پیچیده کشف شد؛ در این رخداد، بازیگران ناشناس برای چند ماه در محیط قربانی پایداری (persistence) برقرار کرده بودند. نام قربانی افشا نشده است.
🧩 نحوهٔ عملکرد فنی حمله
زنجیرهٔ آلودگی شامل یک لودر بهنام Netapi64.dll و یک بکدور مبتنی بر .NET بهنام OpenAIAgent.Netapi64 است.
این بکدور از OpenAI Assistants API بهعنوان کانال C2 برای واکشی دستورهای رمزنگاریشده استفاده میکند؛ دستورها پس از دریافت رمزگشایی شده و بهصورت محلی اجرا میشوند. خروجی اجرای دستورها هم بهعنوان پیام به OpenAI ارسال میشود.
DLL مذکور با Eazfuscator.NET بهشدت مبهم سازی (obfuscated) شده و برای پنهانسازی، پایداری و ارتباط امن با OpenAI طراحی شده است. Netapi64.dll در زمان اجرا از طریق .NET AppDomainManager injection به فرآیند میزبان لود میشود؛ نشانهگذاری و پیکربندی این تزریق توسط یک فایل .config همراه اجراشونده انجام میشود.
📨 قالب پیامها در OpenAI Assistants API
مایکروسافت توضیح میدهد پیامهایی که از لیست Assistants واکشی میشوند میتوانند سه نوع مقدار در فیلد description داشته باشند:
SLEEP — اجازه میدهد thread برای مدت مشخصی بخوابد.
Payload — محتویات اجرایی دستور در فیلد instructions قرار دارد و در یک thread جداگانه فراخوانی میشود.
Result — خروجی اجرای payload را بهصورت پیام جدید به OpenAI ارسال میکند؛ در این پیام فیلد description برابر
"Result"میشود تا نشان دهد خروجی آماده است.
🔎 سازوکار پنهانسازی و استقرار
مهاجمان یک «چیدمان پیچیده» از web shellهای داخلی ایجاد کردهاند که برای اجرای دستوراتِ ارسالی از پردازشهای مخربِ «استراتژیکاً قرارگرفته» استفاده میکنند.
این پردازشها از ابزارهای Microsoft Visual Studio بهره میگیرند که با لایبرریهای آلودهشده compromise شدهاند — تکنیکی که در گزارش با عنوان AppDomainManager injection توصیف شده است.
هدف کلی حمله حفظ دسترسی بلندمدت (long-term persistence) و فراهمسازی کانال مخفی برای عملیات جاسوسی است.
⚠️ پیامدها و تهدیدات
استفاده از سرویسهای مشروع (مثل OpenAI API) به عنوان کانال C2 به مهاجمان کمک میکند تا ترافیک مخرب را در دل ترافیک قانونی پنهان کنند و از تشخیصِ سیستمهای حفاظت عبور کنند.
این الگو نمونهای از سوءاستفادهٔ فزاینده از ابزارها و سرویسهای معتبر برای انجام فعالیتهای مخرب است.
✅ واکنش و اقدامات انجامشده
مایکروسافت یافتههای خود را با OpenAI به اشتراک گذاشت؛ تیم OpenAI بهنحو مؤثری یک API key و حساب مرتبط را که احتمال میرود توسط مهاجم استفاده شده بود، شناسایی و غیرفعال کرد.
🛡️ توصیههای فوری برای تیمهای دفاعی و اپراتورهای امنیتی
(پیشنهادات عملی مبتنی بر تکنیکهای مورد استفاده در این حمله)
بررسی و شناسایی Netapi64.dll و OpenAIAgent.Netapi64 — جستجو برای DLLهای مشکوک، بررسی timestampها و امضاهای دیجیتال.
آزمایش AppDomainManager injection — اسکن فایلهای .config همراه برنامههای میزبان و بررسی الگوهای غیرعادی در بارگذاری AppDomain.
نظارت بر استفاده از APIهای خارجی — لاگینگ و آنالیز فراخوانیهای OpenAI/third-party API؛ نشانههای غیرمعمول شامل fetchهای متناوب که دادهٔ رمزنگاریشده برمیگردانند.
چرخش و مدیریت کلیدهای API — بازنشانی (rotate) و لغو (revoke) کلیدهای API مشکوک؛ اعمال حد و سیاستهای دسترسی (least privilege) برای API keys.
تحلیل مبهم سازی شده DLL — استفاده از ابزارهای deobfuscation و بررسی رفتارهای runtime با sandbox/EDR.
ایجاد قواعد تشخیص برای پیامهای SLEEP/Payload/Result — تنظیم قوانین EDR/IDS برای شناسایی الگوهای زمانی و payload-execution که با این روش سازگارند.
اشتراکگذاری IoC — تبادل شاخصهای نفوذ (IoC) با مراکز CERT و شرکا و گزارش به تأمینکنندگان سرویسهای API در صورت مشاهدهٔ سوءاستفاده.