چکیده: در ماه نوامبر سال گذشته میلادی، یک هفته پس از اعلان آسیبپذیری CVE-2017-11882 توسط مایکروسافت، برخی حملههای سایبری به ارگانها و نهادهای دولتی در خاورمیانه مشاهده شد که از این آسیبپذیری استفاده میکرد. در در نسخه قدیمی Equation Editor در مایکروسافت آفیس، آسیبپذیری وجود دارد که میتواند باعث فساد حافظه (Memory Corruption) شود. بدین ترتیب حملهکننده میتواند کدهای دلخواه خود را روی سیستم قربانی اجرا کند. در حملههای انجام شده، با استفاده از این آسیبپذیری، سیستم قربانی به backdoor آلوده و امکان کنترل آن از طریق سرور C&C فراهم میشد. در ادامه این آسیبپذیری و حمله انجام شده بیشتر بررسی میشود.
چکیده: در ماه نوامبر سال گذشته میلادی، یک هفته پس از اعلان آسیبپذیری CVE-2017-11882 توسط مایکروسافت، برخی حملههای سایبری به ارگانها و نهادهای دولتی در خاورمیانه مشاهده شد که از این آسیبپذیری استفاده میکرد. در در نسخه قدیمی Equation Editor در مایکروسافت آفیس، آسیبپذیری وجود دارد که میتواند باعث فساد حافظه (Memory Corruption) شود. بدین ترتیب حملهکننده میتواند کدهای دلخواه خود را روی سیستم قربانی اجرا کند. در حملههای انجام شده، با استفاده از این آسیبپذیری، سیستم قربانی به backdoor آلوده و امکان کنترل آن از طریق سرور C&C فراهم میشد. در ادامه این آسیبپذیری و حمله انجام شده بیشتر بررسی میشود.
در ماه نوامبر سال گذشته میلادی، یک هفته پس از اعلان آسیبپذیری CVE-2017-11882 توسط مایکروسافت، برخی حملههای سایبری به ارگانها و نهادهای دولتی در خاورمیانه مشاهده شد که از این آسیبپذیری استفاده میکرد. این حملهها به گروهی به نام APT34 نسبت داده شد که سابقه فعالیتهای آن از سال ۲۰۱۴ قابل ردیابی است. به نظر میرسد بیشتر فعالیتهای APT34 روی اهداف شناسایی (reconnaissance) متمرکز بوده و فعالیتهای خود را با به کارگیری spear phishing و روشهای مهندسی اجتماعی انجام میدهد.
حملههایی مشابه حمله ماه نوامبر در ماه می و جولای ۲۰۱۷ نیز مشاهده شده بود. در مورد اول، هدف بانکهایی در خاورمیانه بوده و از spear phishing در ایمیل استفاده میشد. در این حالت فایلهایی ضمیمه پست الکترونیک شده بودند که ماکرو در آنها فعال شده و برای توزیع بدافزاری به نام POWBAT استفاده میشدند. در مورد دوم، کد مخربی در یک فایل .rtf ذخیره شده و پس از ارسال به کامپیوتر قربانی، با بهرهبرداری از آسیبپذیری CVE-2017-0199 اجرا میشود. کد مخرب شامل یک backdoor و downloaderی دارای الگوریتم تولید دامنه است. Backdoor کدی است که با PowerShell نوشته شده و به سرور C&C (Command & Control) پیام فرستاده و دستورات را از آن دریافت میکند. Downloader با استفاده از الگوریتم تولید دامنه، طیف وسیعی از آدرسهای دامنه تولید میکند که میتوانند آدرس سرور C&C باشند. دلیل استفاده از الگوریتمهای تولید دامنه، جلوگیری از شناسایی آسان سرورهای C&C است.
روند کار در حمله ماه نوامبر مشابه حمله ماه جولای است با این تفاوت که از آسیبپذیری CVE-2017-11882 استفاده میکند. این آسیبپذیری در نسخه قدیمی Equation Editor (EQNEDT) در مایکروسافت آفیس وجود دارد. EQNEDT که برای نوشتن فرمولهای ریاضی است، با استفاده از OLE (object linking and embedding) در مستندهای مایکروسافت آفیس به کار گرفته میشود. از این رو زمان پردازش در سیستمعامل، به جای اینکه فرآیندی تابع برنامههای آفیس باشد، فرآیندی مستقل است. EQNEDT همچنین فناوری ASLR (Address space layout randomization) را پشتیبانی نمیکند؛ ASLR فضای آدرس عناصر کلیدی یک فرآیند، شامل نقطه شروع (base) برنامه اجرایی و مکان پشته، heap و کتابخانهها را به شکل تصادفی قرار میدهد و بدین ترتیب مانع فساد حافظه (memory corruption) ناشی از آسیبپذیریهای مختلف میشود.
با توجه به موارد ذکر شده در بالا، زمانی که فرمولی مخرب و دستکاری شده به EQNEDT فرستاده میشود و لازم است پردازش شده و کپیِ اطلاعات آن در حافظه صورت گیرد، طول دادهها به درستی بررسی نمیشود و بنابراین با رخ دادن فساد حافظه، حملهکننده میتواند در روند اجرای برنامه تغییر ایجاد کند. در حمله اخیر، فایل .rtf حاوی کد مخرب به شکل ضمیمه در یک ایمیل spear phishing به سازمان قربانی فرستاده میشود. این فایل از آسیبپذیری EQNEDT استفاده میکند و حافظه پشته را خراب کرده و کد مخرب را به پشته واکشی میکند. سپس آدرس تابع با آدرس دستور اصلی EQNEDT32.exe بازنویسی میشود. همانطور که در شکل زیر دیده میشود، کد مخرب شامل فراخوانی WinExec از kernel32.dll است.
WinExec فرآیند فرزند mshta.exe را در پروفایل کاربر فعلی ایجاد میکند. این فرآیند اسکریپت مخربی را از آدرس hxxp://mumbai-m[.]site/b.txt دانلود و آن را اجرا میکند. نمونه این رویداد در شکل زیر نمایش داده شده است.
اسکریپت دانلود شده که b.txt نامیده میشود، شامل دستوراتی از PowerShell است و میگوید فایل v.txt از آدرس معینی دانلود و سپس به v.vbs تغییر نام یابد و اجرا شود. VBS پسوند VBScripting است که زبان اسکریپتنویسی برای Visual Basic می-باشد. با اجرای v.vbs چهار مولفه hUpdateCheckers.base، dUpdateCheckers.base، cUpdateCheckers.bat و GoogleUpdateschecker.vbs به پوشه Java در آدرس C:\ProgramData\Windows\Microsoft\java\ اضافه میشود. V.vbs از CertUtil.exe برای رمزگشایی فایلهای base-64 رمز شده استفاده میکند، فایلهای hUpdateCheckers.base و dUpdateCheckers.base را رمزگشایی کرده و فایلهای hUpdateCheckers.ps1 و dUpdateCheckers.ps1 را ایجاد میکند که به ترتیب فایل backdoor و downloader هستند.
در گام بعد cUpdateCheckers.bat اجرا و یک برنامه زمانبندی برای GoogleUpdateschecker.vbs ایجاد میکند. GoogleUpdatechecker.vbs بعد از sleep به مدت ۵ ثانیه اجرا میشود و سپس فایلهای cUpdateCheckers.bat و *.base حذف میشود. پس از انجام مراحل بالا، طبق برنامه زمانبندی ایجاد شده، هردقیقه GoogleUpdateschecker.vbs و به موجب آن، اسکریپت-های backdoor و downloader اجرا میشود که ارتباط با سرور C&C و انجام فعالیتهای مخرب بیشتر را ممکن میسازد. در انتها ذکر این نکته ضروری است که مایکروسافت زمان اعلان این آسیبپذیری وصله مربوطه را نیز ارائه کرد؛ از این رو با به روز رسانی سیستم ویندوزی، میتوان از این حمله جلوگیری کرد.