با این مقاله ما مجموعه ای از انتشارات در مورد بدافزارهای گریزان را آغاز می کنیم. برنامههای هک بدون فایل، که به عنوان برنامههای هک بدون فایل نیز شناخته میشوند، معمولاً از PowerShell در سیستمهای ویندوز برای اجرای بیصدا دستورات برای جستجو و استخراج محتوای ارزشمند استفاده میکنند. شناسایی فعالیت هکرها بدون فایل های مخرب کار دشواری است، زیرا... آنتی ویروس ها و بسیاری از سیستم های تشخیص دیگر بر اساس تجزیه و تحلیل امضا کار می کنند. اما خبر خوب این است که چنین نرم افزاری وجود دارد. مثلا،
وقتی برای اولین بار شروع به تحقیق در مورد موضوع هکرهای بد کردم،
PowerShell بزرگ و قدرتمند
من قبلاً در مورد برخی از این ایده ها نوشته ام
علاوه بر خود نمونه ها، در سایت می توانید ببینید که این برنامه ها چه کار می کنند. تجزیه و تحلیل ترکیبی بدافزار را در جعبه شنی خود اجرا می کند و تماس های سیستمی، فرآیندهای در حال اجرا و فعالیت شبکه را نظارت می کند و رشته های متنی مشکوک را استخراج می کند. برای فایل های باینری و سایر فایل های اجرایی، i.e. در جایی که شما حتی نمی توانید به کدهای سطح بالا واقعی نگاه کنید، تجزیه و تحلیل ترکیبی بر اساس فعالیت زمان اجرا، مخرب یا مشکوک بودن نرم افزار را تعیین می کند. و پس از آن نمونه قبلا ارزیابی شده است.
در مورد PowerShell و سایر اسکریپت های نمونه (ویژوال بیسیک، جاوا اسکریپت و غیره)، من توانستم خود کد را ببینم. به عنوان مثال، من با این نمونه PowerShell مواجه شدم:
همچنین می توانید PowerShell را در کدگذاری base64 اجرا کنید تا از شناسایی جلوگیری کنید. به استفاده از پارامترهای Noninteractive و Hidden توجه کنید.
اگر پستهای من در مورد مبهمسازی را خواندهاید، میدانید که گزینه -e مشخص میکند که محتوا به صورت base64 کدگذاری شده است. به هر حال، تجزیه و تحلیل ترکیبی نیز با رمزگشایی همه چیز به این امر کمک می کند. اگر میخواهید رمزگشایی base64 PowerShell (که از این پس به عنوان PS نامیده میشود) را خودتان امتحان کنید، باید این دستور را اجرا کنید:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
عمیق تر برو
من اسکریپت PS خود را با استفاده از این روش رمزگشایی کردم، در زیر متن برنامه آمده است، البته کمی تغییر یافته توسط من:
توجه داشته باشید که این اسکریپت به تاریخ 4 سپتامبر 2017 گره خورده بود و کوکیهای جلسه را منتقل میکرد.
در مورد این سبک حمله نوشتم
چه کاری انجام میدهد؟
برای نرمافزار امنیتی که گزارشهای رویداد یا فایروالهای ویندوز را اسکن میکند، رمزگذاری base64 از شناسایی رشته «WebClient» توسط یک الگوی متن ساده جلوگیری میکند تا از ایجاد چنین درخواستی در وب محافظت کند. و از آنجایی که تمام "شرارت" بدافزار دانلود شده و به PowerShell ما منتقل می شود، بنابراین این رویکرد به ما امکان می دهد کاملاً از شناسایی فرار کنیم. یا بهتر است بگویم این همان چیزی بود که من در ابتدا فکر می کردم.
به نظر می رسد که با فعال کردن Windows PowerShell Advanced Logging (به مقاله من مراجعه کنید)، می توانید خط بارگذاری شده را در گزارش رویداد مشاهده کنید. من مثل
بیایید سناریوهای اضافی را اضافه کنیم
هکرها به طور هوشمندانه حملات PowerShell را در ماکروهای مایکروسافت آفیس که با ویژوال بیسیک و سایر زبان های برنامه نویسی نوشته شده اند پنهان می کنند. ایده این است که قربانی پیامی، به عنوان مثال از یک سرویس تحویل، با یک گزارش پیوست در قالب .doc دریافت می کند. شما این سند را که حاوی ماکرو است باز می کنید و در نهایت پاورشل مخرب را راه اندازی می کند.
اغلب خود اسکریپت ویژوال بیسیک مبهم است به طوری که آزادانه از آنتی ویروس و سایر اسکنرهای بدافزار فرار می کند. با توجه به آنچه قبلاً گفته شد، تصمیم گرفتم PowerShell فوق را در جاوا اسکریپت به عنوان تمرین کدنویسی کنم. در زیر نتایج کار من است:
جاوا اسکریپت مبهم که پاورشل ما را پنهان می کند. هکرهای واقعی این کار را یک یا دو بار انجام می دهند.
این یکی دیگر از تکنیکهای شناور در وب است: استفاده از Wscript.Shell برای اجرای PowerShell کد شده. به هر حال، خود جاوا اسکریپت است
در مورد ما، اسکریپت JS مخرب به عنوان یک فایل با پسوند .doc.js جاسازی شده است. ویندوز معمولاً تنها پسوند اول را نشان می دهد، بنابراین برای قربانی به عنوان یک سند Word ظاهر می شود.
نماد JS فقط در نماد اسکرول ظاهر می شود. تعجب آور نیست که بسیاری از مردم این پیوست را با تصور اینکه یک سند Word است باز می کنند.
در مثال خود، PowerShell بالا را برای دانلود اسکریپت از وب سایت خود تغییر دادم. اسکریپت PS راه دور فقط "بدافزار شیطانی" را چاپ می کند. همانطور که می بینید او اصلاً شیطان نیست. البته، هکرهای واقعی علاقه مند هستند که مثلاً از طریق پوسته فرمان به لپ تاپ یا سرور دسترسی پیدا کنند. در مقاله بعدی، نحوه انجام این کار را با استفاده از PowerShell Empire به شما نشان خواهم داد.
امیدوارم برای اولین مقاله مقدماتی خیلی عمیق در موضوع غوطه ور نشده باشیم. اکنون به شما اجازه میدهم یک نفس بکشید و دفعه بعد نمونههای واقعی حملات با استفاده از بدافزار بدون فایل را بدون هیچ مقدمه یا مقدمهای غیرضروری بررسی میکنیم.
منبع: www.habr.com