تور لحظه آخری
امروز : سه شنبه ، 29 آبان 1403    احادیث و روایات:  امام علی (ع):روزه پرهيز از حرامها است همچنانكه شخص از خوردنى و نوشيدنى پرهيز مى‏كند.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

 






آمار وبسایت

 تعداد کل بازدیدها : 1831223411




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
 refresh

از بدافزار معادله چه می‌دانید؟


واضح آرشیو وب فارسی:جام جم آنلاین: به گزارش جام جم کلیک: با انتشار خبر کشف بدافزار "معادله" ، کار تحلیل دقیق ماژول‌های این بدافزار توسط کارشناسان پادویش آغاز شد. با بررسی‌های اولیه‌ی صورت گرفته مشخص شد طراحی و پیاده‌سازی این بدافزار نیز، هم‌چون ‌موارد پیشرفته‌ی قبلی، ماژولار است. به طور کلی کدهای مربوط به بدافزار در قالب‌های متفاوتی از جمله فایل‌های اجرایی، درایور و پلاگین در سیستم اجرا می‌شود و تا کنون حدود پنج ماژول مختلف با نسخه‌های متفاوت کشف شده‌اند. بررسی فایل‌های مرتبط با این بدافزار نشان می‌دهد که تاریخ پیاده‌سازی آن‌ها به اوایل سال 2008 میلادی باز‌می‌گردد. هرچند تاریخ موجود در فایل‌های بسیاری از بدافزار‌ها قابل اعتماد نیست، اما استفاده‌ی بدافزار از اکسپلویت معروفی که آسیب‌پذیری آن در نسخه‌های بعد از ویندوز xp برطرف شد به ما اطمینان می‌دهد که طراحی و پیاده‌سازی ماژول‌های بدافزار به زمانی قبل از به بازار آمدن نسخه‌های بعد از ویندوز xp باز‌می‌گردد. در قدم اول، دو ماژول EquationDrug و GrayFish به عنوان راه اندازهای اصلی ماژول‌های مراحل بعدی تشخیص داده شده و هدف تحلیل قرار گرفتند. این دو ماژول نه تنها از لحاظ عملکردی مشابه‌اند بلکه ساختار کد آن‌ها نیز بسیار به یکدیگر نزدیک است. علاوه بر‌این استفاده از درایور و موتکسی با نام یکسان توسط این دو ماژول ارتباط نزدیک طراحان آن را تایید می‌کند. نکته‌ی جالب توجه این است که اکسپلویت ذکر شده نیز توسط هر دو ماژول با اندکی تفاوت به طور مشترک مورد استفاده قرارگرفته‌است! شاید ذکر این نکته جالب‌تر باشد که همین اکسپلویت در سال‌های بعد توسط بدافزار stuxnet نیز مورد استفاده قرار‌گرفت. به همین دلیل است که وجود ارتباط میان طراحان این دو بدافزار، stuxnet و Equation، دور از انتظار نیست. علاوه‌‌بر استفاده‌ی مشترک از این اکسپلویت، آن هم در زمانی قبل از انتشار این آسیب‌پذیری در سیستم عامل ویندوز، پی‌لود‌های اجرا شده نیز اهدافی بسیار مشابه دارند. اگر‌چه در روز‌های اخیر انتشار خبر کشف این بدافزار کارشناسان زیادی را ترغیب به تحلیل این بدافزار کرده‌است، اما هنوز هیچ تحلیل دقیقی از این بدافزار منتشر نشده‌است. در ادامه بخش‌هایی از تحلیل دقیق این دو ماژول توسط کارشناسان پادویش ارایه می‌شود: 1- ماژول راه‌انداز EquationDrug به طور خلاصه می‌توان گفت اجرای این ماژول در سیستم به عدم حضور برخی از دیواره‌های آتش وابسته‌است. در ادامه لیست دیواره‌های آتش مورد نظر بدافزار آمده‌است. این ماژول برای اطمینان از عدم وجود این دیواره‌های آتش از خواندن کلیه‌ی زیرکلید‌های مسیر رجیستری زیر استفاده می‌کند. HKEY_LOCAL_MACHINE / Software

در صورت وجود هر یک از دیواره‌های آتش، EquationDrug فایل خود را قبل از اولین راه‌اندازی مجدد از بین برده و در غیر این صورت، بررسی می‌کند که دسترسی‌های لازم برای ساختن فایل و بارگذاری درایور را دارد یا خیر. در صورتی که دسترسی پایین‌تری داشته باشد با استفاده از آسیب پذیری که در win32k.sys وجود دارد، با بهره‌گیری از Privilege escalation exploit دسترسی‌های لازم را به دست می‌آورد و سپس ماژول‌های مراحل بعدی را دراپ کرده و راه‌اندازی و اجرا می‌کند. بعد از این عملیات و اجرای کلیه‌ی فایل‌های مورد نظر، در نهایت ماژول EquationDrug با دستور قبلی اقدام به از بین بردن فایل خود قبل از اولین راه‌اندازی مجدد می‌کند. در جدول زیر اطلاعات مربوط به کلیه‌ فایل‌های دراپ‌شده توسط این ماژول آمده‌است. سایز(byte) MD5 نام شماره 380928 4556CE5EB007AF1DE5BD3B457F0B216D EquationDrug dropper 1 385024 60C21E45D6EE3B18205957D3E09E83ED msnadt.exe 2 249856 5767B9D851D0C24E13ECA1BFD16EA424 MSCFG32.DLL 3 22016 C3AF66B9CE29EFE5EE34E87B6E136E3A MSCFG32.EXE 4 9728 EF4405930E6071AE1F7F6FA7D4F3397D unilay.dll 5 105120 C4F8671C1F00DAB30F5F88D684AF1927 MSNDSRV.SYS 6 512 C2AC3057054A19FB5A33B43125E3414A mslog32.dat 7 77824 FD167CA95FC0A5242E20E6C50DA7475A MSDIRECTX.EXE 8
نکته‌ای که باید به آن اشاره کرد این است که کلیه‌ی کدهای مربوط به ماژول‌های مراحل بعدی و اطلاعاتی هم‌چون نام دیواره‌های آتش، همگی با الگوریتمی یکسان رمز شده و در بخش منابع، resource، ماژول EquationDrug قرار‌گرفته‌اند. این کد‌ها و اطلاعات در مراحل مختلف لود شده، رمز‌گشایی می‌شوند و مورد‌استفاده‌ی بدافزار قرار ‌می‌گیرند. علاوه بر این، این ماژول موتکسی با نام prkMtx را در سیستم می‌سازد.

2- ماژول راه‌انداز GrayFish به طور کلی این ماژول یکی از ماژول‌های راه انداز بدافزار است که نسبت به راه انداز دیگر گروه "معادله"، EquationDrug، از ساختاری پیشرفته‌تر برخوردار‌است. با توجه به این‌که زمان کامپایل این ماژول به اوایل سال 2008 میلادی بازمی‌گردد می‌توان گفت تکنیک‌های به‌کار‌رفته در آن در زمان خود بسیار پیشرفته بوده و حتی برخی از آن‌ها برای اولین بار استفاده شده‌اند. تقریبا تمامی رشته‌های مهم از قبیل نام API‌ها و Event‌ها، فایل‌ها و ماژول‌های دیگر به صورت رمز‌شده نگه‌داری می‌شود. علاوه بر این به غیر از بخش انتهایی برنامه که بعد از انجام عملیات دراپ کردن و راه‌اندازی موفقیت‌آمیز درایورها فرا‌می‌رسد، کد سایر بخش‌ها غیر‌مبهم و تمیز است. در واقع در بخش ابتدایی برای دشوار‌شدن روال تحلیل، برنامه به‌جای استفاده از تکنیک‌های مبهم‌سازی و چندریختی، از تکنیک هوک بهره‌برده‌است. به طور دقیق‌تر می‌توان گفت برنامه‌نویس سعی‌کرده‌است برای جلوگیری از مشخص‌شدن روال کار، با استفاده از پیگیری APIهای استفاده شده، بخشی از کد یک درایور را در کرنل هوک کند. برای رسیدن به این هدف تابع IRP_MJ_DEVICE_CONTROL مربوط به درایور Null.sys انتخاب و هوک می‌شود. این هوک با بهره گیری از یک اکسپلویت معروف پیاده‌­‍‌‌‌‌‌سازی شده­‌است که توسط بدافزار stuxnet نیز مورد استفاده قرار گرفته بود (آسیب پذیری که در win32k.sys وجود دارد، همانند ماژول قبلی). در این قسمت از توضیح دقیق روال کاری این اکسپلویت خودداری کرده­‌ایم. نکته‌­ی جالب توجه این است که علی رغم برطرف شدن این آسیب‌پذیری در ویندوزهای نسخه‌­های بالاتر، بدافزار هم‌چنان تلاش می‌کند از اکسپلویت مذکور استفاده کند. بعد از هوک کردن این تابع، کلیه­‌ی فراخوانی‌­ها به جای فراخوانی مستقیم APIها از طریق فراخوانی این تابع صورت می­‌گیرد. برای مثال در زمان درخواست ساخت یک کلید رجیستری و یا نوشتن در آن، به جای استفاده از توابع معمول مثل RegCreateKey, RegSetValue به درایور Null.sys دستورات کنترلی ارسال می­‌شود. بنابراین می‌­توان گفت که کد فعال شده در این بخش هم‌چون یک API عمومی، GeneralAPI، عمل می‌کند. به این معنی که با توجه به کنترل کد و ورودی­‌های دریافتی تشخیص می‌­دهد که باید چه اقدامی در سیستم صورت دهد. با توجه به توضیحات داده شده به طور خلاصه روال کار بدافزار در این بخش در سه مرحله انجام می‌­پذیرد. مرحله­­‌ی اول: هوک کردن تابع ZwShutdownSystem نتیجه: قرار گرفتن کد اولیه برای هوک کردن تابع IRP_MJ_DEVICE_CONTROL مربوط به درایور Null.sys مرحله­‌ی دوم: فراخوانی تقلبی تابع ZwShutdownSystem و اجرای کد اولیه نتیجه: قرار گرفتن کد ثانویه به عنوان API عمومی در تابع مربوطه مرحله­‌ی سوم: فراخوانی متوالی API عمومی از طریق فراخوانی تقلبی تابع DeviceIoControl برای فایل با مسیر //.// NUL نتیجه: انجام کلیه­‌ی فعالیت‌­های راه انداز از این طریق لازم به ذکر است که بدافزار از API عمومی خود برای مقاصد زیر استفاده می­‌کند. عملیات خواندن و نوشتن کلیدهای رجیستری ساخت کلید رجیستری و پارامترهای آن خواندن و نوشتن در فایل ساخت فایل لود کردن درایورها در سیستم ساخت Thread در شکل زیر می­‌توانید نمایی از ابتدای دومین پی­لود تابع را که به عنوان API عمومی عمل می­‌کند مشاهده کنید. فلش­‌های قرمز نمایشگر کدهای کنترلی‌ست که از سمت بخش کاربری به عنوان پارامتری کنترلی برای بخش کرنل ارسال شده و توسط بدافزار پشتیبانی می‌­شود.

بعد از آماده شدن API عمومی، نوبت به ایجاد فایل‌­های درایور بدافزار و لود کردن آن­ها می‌­رسد. همان­طور که در شکل نمایش داده شده است سه درایور بدافزار به نام­‌های hrilib، msndsrv و ntevt در مسیر SYSTEM32 ایجاد شده و در مرحله­‌ی بعد راه‌­اندازی می‌­شوند. علاوه بر این برای هر یک از درایورها در مسیر رجیستری زیر کلیدی با پارامترهای مربوط ساخته شده و با مقادیری که در ادامه آمده است مقداردهی می‌­شود.

* به جای نام hrilib در توضیحات رجیستری بالا می‌­تواند نام هر یک از درایورهای ساخته شده توسط راه‌انداز قرار گیرد. توضیح این نکته ضروری به نظر می‌­رسد که استفاده از نوع LegacyDriver در ماژول‌­های درایور می­‌تواند به قدیمی بودن زمان طراحی و پیاده‌سازی این ماژول اشاره داشته باشد؛ چرا که این درایورها وابسته به طراحی legacy Windows NT بوده و از نوع Non-Plug and Play Drivers می‌­باشند. در ادامه ماژول GrayFish از میان کلیدهای مربوط به سرویس­‌های درایوری در رجیستری دو کلید را به‌صورت تصادفی انتخاب کرده و پلاگین‌­های خود را که به فرمت رمز شده است به عنوان پارامتر در آن­ها ذخیره می­‌کند. به نظر می‌­رسد این پلاگین‌­ها در مراحل بعدی توسط سایر ماژول‌­ها مورد استفاده قرار گیرند. یکی دیگر از موارد جالب دیده شده در روال این برنامه استفاده از تابع سند نشده‌ی RtlImageDirectoryEntryToData برای دریافت جدول Import ماژول ntkrnlpa است. با استفاده از این تابع سند نشده می‌توان اطلاعات متفاوتی را از یک فرمت PE لود شده در حافظه استخراج کرده و خواند. در انتها نیز فایل INSTV4.BAT در مسیر زیر ساخته می­‌شود که حاوی دستور از بین بردن فایل اصلی برنامه است. C:/Documents and Settings/***/Local Settings/Temp بخش دیگر فایل ورژن سیستم عامل را با موارد زیر مقایسه می‌کند. Service Pack 1 Service Pack 2, v.2055 Service Pack 2, v.2096 Service Pack 2, v.2149 Service Pack 2 Service Pack 3, v.3244 نتیجه­‌ی مقایسه‌­ی نسخه‌­ی سیستم در این مرحله تاثیری عملی بر روال کاری ماژول نخواهد داشت؛ اما این امکان وجود دارد که تغییرات ایجاد شده در پلاگین­‌ها وابسته به این موضوع باشد. بخش انتهایی برنامه دارای کدهای مبهم است به گونه‌ای که سعی‌شده‌است به جای استفاده از فراخوانی‌ها و یا پرش‌های مشخص، آدرس بعدی اجرای کد در هر مرحله به روش‌های متفاوت ساخته‌شده و به وسیله‌ی فراخوانی‌های غیر مستقیم، رجیستری و یا دستور بازگشت ادامه‌ی برنامه اجرا شود. در شکل‌های بعدی بخش‌هایی از کد پایانی بدافزار را مشاهده می‌کنید.





سایز(byte) MD5 نام شماره 573,440 9B1CA66AAB784DC5F1DFE635D8F8A904 GrayFish dropper 1 6,400 8E13014032DF7CC9757F05742E56D9BE hrilib.sys 2 45,920 C87E249A802CBB610F19E9D90AEE80E2 msndsrv.sys 3 91,136 DECB89B1C2A1354666FF398AE9D0D948 ntevt.sys 4



1. Drop driver modules 2. Create/Write to registry key 3. Drop encrypted plugins 4. Create thread منبع: پادویش


اخبار مرتبط :


تشخیص پیشرفته‌ترین بدافزار دنیا (معادله) توسط ضدروت‌کیت ایرانی

رُستوک ، ارباب حقه‌ها

تاسیس سازمان ویژه امنیت‌ اینترنتی

تحلیل عملکرد بدافزار رجین


چهارشنبه 20 اسفند 1393 ساعت: 14:10





این صفحه را در گوگل محبوب کنید

[ارسال شده از: جام جم آنلاین]
[مشاهده در: www.jamejamonline.ir]
[تعداد بازديد از اين مطلب: 57]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن