بدافزار جدید Beep، متخصص در فرار از تجزیهوتحلیل و شناسایی
اخبار داغ فناوری اطلاعات و امنیت شبکه
یک بدافزار مخفی جدید به نام «بیپ - Beep» بهتازگی کشف شد که دارای ویژگیهای بسیاری برای فرار از هرگونه تجزیهوتحلیل و شناسایی توسط نرمافزارهای امنیتی است.
این بدافزار توسط تحلیلگران Minerva پس از آپلود انبوهی از نمونهها در VirusTotal، که یک پلتفرم آنلاین برای اسکن فایلها و شناسایی محتوای مخرب است، کشف شد.
اگرچه Beep هنوز در حال توسعه است و چندین ویژگی کلیدی را ندارد، اما در حال حاضر به عوامل تهدید اجازه میدهد تا payloadهای بیشتری را روی دستگاههای در معرض خطر از راه دور دانلود و اجرا کنند.
یک دزد اطلاعات جدید در حال ساخت است
بدافزار Beep، یک بدافزار دزد اطلاعات است که از سه جزء مجزا استفاده میکند : دراپر (Dropper)، اینجکتور (Injector) و payload.
دراپر ("big.dll") یک کلید رجیستری جدید با مقدار "AphroniaHaimavati" ایجاد میکند که حاوی یک اسکریپت PowerShell کدگذاری شده base64 است. این اسکریپت PowerShell هر ١٣ دقیقه با استفاده از یک عمل برنامهریزی شده ویندوز راه اندازی میشود.
هنگامی که اسکریپت اجرا میشود، دادهها را دانلود کرده و در یک تزریق کننده (injector) به نام AphroniaHaimavati.dll ذخیره میکند، که سپس راه اندازی میشود.
اینجکتور مولفهای است که از طیف وسیعی از تکنیکهای ضد اشکالزدایی یا آنتی دیباگینگ (Anti-Debugging) و آنتی vm برای تزریق payload به یک فرآیند سیستم قانونی ("WWAHost.exe") از طریق حفره فرآیند استفاده میکند تا از شناسایی ابزارهای آنتی ویروس در حال اجرا بر روی هاست جلوگیری کند.
درنهایت، payload اصلی تلاش میکند تا دادهها را از دستگاه در معرض خطر جمعآوری کند، آنها را رمزگذاری کرده و به C2 ارسال کند. در طول تجزیهوتحلیل Minerva، آدرس سختافزاری C2 آفلاین بود، اما بدافزار حتی پس از ١٢٠ بار تلاش ناموفق، اقدام به اتصال کرد.
علیرغم محدودیتهای موجود در تجزیهوتحلیل بدافزار، Minerva همچنان قادر به شناسایی عملکردهای زیر در نمونه بود که توسط دستورات C2 فعال میشوند :
balancer - هنوز اجرا نشده است
init - هنوز اجرا نشده است
screenshot - برای جمعآوری لیست فرآیند به نظر میرسد
task - هنوز اجرا نشده است
destroy - هنوز اجرا نشده است
shellcode - شل کد اضافی را اجرا میکند
dll – یک فایل dll را اجرا میکند
exe – یک فایل exe. را اجرا میکند
Additional - اطلاعات اضافی را جمعآوری میکند
knock_timeout – بازههای زمانی C&C را تغییر میدهد
فرار از تشخیص و شناسایی
آنچه بدافزار Beep را متمایز میکند، استفاده از تکنیکهای متعدد در طول جریان اجرای آن برای فرار از هرگونه تشخیص و تجزیهوتحلیل توسط نرمافزارهای امنیتی و محققان است.
این تکنیکهای فرار از تجزیهوتحلیل به طور خلاصه در زیر آمده است :
• رفع ابهامزدایی دینامیک - استرینگهای مهم را پنهان میکند و بایتهای هگزادسیمال را در حافظه کپی میکند. Beep آنها را در صورت نیاز با استفاده از دستورات اسمبلی xor/sub/add/not از بین میبرد.
• بررسی زبان سیستم – Beep زبان پیشفرض سیستم را بررسی میکند و در صورت شناسایی زبانهای روسی، اوکراینی، بلاروسی، تاجیکی، اسلوونیایی، گرجی، قزاقستانی و ازبکی (سیریلیک) از آن خارج میشود.
• اجرای اسمبلی فانکشن IsDebuggerPresent API - این بدافزار بررسی میکند که آیا یک دیباگر (Debugger) حالت کاربر در حال اشکالزدایی فرآیند فعلی است یا خیر.
• فیلد NtGlobalFlag ضد اشکالزدایی - این بدافزار تعیین میکند که آیا یک دیباگر فرآیند را ایجاد کرده است یا خیر.
• دستورالعمل RDTSC - تیکهای CPU را از زمان تنظیم مجدد تعیین میکند تا مشخص نماید که آیا در یک VM اجرا میشود یا خیر.
• ثبت Stack Segment – بدافزار تشخیص میدهد که آیا برنامه در حال ردیابی است یا خیر.
• آنتی ویام (CPUID (anti-vm - استرینگ Hypervisor Brand را دریافت مینماید و بررسی میکند که آیا بخشی از کلمه "VMware" در آن وجود دارد یا خیر.
• کلید رجیستری VBOX anti-vm – بدافزار، وجود کلیدهای رجیستری مربوط به VM را بررسی مینماید
• فانکشن Beep API anti-sandbox – جایگزین Sleep API Function، درحالیکه اجرای بدافزار را به تاخیر میاندازد (انتظار قابل هشدار) برای جلوگیری از شناسایی سندباکس، یک صدای بوق بر روی بلندگو ایجاد میکند.
علاوه بر موارد فوق، کامپوننتهای اینجکتور تکنیکهای فرار زیر را نیز اجرا میکند :
• آنتی دیباگینگ INT 3 - یک استثنا ایجاد میکند که debugger را مجبور به توقف کار کند.
• آنتی دیباگینگ INT 2D – استثنایی ایجاد مینماید که debuggerها را مجبور به توقف کار کند.
• آنتی دیباگینگ CheckRemoteDebuggerPresent () API – تعیین میکند که آیا اشکالزدایی به فرآیند فعلی متصل و مرتبط است یا خیر.
• آنتیدیباگینگ IsDebuggerPresent () API – تعیین مینماید که آیا یک دیباگر حالت کاربر فرآیند فعلی را اشکالزدایی میکند یا خیر.
• آنتیدیباگینگ ProcessDebugPort – شماره پورت دیباگر را برای فرآیند تعیین میکند.
• آنتیدیباگینگ VirtualAlloc () / GetWriteWatch () – صفحات نوشته شده در حافظه را برای شناسایی اشکال زداها و hookها ردیابی میکند.
• آنتیدیباگینگ OutputDebugString () - تکنیک تشخیص اشکالزدایی با تکیه بر نتیجه بازگشت تماس را بهکار میبرد.
• آنتیدیباگینگ QueryPerformanceCounter () و GetTickCount٦٤ () – تاخیر بین دستورالعملها و اجرا را اندازهگیری میکند تا مشخص شود که آیا اشکالزدایی روی سیستم اجرا میشود یا خیر.
بدافزار Beep نمونهای از یک بدافزار است که بهشدت بر روی فرار تمرکز دارد و مکانیسمهای ضد تجزیهوتحلیل متعددی را قبل از نهایی کردن مجموعه ویژگیهای کامل برای سرقت اطلاعات و اجرای دستورات پیادهسازی کرده است.
اگرچه عملیات آن در فضای سایبری در حال حاضر محدود است، اما Beep ممکن است یک تهدید بزرگ برای آینده باشد، که میبایست مراقب آن بود.
برچسب ها: آنتیدیباگینگ, String, استرینگ, تجزیهوتحلیل, Anti-VM, اشکالزدایی, ضد اشکالزدایی, تزریق کننده, AphroniaHaimavati, اینجکتور, Injector, Minerva, بیپ, Beep Malware, Beep, دیباگینگ, دراپر, آنتی دیباگینگ, Anti Debugging, API, Payload, Dropper, PowerShell, VMware, malware, debugger, دفاع سایبری, تهدیدات سایبری, Cyber Security, بدافزار, امنیت سایبری, Cyber Attacks, حمله سایبری, news