Early Bird

در حال انجام تجزیه‌وتحلیل عمیق نمونه‌های مختلف بدافزارها، محققان امنیتی در Cyberbit یک روش تزریق کد جدید را پیدا کردند که Early Bird نامیده شده است و توسط حداقل سه نوع بدافزار پیشرفته مورداستفاده قرار گرفته که به حمله‌کنندگان کمک کند تا از شناسایی شدن جلوگیری کنند.

همان‌طور که از اسمش مشخص است، Early Bird یک تکنیک ساده اما قدرتمند است که اجازه می‌دهد تا مهاجمان کد مخرب را درون یک فرآیند قانونی تزریق کنند قبل از اینکه تهدید اصلی آغاز شود و از این طریق از تشخیص داده شدن توسط موتورهای hook ویندوز که توسط اکثر محصولات ضدویروس مورداستفاده قرار می‌گیرد‌‌، جلوگیری می‌شود.

محققان گفتند که روش تزریق کد Early Bird، کد مخرب را در یک مرحله بسیار اولیه از راه‌اندازی Thread بارگیری می‌کند، قبل از اینکه بسیاری از محصولات امنیتی hookهای خود را جای دهند – که اجازه می‌دهد تا بدافزار اقدامات مخرب خود را بدون شناسایی شدن انجام دهد[۱].

این تکنیک شبیه روش تزریق کد اتم AtomBombing  است[۲] که به تماس‌های API از نوع easy-to-detect وابسته نیست و اجازه می‌دهد بدافزار کد را به فرآیندها به‌گونه‌ای تزریق کنند که هیچ ابزار ضد تروجانی نتواند آن را شناسایی کند.

چگونه تزریق کد Early Bird عمل می‌کند؟

روش تزریق کد Early Bird مبتنی بر یک ویندوز بر پایه APC(1) است که اجازه می‌دهد برنامه‌های کاربردی کدها را به‌طور غیر همگام(۲) در زمینه یک Thread مشخص اجرا کنند.

در اینجا یک توضیح گام‌به‌گام کوتاه داده شده است که چگونه یک مهاجم می‌تواند یک کد مخرب را درون یک فرآیند قانونی تزریق کند به‌طوری‌که زودتر و قبل از اینکه یک برنامه ضد بدافزار شروع به اسکن فرآیند موردنظر کند.

  • یک فرآیند معلق(۳) از یک فرآیند مشروع ویندوز ایجاد کنید (به‌عنوان‌مثال، svchost.exe).
  • حافظه را به فرآیند (svchost.exe) اختصاص دهید و کد مخرب را در منطقه حافظه اختصاص داده شده بنویسید.
  • یک APC را در Thread اصلی آن فرآیند (svchost.exe) در نوبت قرار دهید(۴).
  • ازآنجاکه APC می‌تواند یک فرایند را تنها زمانی که در یک وضعیت قابل‌تغییر(۵) قرار دارد اجرا کند، عملکرد NtTestAlert را برای مجبور کردن هسته به اجرای کد مخرب، به‌محض اینکه Thread اصلی از سر گرفته می‌شود(۶)، فرا بخوانید.

به گفته محققان، حداقل سه مورد بدافزار زیر که از کد تزریق Early Bird استفاده می‌کنند، در اینترنت یافت شده است.

  • در پشتی TurnedUp
  • یک نوع از بدافزارهای بانکی به نام Carberp
  • بدافزار DorkBot

TurnedUp یک در پشتی است که در ابتدا توسط FireEye در سپتامبر ۲۰۱۷ کشف شد[۳] و قادر به استخراج کردن داده‌ها از سیستم هدف، ایجاد reverse shell ها، گرفتن اسکرین‌شات‌ها و همچنین جمع‌آوری اطلاعات سیستم است.

TurnedUp

DorBot مربوط به سال ۲۰۱۲ است[۴] و یک بدافزار از نوع بات‌نت است که از طریق لینک‌ها در رسانه‌های اجتماعی، برنامه‌های پیام‌رسان فوری و یا رسانه‌های قابل جابجایی آلوده‌شده گسترش می‌یابد و برای سرقت اطلاعات حساب کاربری افراد برای خدمات آنلاین (ازجمله خدمات بانکی)، شرکت در حملات DDoS، ارسال اسپم و ارائه بدافزارهای دیگر به رایانه‌های قربانیان مورداستفاده قرار می‌گیرد.

محققان همچنین یک اثبات ویدیویی ارائه دادند که روش تزریق کد Early Bird را در عمل نشان می‌دهد[۵].

منابع

[۱]https://www.cyberbit.com/blog/endpoint-security/new-early-bird-code-injection-technique-discovered

[۲] https://apa.aut.ac.ir/?p=2411

[۳]https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html

[۴] https://research.checkpoint.com/dorkbot-an-investigation/

[۵] https://youtu.be/_sI76NLPMjI

[۶] https://thehackernews.com/2018/04/early-bird-code-injection.html


(۱) Asynchronous Procedure Calls
(۲) asynchronously
(۳) suspended
(۴) queue
(۵) alertable
(۶) resume