ترندلبز:تحلیل آسیب‌پذیری ویندوز با نام Sandworm

به نام خدا

An Analysis of Windows Zero-day Vulnerability ‘CVE-2014-4114’ aka “Sandworm” via TrendLabs

در آپدیت امنیتی روز سه شنبه(مهرماه ۱۳۹۳) که توسط مایکروسافت ارائه می شود، وصله ی آسیب پذیری روز-صفرم مربوط به ویندوز با نام CVE-2014-4114 که توسط iSight گزارش شده بود، نیز پوشش داده شده بود. گفته می شود که این آسیب پذیری روی ویندوز های Vista، سرور 2008 به بعد و در نسخه های دسکتاپ و سرور تاثیر گذار است. بعضی بر این اعتقادند که از این روش در حملات سایبری گروه جاسوسی سایبری روسیه علیه NATO استفاده شده است.

بر اساس تحلیل و آنالیز ما، این آسیب پذیری در PACKAGER.DLL موجود است که بخشی از الصاقات و لینک دهی های اشیاء ویندوز یا Windows Object Linking and Embedding و به اختصار OLE است. با استفاده از یک فایل پاورپوینت آلوده، فایل INF. الصاق شده به شیء OLE می تواند از فایل به اشتراک گذاشته شده ی راه دورِ SMB، روی سیستم کپی و نصب شود. هکر از این مورد می تواند جهت اجرای سایر بدافزارها نیز استفاده کند و دانلود آن نیز به همین شیوه خواهد بود.

شدت تاثیرگذاری این آسیب پذیری «زیاد» بوده و به «راحتی» قابل اکسپلوییت است. تا زمانی که این شی وجود دارد، هکر نیازی به ساخت یک کدشل یا برنامه نویسی بازگشت گرا یا Return Oriented Programming و به اختصار ROP یا روشی برای دور زدن و بایپس DEP ندارد. DEP از اجرای کدها ( که می تواند شامل کدهای مخرب شل باشد) از درون محل مشخصی از کامپیوتر (غیرقابل اجرا) جلوگیری می کند. اگر آن ها (هکرها) فرمت را بدانند می توانند جهت اکسپلوییت پاورپوینت به صورت مستقیم عمل کنند. علاوه بر آن، در این مورد از هیچ روش ROP یا کد شل یا تاثیری روی فضای هیپ استفاده نمی شود و بنابراین اکثر روش های تشخیص رایج در تشخیص آن با مشکل مواجه خواهند شد.

این کار شامل دو رفتار خطرآفرین، به صورت بالقوه و البته بدون آگاهی یا رضایت کاربر صورت می پذیرد که باید به صورت دقیقی طراحی شود:

  1. کپیِ فایل مورد نظر از فولدر به اشتراک گذاشته شده ی راه دور.
  2. نصب فایل INF. که دانلود شده است. ما فایل نمونه ی PPSX را مورد تحلیل قرار دادیم. (MD5 hash: 330e8d23ab82e8a0ca6d166755408eb1). به منظور مشاهده ی محتوای فایل PPSX. و برای پی بردن به این که چگونه این اتفاق می افتد؛ فایل را از حالت فشرده خارج کردیم و به موارد زیر رسیدیم:
fig 1
شکل اول- ساختار فولدری مربوط به فایل PPSX
 

عکس زیر محتوای فایل های  oleObject1.bin و oleObject2.bin است. این فایل ها مشخص کننده ی این هستند که اشیاء OLE در یک فولدر اشتراکی راه دورند:

fig 2
fig 3
شکل دوم و سوم- محتوای فایل های  oleObject1.bin و oleObject2.bin
 

همانگونه که در slide1.xml قابل مشاهده است، این فایل به دو packager shell object به نام هایrId4 و rId5 ارجاع داده شده است.
 

fig 4
شکل چهارم- محتوای فایل slide1.xml بخش اول
 
rId4 و rId5 در فایل slide1.xml.rel به عنوان دو شیء OLE بالا تعریف شده اند.
fig 5
شکل پنجم- محتوای فایل slide1.xml.rel
 

زمانی که slide1 باز می شود، دو فایل "slides.inf" و "slide1.gif" توسط packager.dll در ماشین محلی کپی می شود. در slide1.xml بعضی از actionها با مقادیر "3-" و "3" مشخص شده اند. این دو اکشن در زمان بازگذاری دو شیء OLE فراخوانی می شوند. این موضوع در تابع ()packager!CPackage::DoVerb قابل مشاهده است.

fig 6
شکل ششم- محتوای فایل slide1.xml بخش دوم
 

در slide1.gif اگر پارامتر "3-" باشد، تابع هیچ کاری نخواهد کرد. البته اگر slides.inf بارگذاری شود و پارامتر "3" باشد، فایل INF. را نصب می کند. عکس زیر نشان دهنده ی فراخوانی پشته در زمان اجرای InfDefaultInstall.exe است.

fig 7
شکل هفتم- فراخوانی پشته در زمان نصب INF
 

سپس INF نام slide1.gif را به slide1.gif.exe تغییر داده و مقداری را برای آن در رجیستری runOnce اضافه می کند. بدین ترتیب کار، انجام شده و در راه اندازی بعدی سیستم، تروجان به صورت خودکار اجرا خواهد شد.

/*ادامه ی آن مربوط به گروه امنیتی Trend Micro Deep Security است*/

لینک مقاله:

http://blog.trendmicro.com/trendlabs-security-intelligence/an-analysis-of-win..

ترجمه توسط تمدن
تاریخ ساخت: October 15, 2014 یا ۲۳ مهر ۱۳۹۳
تاریخ تحقیق: October 20, 2014 یا ۲۸ مهر ۱۳۹۳