امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

ماکروها (Macro) یکی از کاربردی ترین روش های مورد استفاده توسط هکرها جهت اجراسازی و توزیع کد های مخرب،بدافزارها، کرم ها و نقض های امنیتی میباشد که تاريخچه این موضوع به سال 1990 برمیگردد و در این سال بود که سو استفاده از ماکروها (Macro) شروع شد اما با گذشت زمان کوتاهی و آموزش کاربران برای مقابله با این نوع حملات به‌ راحتی جلوی این سو استفاده ها گرفته شد. دراصل این روش بدین شکل میباشد که با استفاده از زبان VBScript و و نوشتن ماکرو (Macro) در فایل های Microsoft Office (مانند فایل های Excel و Word) سبب انتشار و توزیع بد افزارها و کدهای مخرب میشوند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

امروزه با افزایش حملات سایبری و پیچیده تر شدن تکنیک‌های مورد استفاده و همچنین بکارگیری مواردی مانند Social Engineering یا همان مهندسی معکوس این نوع حملات دوباره روی کار آمده اند و بر روی بدافزارهای متنوعی استفاده از اینهارا میبینیم.

مفهوم ماکرو (Macro) چیست؟

توجه داشته باشید که خوده ویژگی ماکرو (Macro) یک ویژگی خوب در مجموعه نرم افزارهای Microsoft Office میباشد که به جهت جلوگیری از تکرار یک موضوع استفاده میشود بدین شکل که اگر قرار باشد یک فرآیند به واسطه موس و صفحه کلید انجام شود به جهت اینکه این فرآيند قرار است چندبار انجام شود به راحتی میتوانیم با نوشتن ماکرو (Macro) اینکار را ساده تر و خودکارسازی کنیم که نظیر استفاده از ماکرو (Macro) هارا در نرم افزارهای مانند Word و Excel میبینیم.

بدافزار ماکرو (Macro) چیست؟

توجه کنید زمانی که ماکرو (Macro) زمانی که به جای استفاده از موارد سالم از موارد ناسالم به جهت دانلود و راه اندازی یک بدافزار یا یک کرم استفاده شود یا به جهت اجرای یک فرآیند مخرب مورد استفاده قرار بگیرد به عنوان یک بدافزار ماکرو (Macro) شناسایی میشود.

این بدافزار ماکرو (Macro) به راحتی میتوانند در قالب فایل های Excel و Word بر روی سیستم شما قرار بگیرند و با دادن یک دسترسی اجرایی به راحتی فرآیند و عملیات مورد نظرشان را پیاده سازی کنند.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

یک مثال استفاده از ماکرو (Macro) ها در بدافزار Ursnif

بدافزار Ursnif که به عنوان یک تروجان بانکی شناخته میشود در فرآيند توزیع و آلوده سازی سیستم یک سری مراحل را طی میکند که به اصطلاح به این مراحل میگیم Distribution Method که در تصویر زیر دارید میبینید:

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

اگر توجه کنید در تصویر بالا یک MalSpam (یک ایمیل Spam و مخرب) به کاربر ارسال میشود.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

زمانی که این ایمیل ارسال میشود حاوی یک فایل Zip هست که با رمز عبور محافظت میشود.
در این فایل Zip یک فایل Excel وجود دارد زمانی که باز شود و ماکروهای (Macro) آن فعال شوند

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

در این زمان شروع به زدن درخواست های جهت دریافت فایل Exe مربوط به Ursnif میکند. این درخواست ها و این ترافیک هارا در تصویر زیر میبینیم:

پیاده سازی حمله Office Macro

ساخت VBA Payload

برای پیاده سازی این حمله که دراصل به جهت ایجاد یک بدافزار ماکرو (Macro) میباشد ما به سراغ Metasploit میرویم و وارد ماژول Reverse HTTPS میشویم جهت ایجاد یک Payload از نوع Meterpreter

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

عبارت Show Options را مینویسیم و Enter میزنیم

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

در موارد بالا ما باید قسمت LHOST را برابر با آدرس IP سیستم لینوکسی خودمان و LPORT را برابر با یک Port دلخواه ( برای مثال 1234 یا 8888 ) قرار میدهیم و همچنین یک قابلیت Process Migration نیز پس از اجرا سازی به آن اضافه میکنیم

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

بعد از موارد بالا حالا فایل VBS خودمان را ایجاد میکنیم و در Desktop با عنوان Payload.vba ذخیره سازی میکنیم

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

راه اندازی Connection Handler

برای این مرحله وارد MultiHandler در Metasploit میشویم و LPORT و LHOST و Payload‌ که استفاده کردیم را برای این MultiHandler تنظیم میکنیم و عبارت run را مینویسیم و اجرا میکنیم.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

قرار دادن اسکریپت مخرب VBA در فایل Word

برای اینکار کافیست بر روی یک سیستم ویندوزی Word را اجرا سازی کنید و وارد مسیر View -> Macro شوید.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

در مسیر بازشده برای Macro خود یک نام به دلخواه انتخاب کنید و بر روی گزینه Create کلیک کنید.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی
در صفحه بازشده محتویات VBA Payload که ایجاد کردید را وارد کنید.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناساییحالا کافیست فایل به سمت Target ارسال شود و در هنگام بازشدن فایل کاربر بر روی گزینه Enable Content کلیک کند.

معرفی و کار با ابزار OlaVba جهت شناسایی ماکروهای (Macro) مخرب

یکی از ابزارهای پرکاربرد به که به زبان Python نوشته شده است و از طریق Python هم قابل تعامل میباشد Olevba میباشد. این ابزار یکی از ابزارهای بسیار کاربردی جهت تحلیل و بررسی Macro ها و کدهای مخرب درون این Macro های فایل Excel و Word میباشد. همچنین این ابزار از ویژگی های دیگری از جمله استخراج IOC ها و رمزگشایی تکنیک های مبهم سازی ( Obfuscation ) بدافزارها مانند Hex/Base64/StrReverse/Dridex را هم دارد.

آموزش نصب olevba

نصب این ابزار بسیار سادست و یک کلیک ساده مانند زیر از طریق Pip توانایی نصب آن را دارید:

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

  • نکته: برای نصب در سیستم های لینوکسی از دستور زیر استفاده کنید:
sudo -H pip install -U oletools

شروع کار با OleVba

برای کارکردن با این ابزار پس از نصب به راحتی با نوشتن عنوان olevba میتوانید Help آن را ببینید و مطمئن شوید که کاملا برایتان نصب شده است.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

پس از اطمینان از نصب شدن به واسطه دستور زیر ابتدا نام olevba و بعد نام فایلتان را وارد میکنید که فرآيند تحلیل آن انجام شود.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

در خروجی بالا فایل ما یک فایل Word کاملا سالم بود Macro خاصی در آن وجود نداشت.
اما خروجی فایل مخرب زیر را که باهم ایجاد کردیم را ببینید:

میبینید که این فایل را یک فایل مخرب شناسایی کرد و گزارش آن را برایمان نمایش داد.

بدافزار ماکرو (Macro) چیست؟ پیاده سازی و شناسایی

  • نکته: از طریق OleVba به راحتی میتوانید محتویات Macro را در قالب فایل Text به OleVba ارائه کنید تا برایتان تحلیل آن را انجام بدهد.

امیرحسین تنگسیری نژاد
امیرحسین تنگسیری نژاد

مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/

نظرات