«ثاقب» سامانه جاسوسی سپاه از کامپیوترهای ویندوزی
ثاقب پلتفرم عملیاتی برای جاسوسی مستمر از کامپیوترهای ویندوزی با قابلیت اجرای فرمان، کیلاگینگ، سرقت نشست تلگرام و رمزهای فایرفاکس و تخریب فایلها است


در پاییز ۲۰۲۵ مجموعهای گسترده از اسناد و نمونههای عملیاتی مرتبط با یک بازیگر تهدید سایبری (APT) وابسته به سپاه پاسداران انقلاب اسلامی بهنام «CharmingKitten» منتشر شد که بهسرعت در جامعه امنیت سایبری و رسانهها موجی از واکنشها ایجاد کرد. این مجموعه در یک مخزن گیتهاب بهنام KittenBusters منتشر شد. رازنت از همان روزهای نخست این مجموعه را بررسی کرده و با واکنش به موارد اضطراری (آگاهسازی فعالان حقوقبشری که قربانی شدهاند) و سپس بررسی ابعاد فنی ابزارهای این گروه (مانند RAT-2Ac2 و تروجان ماژولار ویندوز و سامانه کاشف) شناخت بهتری از این خوشه منسوب به سپاه عرضه کرد. در این گزارش، به یکی دیگر از دستاوردهای این تحقیق می پردازیم: «سامانه ثاقب؛ بدافزار ویژه سیستمعامل ویندوز».
از بین صدها فایل در این مجموعه سه سند، تصویری کمسابقه از طراحی یک بدافزار فارسیزبان برای ویندوز ارائه میدهند؛ این مجموعه شامل راهنمای سامانه ثاقب، تشریح فنی ۱۳بدافزار و گزارش آزمایش Encryptor V1 است. فایل اصلی یک pdf است که هدفش معرفی قابلیتهای ثاقب بهخصوص با زبان فنی است و زیر آن عنوان «موسسه رسانهای افق» ثبت شده که در اسناد دیگری از همین مجموعه، وابستگی آن به نهادهای امنیتی تایید شده است.
این فایل معماری یک تروجان دسترسی از راه دور به نام «ثاقب» را تشریح میکنند که برای نفوذ پایدار به رایانهها و سرورهای ویندوزی، سرقت اطلاعات و تخریب غیرقابلبازگشت فایلها طراحی شده است. هدف طراحی ثاقب آشکارا دسترسی پایدار به «اطلاعات دارای طبقهبندی و حیاتی»، پایگاههای داده سازمانهای دولتی و خصوصی و رایانههای مقامات و اشخاص ردهبالا عنوان شده است.

بررسی اسناد ثاقب چه چیزی را نشان میدهد؟
اسناد افشاشده ، ثاقب را بهصورت یک «سامانه کنترل و جاسوسی ماژولار» توصیف میکنند که در یک سوی آن بدافزار نصبشده روی رایانه قربانی قرار دارد و در سوی دیگر، زیرساختی برای مدیریت سیستمهای آلوده توسط اپراتورها. چنین معماری به مهاجم اجازه میدهد پس از آلودهکردن یک رایانه، ارتباط خود را با آن حفظ کند، فرمانهای تازه بفرستد و متناسب با هدف، قابلیتهای مختلف را فعال کند. در مستندات ثاقب، مجموعهای از قابلیتهایی دیده میشود که برای تبدیل رایانه قربانی به یک منبع دائمی جمعآوری اطلاعات طراحی شدهاند: اجرای فرمان از راه دور، دسترسی به فایلها، ثبت کلیدهای فشردهشده، تصویربرداری از صفحه نمایش، برداشت اطلاعات ذخیرهشده در نرمافزارها و ارسال دادههای جمعآوریشده به اپراتور. ماژولهای تخصصی آن همچنین امکان دسترسی به دادههایی مانند نشست تلگرام و اطلاعات ذخیرهشده در مرورگر فایرفاکس را فراهم میکنند.
بنابراین هدف ثاقب تنها «ورود» به یک سیستم نیست. معماری آن برای مرحله پس از نفوذ طراحی شده است، یعنی زمانی که مهاجم میخواهد برای مدتی طولانی و بدون جلب توجه در رایانه هدف باقی بماند، رفتار او را زیر نظر بگیرد و در زمان مورد نیاز داده یا فرمان تازهای مبادله کند. وجود پنل مدیریت، امکان مدیریت کاربران، ثبت وقایع و تولید کلاینتهای مختلف نیز نشان میدهد که با ابزاری برای استفاده سازمانیافته توسط چند اپراتور روبهرو هستیم، نه یک تروجان ساده که یک مهاجم منفرد آن را برای یک عملیات محدود ساخته باشد.
چهار چالش اصلی در طراحی ثاقب
بخش قابل توجهی از سند با عنوان «چالشها و نکات طراحی بدافزار ثاقب» به مسئلهای جالبتر از فهرست قابلیتها میپردازد: طراحان خودشان چه موانعی را در برابر استفاده عملیاتی از این بدافزار میدیدند و برای عبور از آنها چه راهحلهایی در نظر گرفته بودند؟
چهار مسئله اصلی که سازنده این بدافزار به آن میپردازد عبارتاند از: شناسایینشدن توسط محصولات امنیتی، استقلال از فریمورکهای نرمافزاری، پنهانکردن ارتباطات و مقابله با تحلیل و دیباگ بدافزار.

۱. شناسایینشدن: Fully Undetected یا FUD
نخستین چالش، احتمال شناسایی بدافزار بهدست آنتیویروسها و دیگر محصولات امنیتی است. در ادبیات سند از اصطلاح Fully Undetected یا FUD استفاده میشود. FUD در ادبیات سازندگان بدافزار به این معنا است که در زمان استفاده عملیاتی، نمونه بدافزار هنوز با امضاها و قواعد شناختهشده محصولات امنیتی قابل شناسایی نباشد. اگر فایل آلوده پیش از رسیدن به هدف یا اندکی پس از اجرا توسط Windows Defender یا محصولات امنیتی دیگر شناسایی شود، کل عملیات شکست میخورد.
سازندگان بدافزار ثاقب مدعی هستند تلاش کردهاند از ایجاد الگوهای ثابت و قابل شناسایی جلوگیری کنند و با استفاده از روشهای پنهانسازی و تغییر در نحوه اجرای کد، فاصله زمانی میان استقرار بدافزار و شناسایی آن را افزایش دهند. در بخشهای دیگر مستندات نیز همین نگاه دیده میشود. تکنیکهای مبهمسازی کد، اجرای تأخیردار و سازوکارهای ضدتحلیل در عمل مکمل همین هدف هستند.
۲. استقلال از فریمورک
چالش دوم به سازگاری بدافزار با رایانه قربانی مربوط است. بسیاری از برنامهها برای اجرا به یک محیط نرمافزاری یا Runtime مشخص، مانند نسخه خاصی از .NET Framework، وابستهاند. برای یک بدافزار عملیاتی، چنین وابستگی یک نقطه ضعف است: ممکن است نسخه مورد نیاز روی رایانه هدف نصب نباشد، اجرای آن با خطا مواجه شود یا نصب مؤلفه اضافی خود باعث جلب توجه شود.
در طراحی ثاقب، تلاش شده کلاینت تا جای ممکن بدون نیاز به نصب پیشنیازهای اضافی روی نسخههای مختلف ویندوز اجرا شود. در مستندات، پیادهسازی Native و استفاده از زبانها و فناوریهایی که خروجی مستقل تولید میکنند، بهعنوان راهی برای کاهش این وابستگی مطرح شده است. اهمیت این ویژگی برای یک عملیات جاسوسی روشن است. هرچه بدافزار برای اجرا به اجزای کمتری وابسته باشد، احتمال آنکه روی رایانه هدف بدون ایجاد خطا یا درخواست نصب نرمافزار اضافی اجرا شود بیشتر خواهد بود.
۳. پنهانکردن ارتباط میان قربانی و مهاجم
چالش سوم، خود ارتباط شبکهای است. حتی اگر یک بدافزار روی رایانه قربانی شناسایی نشود، ارتباط مداوم آن با یک سرور فرماندهی و کنترل میتواند مهاجم را لو بدهد. مدافعان شبکه میتوانند مقصد ارتباط، الگوی ترافیک یا محتوای دادههای ارسالشده را بررسی کنند و از آن برای شناسایی سایر قربانیان و زیرساخت مهاجم استفاده کنند.
در طراحی ثاقب دو لایه برای کاهش این خطر مطرح شده است: نخست، داده پیش از ارسال به شکل مستقیم و خوانا منتقل نمیشود. در مستندات به استفاده از XOR برای تغییر یا رمزگذاری داده اشاره شده است. از نظر فنی باید میان ادبیات سند و استانداردهای رمزنگاری تفاوت گذاشت: XOR در صورتی که بهشکل ساده و با کلید قابل پیشبینی استفاده شود، رمزنگاری قدرتمندی محسوب نمیشود و بیشتر یک لایه پنهانسازی یا Obfuscation است. با این حال همین لایه مانع از آن میشود که محتوای جمعآوریشده با مشاهده ساده ترافیک شبکه فوراً قابل خواندن باشد.
لایه دوم مهمتر است: استفاده از TOR و مسیرهای غیرمستقیم ارتباطی برای جلوگیری از آشکارشدن مقصد نهایی فرماندهی و کنترل. در چنین مدلی، رایانه قربانی لزوما مستقیما با زیرساخت اصلی اپراتور تماس نمیگیرد. قرار دادن واسطه یا لایه ناشناسساز میان قربانی و سرور نهایی، هم شناسایی محل واقعی زیرساخت را دشوارتر میکند و هم در صورت کشف یکی از نقاط میانی، از افشای مستقیم اپراتور جلوگیری میکند.
۴. سطح دسترس
چهارمین چالش در طراحی ثاقب، سطح دسترسی بدافزار در سیستم قربانی است. در سند تاکید شده که داشتن بیشترین سطح دسترسی در ویندوز (Administrator) یکی از دغدغههای اصلی طراحان بوده، زیرا دامنه فعالیت بدافزار مستقیما به سطح دسترسی کاربری وابسته است که فایل آلوده را اجرا میکند. از نگاه طراحان ثاقب، دستیابی به سطح دسترسی بالا یکی از پیششرطهای استفاده کامل از تواناییهای بدافزار است.
اصول امنیتی در طراحی ثاقب
نکته قابل توجه در این سند استفاده مکرر از مفهوم «امنیت» از دید خود طراحان بدافزار است. در اینجا امنیت نه به معنای حفاظت از قربانی، بلکه به معنای «حفاظت از عملیات، اپراتور و زیرساخت مهاجم» است.
از کنار هم گذاشتن معماری و الزامات ذکرشده در سند میتوان چند اصل طراحی را تشخیص داد:. کاهش سطح قابل شناسایی، به این معنی که فایل، رفتار و ارتباط شبکهای نباید الگوی ساده و ثابتی ایجاد کنند که محصولات امنیتی بتوانند بهراحتی آن را شناسایی کنند، کاهش وابستگی به محیط قربانی یعنی تا کلاینت بدون نصب اجزای اضافی و روی طیف بیشتری از سیستمهای ویندوزی قابل اجرا باشد، همچنین جداسازی قربانی از زیرساخت واقعی فرماندهی و کنترلبهطوری که کشف یک سیستم آلوده مستقیما به شناسایی اپراتور یا سرور اصلی منجر نشود، حفاظت از داده و مسیر انتقال آن و مقاومت در برابر تحلیل.
در لایه مدیریتی نیز طراحی پنل متمرکز، مدیریت کاربران و ثبت وقایع نشان میدهد امنیت عملیاتی فقط در سمت قربانی در نظر گرفته نشده است. اپراتورها باید بتوانند چندین سیستم آلوده را از یک محیط کنترلشده مدیریت کنند و فعالیتهای انجامشده در سامانه نیز قابل ثبت و پیگیری باشد. همین جزئیات است که ثاقب را از یک بدافزار ساده جدا میکند و آن را به یک «پلتفرم عملیاتی برای جاسوسی مستمر» نزدیک میسازد.
در مجموع، بدافزار باید «روی تعداد بیشتری از سیستمها اجرا شود، دیرتر شناسایی شود، ارتباط آن کمتر قابل ردیابی باشد و در صورت کشف نیز تحلیل آن دشوارتر شود». این ویژگیها با ماموریتی که در ابتدای همان سند برای ثاقب تعریف شده، یعنی دسترسی پایدار به دادههای حساس و سیستمهای اهداف ردهبالا، سازگار است.