Adventures of the Elusive Malware، قسمت دوم: اسکریپت های پنهان VBA (ما اینجا هستیم)
من از طرفداران سایت هستم تجزیه و تحلیل ترکیبی (تحلیل ترکیبی، از این پس HA). این یک نوع باغ وحش بدافزار است که در آن می توانید با خیال راحت "شکارچیان" وحشی را از فاصله ایمن و بدون حمله مشاهده کنید. HA بدافزار را در محیطهای امن اجرا میکند، تماسهای سیستمی، فایلهای ایجاد شده و ترافیک اینترنت را ضبط میکند و تمام این نتایج را برای هر نمونهای که آنالیز میکند به شما ارائه میدهد. به این ترتیب، لازم نیست وقت و انرژی خود را برای کشف کد گیج کننده خود تلف کنید، بلکه می توانید بلافاصله تمام اهداف هکرها را درک کنید.
نمونههای HA که توجه من را جلب کردند، از اسکریپتهای جاوا اسکریپت کدگذاریشده یا ویژوال بیسیک برای برنامهها (VBA) استفاده میکنند که به عنوان ماکرو در اسناد Word یا Excel تعبیه شده و به ایمیلهای فیشینگ پیوست شدهاند. پس از باز شدن، این ماکروها یک جلسه PowerShell را در رایانه قربانی شروع می کنند. هکرها معمولاً یک جریان کدگذاری شده از دستورات Base64 را به PowerShell ارسال می کنند. همه این کارها برای این است که شناسایی حمله توسط فیلترهای وب و نرم افزارهای آنتی ویروسی که به کلمات کلیدی خاصی پاسخ می دهند دشوار باشد.
خوشبختانه، HA به طور خودکار Base64 را رمزگشایی می کند و همه چیز را فوراً در قالب قابل خواندن نمایش می دهد. اساساً، لازم نیست روی نحوه کار این اسکریپتها تمرکز کنید، زیرا میتوانید خروجی فرمان کامل برای فرآیندهای در حال اجرا را در بخش مربوطه HA ببینید. مثال زیر را ببینید:
تجزیه و تحلیل ترکیبی دستورات رمزگذاری شده Base64 ارسال شده به PowerShell را متوقف می کند:
... و سپس آنها را برای شما رمزگشایی می کند. #جادویی
В پست قبلی من ظرف جاوا اسکریپت کمی مبهم خود را برای اجرای یک جلسه PowerShell ایجاد کردم. اسکریپت من، مانند بسیاری از بدافزارهای مبتنی بر PowerShell، سپس اسکریپت PowerShell زیر را از یک وب سایت راه دور دانلود می کند. سپس، به عنوان مثال، یک PS بی ضرر را بارگذاری کردم که پیامی را روی صفحه چاپ می کرد. اما زمان در حال تغییر است و اکنون من پیشنهاد می کنم که سناریو را پیچیده کنم.
PowerShell Empire و Reverse Shell
یکی از اهداف این تمرین این است که نشان دهد چگونه (نسبتا) یک هکر می تواند به راحتی از دفاع محیطی و آنتی ویروس های کلاسیک عبور کند. اگر یک وبلاگ نویس فناوری اطلاعات بدون مهارت برنامه نویسی، مانند من، می تواند این کار را در چند شب انجام دهد ایجاد بدافزار غیرقابل شناسایی (کاملاً کشف نشده، FUD)، توانایی های یک هکر جوان علاقه مند به این را تصور کنید!
و اگر شما یک ارائه دهنده امنیت فناوری اطلاعات هستید، اما مدیرتان از عواقب احتمالی این تهدیدات آگاه نیست، فقط این مقاله را به او نشان دهید.
هکرها رویای دسترسی مستقیم به لپ تاپ یا سرور قربانی را در سر می پرورانند. انجام این کار بسیار ساده است: تنها کاری که یک هکر باید انجام دهد این است که چند فایل محرمانه را در لپ تاپ مدیر عامل شرکت دریافت کند.
به نوعی من در حال حاضر نوشت درباره زمان اجرای پس از تولید PowerShell Empire. بیایید به یاد بیاوریم که چیست.
این اساسا یک ابزار تست نفوذ مبتنی بر PowerShell است که در میان بسیاری از ویژگیهای دیگر، به شما امکان میدهد به راحتی یک پوسته معکوس را اجرا کنید. شما می توانید آن را با جزئیات بیشتر در سایت خانگی PSE.
بیایید یک آزمایش کوچک انجام دهیم. من یک محیط تست بدافزار امن در ابر خدمات وب آمازون راه اندازی کردم. شما می توانید از مثال من پیروی کنید تا به سرعت و ایمن یک نمونه کار از این آسیب پذیری را نشان دهید (و به دلیل اجرای ویروس ها در داخل محیط سازمانی اخراج نشوید).
اگر کنسول PowerShell Empire را راه اندازی کنید، چیزی شبیه به این خواهید دید:
ابتدا فرآیند شنونده را در رایانه هکر خود شروع می کنید. دستور "listener" را وارد کرده و آدرس IP سیستم خود را با استفاده از "set Host" مشخص کنید. سپس فرآیند listener را با دستور "execute" (در زیر) شروع کنید. بنابراین، از طرف خود، شما شروع به انتظار برای اتصال شبکه از پوسته راه دور خواهید کرد:
برای طرف دیگر، باید با وارد کردن دستور "لانچر" یک کد عامل ایجاد کنید (به زیر مراجعه کنید). این کد PowerShell را برای عامل راه دور تولید می کند. توجه داشته باشید که در Base64 کدگذاری شده است و فاز دوم بار را نشان می دهد. به عبارت دیگر، کد جاوا اسکریپت من اکنون این عامل را می کشد تا به جای چاپ بی ضرر متن روی صفحه، PowerShell را اجرا کند و به سرور PSE راه دور ما متصل شود تا پوسته معکوس را اجرا کند.
جادوی پوسته معکوس. این دستور کد شده PowerShell به شنونده من متصل می شود و یک پوسته راه دور راه اندازی می کند.
برای نشان دادن این آزمایش، نقش قربانی بی گناه را بر عهده گرفتم و Evil.doc را باز کردم و به این ترتیب جاوا اسکریپت خود را راه اندازی کردم. قسمت اول را به خاطر دارید؟ PowerShell طوری پیکربندی شده است که از باز شدن پنجره آن جلوگیری کند، بنابراین قربانی متوجه هیچ چیز غیرعادی نخواهد شد. با این حال، اگر Task Manager ویندوز را باز کنید، فرآیند PowerShell پسزمینهای را مشاهده خواهید کرد که به هر حال برای اکثر افراد زنگ خطری ایجاد نمیکند. چون فقط پاورشل معمولی است، اینطور نیست؟
اکنون هنگامی که Evil.doc را اجرا می کنید، یک فرآیند پس زمینه پنهان به سروری که PowerShell Empire را اجرا می کند متصل می شود. با گذاشتن کلاه هکر سفید پنتستر، به کنسول PowerShell Empire برگشتم و اکنون پیامی می بینم که نماینده راه دور من فعال است.
سپس دستور "تعامل" را برای باز کردن یک پوسته در PSE وارد کردم - و من آنجا بودم! خلاصه سرور تاکو رو که خودم راه اندازی کردم یکبار هک کردم.
چیزی که من به تازگی نشان دادم نیازی به کار زیادی از طرف شما ندارد. شما به راحتی می توانید تمام این کارها را در طول یک یا دو ساعت برای ناهار انجام دهید تا دانش امنیت اطلاعات خود را ارتقا دهید. همچنین این یک راه عالی برای درک اینکه چگونه هکرها محیط امنیتی خارجی شما را دور می زنند و وارد سیستم شما می شوند.
مدیران فناوری اطلاعات که فکر میکنند دفاعی غیرقابل نفوذ در برابر هرگونه نفوذ ایجاد کردهاند، احتمالاً آن را آموزشی نیز خواهند یافت - یعنی اگر بتوانید آنها را متقاعد کنید که به اندازه کافی با شما بنشینند.
بیایید به واقعیت برگردیم
همانطور که انتظار داشتم، یک هک واقعی، نامرئی برای کاربر معمولی، صرفاً تغییری از چیزی است که من توضیح دادم. برای جمعآوری مطالب برای انتشار بعدی، شروع به جستجوی نمونهای در HA کردم که به همان روشی که نمونه اختراع شدهام کار میکند. و من مجبور نبودم برای مدت طولانی به دنبال آن بگردم - گزینه های زیادی برای تکنیک حمله مشابه در سایت وجود دارد.
بدافزاری که در نهایت در HA یافتم یک اسکریپت VBA بود که در یک سند Word جاسازی شده بود. یعنی من حتی نیازی به جعل کردن پسوند سند ندارم، این بدافزار واقعاً یک سند مایکروسافت ورد با ظاهر عادی است. اگر علاقه مند هستید، من این نمونه را به نام انتخاب کردم rfq.doc.
من به سرعت متوجه شدم که شما اغلب نمی توانید مستقیماً اسکریپت های VBA مخرب را از یک سند بیرون بکشید. هکرها آنها را فشرده و پنهان می کنند تا در ابزارهای ماکرو داخلی Word قابل مشاهده نباشند. برای حذف آن به ابزار خاصی نیاز دارید. خوشبختانه با یک اسکنر مواجه شدم OfficeMalScanner فرانک بالدوین. متشکرم، فرانک.
با استفاده از این ابزار، من توانستم کد VBA بسیار مبهم را بیرون بکشم. چیزی شبیه این به نظر می رسید:
مبهم سازی توسط افراد حرفه ای در زمینه خود انجام شده است. تحت تاثیرقرارگرفتم!
مهاجمان واقعاً در مبهم کردن کد مهارت دارند، نه مانند تلاش من در ایجاد Evil.doc. بسیار خوب، در قسمت بعدی ما دیباگرهای VBA را حذف می کنیم، کمی عمیق تر به این کد می پردازیم و آنالیز خود را با نتایج HA مقایسه می کنیم.