یک مهاجم فرانسویزبان پس از نفوذ به یک کسبوکار کوچک فعال در صنعت خودروسازی فرانسه، با استقرار ابزارهای سرقت اطلاعات و ایجاد دسترسی پایدار(Persistent Access) ، موفق شد حتی پس از از دسترس خارج شدن سرور فرماندهی و کنترل (C2) همچنان به سیستمهای قربانی متصل باقی بماند. این دسترسی از طریق پیادهسازی OpenSSH و Tailscale شکل گرفت؛ مسیری مستقل از زیرساخت Havoc که بار دیگر نشان میدهد قطع ارتباط C2 الزاماً به معنای پایان نفوذ نیست.
بر اساس گزارش منتشرشده توسط محققان Cato Networks، اپراتوری با شناسه Poisson طی 33 روز و در قالب 339 دستور، زنجیرهای کامل از نفوذ، سرقت اعتبارنامهها و دسترسی پایدار را اجرا کرده است.
ایجاد مسیر جایگزین برای دسترسی پایدار
این حمله با نفوذ اولیه به یک شرکت کوچک فعال در صنعت خودروسازی آغاز شد؛ جایی که مهاجم با استقرار یک کیلاگر (Keylogger) روی سیستم قربانی، موفق به سرقت اطلاعات ورود حسابهای بانکی و ایمیل شد.
با این حال، نقطه کلیدی عملیات در مراحل پایانی شکل گرفت؛ زمانی که مهاجم پیش از از دسترس خارج شدن سرور C2 ، ابزارهای OpenSSH Server و Tailscale را روی دستگاه قربانی نصب کرد تا یک کانال ارتباطی جایگزین برای دسترسی پایدار ایجاد کند.
بر اساس یافتههای تیم Cato CTRL، یک روز پس از غیرفعال شدن زیرساخت Havoc، ارتباط عاملهای (Agents) بدافزاری بهطور کامل از مسیر اصلی قطع شد؛ اما مهاجم همچنان از طریق مسیر مستقل ایجادشده، دسترسی فعال خود را حفظ کرد. حدود 18 روز بعد، با بازگشت مجدد C2 به وضعیت عملیاتی، عاملها بدون نیاز به نفوذ مجدد بهصورت خودکار متصل شدند و عملیات از همان نقطه ادامه پیدا کرد.
اپراتوری کمتجربه اما مؤثر
محققان تأکید میکنند عامل این حمله با شناسه Poisson یک گروه تهدید هدفمند پیشرفته (APT) نیست؛ بلکه بهاحتمال زیاد اپراتوری کمتجربه است که الگوی زمانی فعالیتهای او بیشتر به برنامه روزانه یک دانشآموز شباهت دارد. این مهاجم معمولاً پس از ساعت 3 بعدازظهر به وقت CET فعال بوده و در میانه روز یک وقفه طولانی در فعالیتهای خود داشته است. زیرساخت مورد استفاده این مهاجم نیز عمدتاً بر سرویسهای رایگان یا کمهزینه استوار بوده است. از جمله مهمترین اجزای این زیرساخت میتوان به موارد زیر اشاره کرد:
- سرویس DNS پویا DuckDNS برای مدیریت دامنه و هدایت ترافیک
- فضای ذخیرهسازی ابری Backblaze B2 برای ذخیره دادهها
- یک سرور مجازی خصوصی (VPS) ارزانقیمت از شرکت IONOS در برلین.
این مهاجم در جریان عملیات خود چندین خطای عملیاتی مرتکب شد؛ از جمله چند بار به طور ناخواسته دایرکتوری کاربری خود را افشا کرد، باکتهای ذخیرهسازی (Storage Buckets) را با شناسه شخصی خود نامگذاری کرد و حتی یک فایل آزمایشی را در بسته کیلاگر باقی گذاشت که شامل نمونهای از کلیدهای تایپشده توسط خود او (Keystrokes) بود.
با این حال، با وجود شکست در حدود نیمی از تلاشهای عملیاتی، در نهایت موفق شد چهار سیستم مختلف را بهطور کامل آلوده کرده و تحت کنترل خود درآورد.
زنجیره حمله
در این مرحله، کل زنجیره بدافزار تقریباً بهطور کامل در حافظه سیستم اجرا میشد و هیچ اثری روی دیسک باقی نمیگذاشت. ابتدا یک لودر VBScript همراه با یک مکانیزم تأخیر اجرا (Execution Delay) برای دور زدن محیطهای ایزوله (Sandbox) اجرا شد که در ادامه یک لودر پاورشل (PowerShell) را رمزگشایی کرد. این لودر سپس یک ماژول .NETرا اجرا کرد که عامل Demon در فریمورک Havoc را مستقیماً و بدون ذخیرهسازی روی دیسک فعال میکرد. در این بخش، روند اجرای حمله عملاً منجر به شکلگیری دسترسی پایدار در سطح سیستم شد.
مهاجم برای افزایش سطح دسترسی (Privilege Escalation)، از دستور Start-Process -Verb RunAs استفاده کرد؛ روشی که برخلاف دور زدنهای مخفی UAC، پنجره تأیید ویندوز (Windows Consent Prompt) را نمایش میدهد و منتظر تأیید کاربر میماند. در مورد یکی از قربانیان، این مرحله طی دو روز و پس از حدود دوازده تلاش ناموفق تکمیل شد.
پس از آن، مرحله تثبیت نفوذ آغاز شد. مهاجم یک تسک زمانبندیشده (Scheduled Task) ایجاد کرد که در هر بار لاگین با بالاترین سطح دسترسی اجرا میشد، سپس با تزریق شلکد (Shellcode Injection) در پردازه Explorer.exe حضور خود را در حافظه تثبیت کرد و در نهایت از نسخهای سفارشیسازیشده از ابزار RustDesk بهعنوان کانال ارتباطی پشتیبان استفاده کرد.
ماژول سرقت اعتبارنامهها یک کیلاگر پایتونی ساده با حدود 70 خط کد بود که کلیدهای تایپشده را در فایل لوکال ذخیره میکرد و فاقد هرگونه مکانیزم ارسال خودکار یا سرور استخراج داده بود. به همین دلیل، مهاجم ناچار بود بهصورت دستی به سیستم دسترسی پیدا کند، فایل حاوی دادههای ثبتشده را استخراج کند و با اجرای دستور powercfg مانع فعال شدن حالت Sleep شود تا جمعآوری اطلاعات متوقف نشود.
OpenSSH و Tailscale؛ هسته اصلی دسترسی پایدار
در تاریخ 7 آوریل، طی یک جلسه پنجساعته در طول شب، مهاجم ابزار OpenSSH و Tailscale را روی سیستم قربانی نصب کرد، سپس دستگاه را به شبکه خصوصی Tailscale خود متصل نمود و احراز هویت مبتنی بر کلید بههمراه یک تونل معکوس (Reverse Tunnel) را پیکربندی کرد. در این مرحله، او توانست از طریق شبکه مش (mesh) رمزنگاریشده Tailscale، بدون نیاز به سرور C2 و بدون هیچ پورت باز قابل دسترس، به سیستم قربانی دسترسی داشته باشد.
روز بعد، زیرساخت Havoc از دسترس خارج شد. گزارش Cato دلیل مشخصی برای این رخداد ارائه نمیدهد و از نظر عملی نیز این موضوع چندان تعیینکننده نیست؛ زیرا مسیر ایجادشده از طریق Tailscale روی یک شبکه کاملاً مستقل قرار داشت و همین موضوع باعث شد دسترسی پایدار همچنان فعال باقی بماند.
زمانی که C2 در تاریخ 26 آوریل مجدداً در دسترس قرار گرفت، عاملهای بدافزاری بدون نیاز به نفوذ مجدد بهصورت خودکار مجدداً متصل شدند. در پنج روز پایانی این عملیات، مهاجم 145 دستور دیگر اجرا کرد و در ادامه به بررسی محل ذخیرهسازی کارتهای هوشمند و گواهینامهها پرداخت؛ موضوعی که نشان میدهد مهاجم احتمالاً در پی دستیابی به دسترسی مبتنی بر گواهی بوده است. او همچنین دو فایل اجرایی نامشخص را از آرشیوی با نام Thales.zip اجرا کرد؛ فایلهایی که در مجموع حدود 32 دقیقه فعال بودند. مهاجم در ادامه 17 فایل را حذف کرد و سرانجام در تاریخ 1 می به فعالیت خود پایان داد.
هدف مهاجم چه بود؟
بررسیهای تیم Cato نشان میدهد دامنه اهداف مهاجم کاملاً محدود و هدفمند بوده است. در این عملیات هیچ نشانهای از استفاده از ابزارهایی مانند Mimikatz (ابزار استخراج اعتبارنامهها)، اجرای حرکت جانبی (Lateral Movement)، استقرار باجافزار یا سرقت گسترده اسناد مشاهده نشده است. اگرچه مهاجم برخی اطلاعات نظیر سوابق مالیاتی و بیمهای را بررسی کرده بود، اما تمرکز اصلی او بر سرقت دادههایی قرار داشت که کاربران بهصورت مستقیم وارد میکردند؛ این دادهها شامل موارد زیر بودند:
- نامهای کاربری و رمزهای عبور حسابهای بانکی
- رمزهای عبور ایمیل
- اطلاعات دسترسی به پورتالهای دولتی
برای یک کسبوکار کوچک، این سطح از دادهها معادل یک ریسک مستقیم مالی است. این پرونده نشان میدهد که دسترسی پایدار الزاماً نیازمند ابزارهای پیچیده یا زنجیرههای پیشرفته نفوذ نیست؛ بلکه در بسیاری از موارد، ترکیب ابزارهای کاملاً قانونی با چند تغییر ساده در پیکربندی میتواند برای حفظ حضور مهاجم در محیط قربانی کافی باشد.
دلیل اهمیت این تکنیک برای تیمهای دفاعی
هیچیک از ابزارهای استفادهشده در این عملیات جدید یا ناشناخته نیستند و دقیقاً همین موضوع، ریسک را افزایش میدهد. گروه تهدید هدفمند پیشرفته APT31 چین در سالهای 2024 و 2025 از Tailscale برای ایجاد تونلهای مخفی و خروج پنهانی از شبکه شرکتهای IT روسی استفاده کرده است.
همچنین گروه Scattered Spider پیشتر به ابزارهای دسترسی از راه دور قانونی مانند Ngrok و FleetDeck تکیه داشته است. در همین حال، ابزار RustDesk که در این پرونده بهعنوان کانال پشتیبان مهاجم استفاده شد، در برخی نفوذهای اخیر مرتبط با باجافزار Akira نیز مشاهده شده است.
از آنجا که این باینریها امضا شده و کاملاً قانونی هستند، راهکارهای دفاعی که فقط بر شناسایی فایلهای مخرب تکیه دارند و عملکردهای غیرعادی را بررسی نمیکنند، ممکن است نتوانند این نوع دسترسی پایدار را تشخیص دهند. اهمیت این پرونده در ارائه شواهد در سطح فرمان (Command-Level Evidence) است؛ شواهدی که نشان میدهد حتی یک اپراتور کمتجربه نیز میتواند با اتکا به ابزارهای قانونی و تغییرات ساده، سطح مؤثری از پایداری در محیط قربانی ایجاد کند.
نشانههای شناسایی و شکار تهدید
فهرست پیشنهادهای شکار تهدید (Threat Hunting) که توسط شرکت Cato منتشر شده، مجموعهای از شاخصهای عملی و قابلاجرا را برای تیمهای امنیتی ارائه میدهد. این شاخصها میتوانند به شناسایی عملکردهای مشکوک در شبکه و میزبانها کمک کنند، از جمله:
- فعالسازی هشدار در صورت نصب سرورOpenSSH روی یک رایانه کاربری؛ اقدامی که در اغلب محیطهای سازمانی غیرمعمول یا غیرمجاز محسوب میشود.
- شناسایی اجرای فایل exe روی سیستمهایی که دلیلی برای استفاده از VPN ندارند.
- بررسی وجود تونلهای معکوس امن شل (Shell) که با دستور ssh -R به سمت میزبانهای خارجی برقرار میشوند.
- مانیتورینگ اجرای exe برای فایلهای .vbs که از طریق مسیرهای آمادهسازی حمله یا دایرکتوریهای کاربر اجرا میشوند.
- شناسایی تسکهای زمانبندیشده با سطح دسترسی بالا که اقدام به اجرای مفسرهای اسکریپت (Script Interpreters) میکنند.
- نظارت بر تغییرات دستور powercfg که باعث غیرفعال شدن حالت sleep و روشن ماندن غیرعادی سیستم میشود.
- مسدودسازی استفاده از سرویسهای سامانه نام دامنه پویا (Dynamic DNS) مانند DuckDNS.
نکته مهمتر این است که شناسایی سرور C2 بهتنهایی کافی نیست؛ باید این احتمال را در نظر گرفت که C2 تنها یکی از مسیرهای نفوذ است و مهاجم ممکن است لایههای دیگری از دسترسی پایدار را در پشت آن پنهان کرده باشد. در نتیجه، این مسیرهای پنهان نیز باید بهطور فعال بررسی و شناسایی شوند.
حذف C2 کافی نیست؛ لایههای پنهان نفوذ را شناسایی کنید
یکی از پرسشهای بیپاسخ این پرونده همچنان محتوای فایل Thales.zip و عملکرد دقیق دو فایل اجرایی ناشناسی است که حدود 32 دقیقه روی سیستم اجرا شدند. با این حال، یک نکته کلیدی تا حد زیادی مشخص شده است: سرور C2 خودِ نقطه نفوذ نبود، بلکه تنها یکی از مسیرهای دسترسی و کنترل مهاجم بر سیستم محسوب میشد.
در چنین شرایطی، اگر مدافعان تنها سرور C2 را از دسترس خارج کنند، اما ابزارهایی مانند OpenSSH، Tailscale، تسک زمانبندیشده و کیلاگر همچنان فعال باقی بمانند، مهاجم همچنان یک مسیر بازگشت به سیستم در اختیار خواهد داشت.
دقیقاً در همین نقطه است که بسیاری از فرآیندهای حذف آلودگی (Remediation) با شکست مواجه میشوند؛ زیرا تمرکز صرف بر قطع زیرساخت C2 باعث میشود لایههای پنهان دسترسی پایدار نادیده گرفته شوند. در چنین سناریوهایی، شناسایی و حذف این سازوکارهای پنهان باید به یکی از محورهای اصلی پاسخگویی به رخداد، تحلیل و پاکسازی کامل سیستم تبدیل شود.