ژوئن 2018، به مجموعه نمونههای غریبی برخوردیم که در کشورهای آسیای جنوبی و جنوب شرقی آسیا شیوع پیدا کرده بودند. این نمونهها بیشتر هویتهای دیپلماتیک، دولتی و نظامی را مورد هدف خود قرار دادند. کمپین مذکور که شاید از سال 2012 شروع شده بود از رویکردی چندمرحلهای برخوردار بود و EasternRoppels نام داشت. عامل اصلی این کمپین -که گفته میشود به گروه جرایم سایبریِ PLATINUM APT ربط دارد- برای پنهان کردن ارتباطات، از تکنیک استادانهی پنهاننگاری (استگانوگرافی) استفاده کرده بود.
به گزارش روابط عمومی شرکت ایدکو (توزیع کننده محصولات کسپرسکی در ایران)؛ در مرحله اولیه، اپراتورها برای اجرای دانلودرِ PowerShell از اشتراکهای «ابزار مدیریتی ویندوز» (WMI) استفاده کردند که در عوض بکدر PowerShell کوچک دیگری را دانلود کرد. ما خیلی از اسکریپهای WMI PowerShell را جمعآوری کردیم و متوجه وجودِ C&C هارکُد شده، آدرسهای آیپی، کلیدهای مختلف رمزگذاری (حتی مختلف برای هر یک از لودرهای اولیه) و نیز ساعات فعالیتِ مختلفی (بدینمعنا که این بدافزار تنها در طول بازهی زمانی مشخصی در روز کار میکرد) شدیم. آدرسهای C&C روی سرویسهای میزبانِ رایگان قرار داشتند و مهاجمین از تعداد زیادی از اکانتهای دراپباکس (برای ذخیرهسازی پیلود و دادههای کنار گذاشتهشده) استفاده کردند. هدف چنین بکدر PowerShell اجرای چاپ اولیه اثر انگشت سیستم بود زیرا مجموعه محدودی از فرمانها را پشتیبانی میکرد: دانلود یا آپلود فایل و اجرای اسکریپت PowerShell.
در همان تاریخ، تهدید دیگری را نیز مورد بررسی قرار دادیم که به عقیدهی ما مرحله دوم همان کمپین بود. ما توانستیم بکدر را -که برای جان سالم به در بردن از ریبوت به عنوان یک DLL[1] جاگذاری شده بود و در قالب یک WinSock NSP عمل میکرد- پیدا کنیم. این بکدر از خیلی جهات با بکدر PowerShell (که در فوق شرح دادیم) شباهت دارد: ساعات فعالیت هاردکد شده دارد؛ از دامنههای رایگان به عنوان آدرسهای C&C استفاده میکند و غیره. این بکدر همچنین برخی ویژگیهای انحصاری نیز دارد. برای مثال، میتواند تمام ارتباطاتش را با سرور C&C با استفاده از پنهاننگاریِ متن، مخفی کند. بعد از تحلیلی عمیقتر متوجه شدیم این دو تهدید به هم ربط دارند. از بین این وجود مرتبط میتوان به این مورد اشاره کرد که هر دو حمله برای ذخیرهسازیِ اطلاعات کنار گذاشتهشده از یک دامنه استفاده میکردند. همچنین به این مسئله نیز پی بردیم که برخی از قربانیان در یک بازهی زمانی توسط هر دو بدافزار مورد حمله قرار گرفتند. جالب است این را هم بدانید که در مرحلهی دوم، تمامی فایلهای قابلاجرا با یک کریپترِ راینتایم حفاظت میشدند و بعد از آنپک کردن آنها به یک نمونهی دیگر نیز پی بردیم که قبلاً کشف نشده بود؛ بکدری که میگویند به PLATINUM ربط دارد.
بکدر پنهاننگاری
این یک جفت بکدرِ اصلی در حقیقت با یک دراپرِ[2] مخصوص نصب میشوند. وقتی دراپر اجرا میشود، فایلهایی را که در بخش .arch آن جاگذاری شدهاند رمزگشایی میکند.
سپس شروع میکند به ساخت دایرکتوریهایی برای بکدر تا در آنها بتواند اجرا شده و فایلهای مرتبط با بدافزار را ذخیره سازد. دراپر معمولاً از روشهایی مثل روشهای اتخاذ شده توسط نرمافزارهای قانونی استفاده میکند. عموماً این بدافزار دو فایل را دراپ میکند: خودِ بکدر و فایل پیکربندیِ آن. بعد از این کار، دراپر بکدر را اجرا کرده، آن را نصب میکند تا مکانیزمی پایدار برقرار شود و در مرحله آخر نیز خود را از میان برمیدارد. فایلِ پیکربندی همیشه افزونهی .cfg یا .dat داشته و شامل آپشنهای زیر میشود:
pr- اشاره به Poll Retries فواصل زمانی را که بعدش بدافزار برای سرور C&C درخواست فرمان جدیدی برای اجرا صادر میکند، به دقیقه مشخص مینماید.
ht- استفاده نشده
sl- تاریخ و زمانی را که بدافزار شروع به اجرا شدن میکند مشخص مینماید. وقتی تاریخ مورد نظر سر میرسد، بدافزار این گزینه را پاک میکند.
opt- اشاره به Office Hours (ساعات اداری) که ساعات و دقایق یک روز را حین فعال بودن بدافزار اندازهگیری میکند.
die- اشاره به Eradicate Days (روزهای امحا) که تعداد روزهایی را که بدافزار در کامپیوتر قربانی کار میکند محسابه میکند.
بخش p آدرسهای C&C بدافزار را فهرست میکند.
بخش t یوآرالهای قانونی را -که برای تضمین وجودِ اتصال اینترنت استفاده میشوند- فهرست میکند.
پایداری
بکدر اصلی در قالب یک DLL جاگذاری میشود و با نام NSPStartup تابعی را صادر مینماید. بعد از دراپ کردن آن، اینستالر (یا همان نصبکننده) بکدر را با کمک تابع WSCInstallNameSpace API ، به عنوان ارائهدهندهیفضای نام[3] winsock2 رجیستر میکند. و بعد آن را تحت عنوان WSCEnableNSProvider اجرا میکند.
در نتیجهی چنین نصبی، ارائهدهندهی فضای نامِ رجیستر شده در طول راهاندازی پروسهی “svchost -k netsvcs روی استارت آپ سیستم، در فضای آدرس پروسه لود خواهد شد و بعد این تابع دیگر NSPStartup صدا زده خواهد شد.
تعامل C&C
بکدر به محض راهاندازی و اجرا زمان فعلی را با ارزشهای «روزهای امحا»، «تاریخ فعالسازی» و «ساعات اداری» مقایسه میکند و اطلاعات معتبر پروکسی را نیز در Credential Store و Protected Storage ذخیره میکند.
وقتی همهی قوانین اجرا شد، بکدر به سرور بدافزار متصل میشود و صفحهی HTML را دانلود میکند. ظاهراً HTML نشاندهندهی این است که سرور C&C کند است:
با این حال، دلیلش همان پنهاننگاری است. این صفحه شامل فرمانهای جاگذاریشده است که با یک کلید رمزنگاری، رمزگذاری شدهاند. این فرمانها همچنین داخل صفحه نیز جاگذاری شدهاند. دادههای جاگذاریشده با دو ترفند پنهاننگاری کدنویسی شده و در برچسب <--1234567890> قرار میگیرد.
در خط 31، صفات align، bgcolor، colspan و rowspan به ترتیب حروف الفبا فهرست شدهاند؛ این درحالیست که در خط 32، همان صفات در ترتیبی متفاوت فهرست شدهاند. اولین تکنیک پنهاننگاری بر مبنایی پایهگذاری شده است که HTML به ترتیب صفات برچسب بیتفاوت باشد. ما میتوانیم با پس و پیش کردن صفات، پیامی را کدگذاری کنیم. خط 31 در نمونهی فوق شامل چهار برچسب میشود؛ تعداد این تغییرات در چهار برچسب مذکور 24= ! 4 است؛ بنابراین این خط، اطلاعات log2(24) = 4 را کدگذاری میکند. این بکدر با استفاده از تکنیک دومِ پنهاننگاری خط به خط را کدگشایی و کلید رمزگذاری برای اطلاعات را (که درست بعد از اینکه تگهای HTML در شرایط کدگذاری قرار گرفتند) جمعآوری میکند.
تصویر فوق نشان میدهد این اطلاعات به عنوان گروههایی با فضاهای مجزا و محدود شده به تب رمزگذاری شدند. هر گروه شامل صفر تا هفت فضا میشود و تعداد فضاها نمایانگر سه بیتِ بعدی اطلاعات است. برای مثال، اولین گروه روی خط 944 شامل شش فضا میشود؛ بنابراین در قالب 1102= 610 کدگشایی خواهد شد. رمزگشایی اطلاعات کدگشاییشده با استفاده از کلید کدگشاییشدهی AES-256 CBC یک روند منطقی است.
نتیجه، فهرستی از فرمانهای اجرا خواهد بود که درست مانند فایل پیکربندی بکدر محافظت میشود:
اطلاعات خام فرمان، استخراجشده از صفحه HTML.
تفسیر فرمانهای خام، استخراجشده از صفحه HTML بعد از رمزگشایی.
فرمانها
بکدری که کشف کردیم از آپلود، دانلود و اجرای فایلها پشتیبانی میکند؛ میتواند درخواست برای فهرست پردازش و لیست دایرکتوری را مدیریت کرده، خود را آپگرید و آناینستال نموده و همچنین فایل پیکربندی خود را تغییر دهد. هر فرمان، پارامترهای مخصوص به خودش را دارد؛ برای مثال سرور C&C که به فایلهای دانلود یا آپلود درخواست میدهد (و یا فایلی که حین آپلود شدن جدا میکند).
مدیر پیکربندی[4]
همچنان که بررسیهای بیشتری انجام میدادیم به ابزار دیگری نیز پی بردیم که در واقع یک مدیر پیکربندی از آب درآمد- یک فایل قابل اجرا که هدفش ساخت فایلهای پیکربندی و فرمان برای بکدرها بود. این یوتیلیتی میتواند بیش از 150 آپشن را پیکربندی کند. برای مثال در زیر، نتایج اجرای فرمان showcfg را شاهد هستید.
فرمان دومی که پشتیبانی میکند updatecfg است که کارش گذاشتن ارزشهایی است که اپراتور در فایل پیکربندی مشخص کرده است. همچنین، مدیر پیکربندی از فرمانهای Upload، Download، Execute، Search، UpdateConfig، AddKeyword، ChangeKeywordFile، ChangeKey، Upgrade و Uninstall پشتیبانی میکند. بعد از اجرای هر کدام از اینها، سپس فایل فرمانی میسازد که درست مثل فایل پیکربندی از آن محافظت میشود. سپس این فایل فرمان را در دایرکتوری CommandDir ذخیره میسازد (مسیر آن در پیکربندی گزینه 11 مشخص شده است). همانطور که در بخش Steganography backdoor شرح داده شد، این بکدر فایلهای فرمان را مدیریت نکرده و از فرمانهایی نظیر ChangeKeywordFile و ChangeKey پشتیبانی بعمل نمیآورد؛ بنابراین متوجه شدیم که ماجرا زیر سر بکدرِ دیگریست که با مدیر پیکربندیِ یافتشدهی ما جفت ساخته بود. گرچه ظاهراً چنین یوتیلیتی باید روی مهاجم اجرا شود اما قربانیای را پیدا کردیم که توسط آن و بکدر مربوطه واقع در همان محدوده مبتلا شده بود. ما بدان بکدر P2P میگوییم.
بکدر P2P
این بَکدر با بکدر قبلی خیلی شباهت دارد. برای مثال بسیاری از فرمانها نامهای مشابه دارند، فایلهای پیکربندیِ هر دو بکدرها آپشنهایی با نامهای یکسان دارند و درست به همان روش نیز محافظت میشوند. همچنین مسیرهایی که به فایلهای بکدر ختم میشوند نیز از نوع قانونی است. با این وجود، تفاوتهایی نیز بین آنها وجود دارد. بکدر جدید به مراتب از آپشنهای بیشتری از پیکربندی استفاده میکند و نیز فرمانهای بیشتری را نیز مورد حمایت خود قرار میدهد. علاوه بر اینها، قادر به برقراری تعامل با سایر قربانیهای آلودهشده میباشد و میتواند آنها را به شبکه وصل کند. بکدر جدید همچنین به طرز متفاوتی با سرور C&C کار میکند. جدا از اینها این بکدر همواره از logging استفاده میکند: ما روی دستگاه پیسیِ یکی از قربانیان، یک فایل لاگ مربوط به سال 2012 پیدا کردیم.
تعامل C&C
این بکدر توانایی سرک کشیدن به ترافیک شبکهی اینترنتی را دارد. بعد از اینکه بکدر اجرا میشود شروع میکند به سرککشی روی رابط هر شبکه تا بتواند بستهای که ساختار ویژهای دارند را شناسایی کند. این بسته همانیست که به ProbePort قربانی (مشخصشده در پیکربندی) فرستاده میشود. وقتی این اسنیفر (فریبنده) بستهای با چنین مشخصاتی پیدا میکند، آن را به عوان درخواست برای راهاندازیِ یک اتصال تلقی کرده و TransferPort را (مشخصشده در پیکربندی) به حالت شنیداری تنظیم میکند. درخواستدهنده فوراً به TransferPort قربانی وصل میشود و حالا هر دو طرف شروع میکنند به انجام بررسیهای اضافی (و تبدل کلیدهای رمزگذاریشان با یکدیگر). سپس، درخواست دهندهی این کانکشن به قربانی فرمانهایی ارسال میکند و قربانی هم آنها را به طور تعاملی مورد پردازش قرار میدهد.
این رویکرد به بکدر اجازه میدهد تا بدون نگه داشتن هیچ سوکتی در حالت شنیداری، مود شنیداری را حفظ کند- تنها زمانی سوکت شنیداری میسازد که بداند کسی سعی دارد کانکت شود.
فرمانها
این بکدر از همان فرمانهای بکدر پنهاننگاری پشتیبانی میکند و یک فرمان اضافی نیز بدان اضافه مینماید. این بکدر به سرویس شاخصگذاری ویندوز نفوذ کرده و میتواند برای دسترسی به کلیدواژههای ارائهشده توسط مهاجم به دنبال فایلها برود. این جستوجو میتواند با درخواست مهاجم و یا طبق جدول زمانی بخصوصی آغاز شود- کلیدواژهها برای جستوجوی زمانبندیشده در فایل مخصوصی ذخیره میشوند.
تمامی فرمانها از طریق فایلهای فرمان بکدر تأمین میشوند. فایلهای فرمان درست مانند فایلهای پیکربندی مورد حفاظت قرار میگیرند.
این شامل فرمان (id)، تاریخ فرمان (dt)، نام فرمان (t) و استدلالها (cmd) میشود.
سازندگان این بدافزار همچنین میتوانند قربانیان مبتلا را با شبکهی P2P ادغام کنند. بدینترتیب به مهاجم حسابی کمک میشود؛ برای مثال وقتی دو قربانی مبتلا یک شبکهی محلی داشته باشند اما تنها یکی از آنها به اینترنت دسترسی داشته باشد. در چنین موردی، مهاجم میتواند فایل فرمان را به قربانیای که دسترسی ندارد بفرستد. این دستورالعمل مستقیماً داخل خود فایل فرمان قرار میگیرد. وقتی مهاجم فایل را آماده میکند، فهرستی از میزبانهای آلوده در فرآیند انتقال فایل به مقصد دخیلند که از بین آنها میتوان به h1، h2، h3 اشاره کرد. ترتیبی که فایل فرمان بر اساس آن از طریق قربانیان به میزبانیِ مقصد انتقال داده میشود بدینشکل است: p1، p2 و .... برای مثال، اگر گزینهی p1 مساوی ‘2->3->1’ و گزینهی p2 مساوی با 2->3->4’ باشد، فایل فرمان با شاخصهای 1 و 4 به میزبانها انتقال داده خواهد شد (از طریق میزبانهای 2 و بعد 3). هر میزبان ه شرح زیر است: %Host IP%:%Host ProbePort%:%Host TransferPort%.
نتیجهگیری
ما با این گروه توانستیم حملهی جدیدی را کشف کنیم و اطلاع دهیم عاملین این حمله همچنان در حال فعالیتند و دارند یوتیلیتیِ مخرب خود را بیشتر و بیشتر تقویت میکنند. همچنین آنها دارند از ترفندها و تکنیکهای جدیدی برای پیشبرد قابلیتهای سرقتیِ APT استفاده میکنند. چندین سال پیش، پیشبینی کردیم که توسعهدهندگان APT و بدافزارِ بیشتری از پنهاننگاری استفاده خواهند کرد: عاملین از دو تکنیک پنهاننگاری در این APT استفاده کردند. جزئیات جالبتر اینکه این عاملین تصمیم گرفتند یوتیلیتیهای مورد نیاز خود را در قالب یک مجموعهی عظیم جاگذاری کنند- این ما را به ید معماریِ مبتنی بر فریم ورکی انداخت که دارد بیش از هر زمان دیگری محبوب میشود. در نهایت ما طبق کریپتور رایج که عاملین از آن استفاده میکنند توانستیم این حمله را به گروه بدنام PLATINUM نسبت دهیم. و این اصلاً خبر خوبی نیست: این گروه همچنان دارد به فعالیتهای خود ادامه میدهد.
IoCها
این فهرست تنها شامل IoCهایی میشود که با ماژولهای حمله که شرح داده شد ارتباط داشته باشد. تمامی IoCها برای مشتریان سرویس گزارش هوشمند کسپرسکی[5] موجود میباشد (تماس از طریق intelreports@kaspersky.com).
اینستالر بکدر پنهاننگاری:
26a83effbe14b63683f0c3e0a3f657a9
4b4c3b57416c03ca7f57ff7241797456
58b10ac25df04a318a19260110d43894
لانچر منسوخ بکدر پنهاننگاری:
d95d939337d789046bbda2083f88a4a0
b22499568d51759cf13bf8c05322dba2
بکدر پنهاننگاری:
5591704fd870919930e8ae1bd0447706
9179a84643bd6d1c1b8e6fe0d2330dab
c7fda2be17735eeaeb6c56d30fc86215
d1936dc97566625b2bfcab3103c048cb
d1a5801abb9f0dc0a44f19b2208e2b9a
بکدر P2P:
0668df90c701cd75db2aa43a0481718d
e764a1ff12e68badb6d54f16886a128f
مدیر پیکربندی:
8dfabe7db613bcfc6d9afef4941cd769
8dfabe7db613bcfc6d9afef4941cd769
[1]کتابخانه پیوند پویا
[2]دراپر (Dropper) نوعی تروجان است که برای نصب یک سری بدافزار برای مورد هدف قرار دادن سیستم مورد نظر طراحی شده است.
[3] (Namespace) در علوم رایانه، ظرف انتزاعی یا محیط ایجاد شده، برای برگزاری گروه بندی منطقی از شناسههای منحصر به فرد یا نماد است.
[4] configuration manager
[5] Kaspersky Intelligence Reporting
منبع: کسپرسکی آنلاین