اجرا
Executionتوضیحات
مهاجم سعی میکند کدهای مخرب را اجرا کند. تکنیکهای اجرا معمولاً با تاکتیکهای دیگر مانند کشف و حرکت جانبی همراه میشوند تا به اهداف گستردهتری دست یابند. اجرای کد مخرب میتواند از طریق اسکریپتها، دستورات، یا بهرهبرداری از آسیبپذیریها انجام شود.
تکنیکها (14)
مهاجمان از Windows Management Instrumentation (WMI) برای اجرای کد مخرب سوءاستفاده میکنند. WMI یک زیرساخت مدیریتی ویندوز است که میتواند برای اجرای دستورات، ایجاد پایداری و حرکت جانبی استفاده شود. WMI به صورت پیشفرض در ویندوز وجود دارد و اغلب توسط ابزارهای مدیریتی قانونی استفاده میشود.
مهاجمان از قابلیتهای زمانبندی وظایف سیستمعامل برای اجرای کد مخرب در زمانهای مشخص یا با فواصل منظم سوءاستفاده میکنند. این تکنیک میتواند برای اجرا، پایداری و ارتقاء سطح دسترسی استفاده شود. Windows Task Scheduler، cron و سایر ابزارهای زمانبندی اهداف رایج هستند.
مهاجمان از دستور At در ویندوز و یونیکس برای زمانبندی اجرای کد مخرب استفاده میکنند. At یک ابزار legacy است که در نسخههای قدیمیتر ویندوز و سیستمهای یونیکس برای زمانبندی وظایف استفاده میشود. مهاجمان میتوانند از At برای اجرای دستورات در زمانهای مشخص استفاده کنند.
مهاجمان از Cron در سیستمهای لینوکس و macOS برای زمانبندی اجرای کد مخرب استفاده میکنند. Cron یک زمانبند وظایف است که به کاربران اجازه میدهد دستورات را در فواصل زمانی منظم اجرا کنند. مهاجمان میتوانند crontab را برای ایجاد پایداری و اجرای کد مخرب تغییر دهند.
مهاجمان از Windows Task Scheduler برای اجرای کد مخرب در زمانهای مشخص یا با فواصل منظم استفاده میکنند. Task Scheduler میتواند برای اجرا، پایداری و ارتقاء سطح دسترسی استفاده شود. مهاجمان میتوانند وظایف زمانبندی شده را از طریق schtasks.exe یا رابط گرافیکی ایجاد کنند.
مهاجمان از تایمرهای systemd در لینوکس برای زمانبندی اجرای کد مخرب استفاده میکنند. فایلهای .timer در systemd میتوانند برای اجرای دستورات در فواصل زمانی منظم استفاده شوند. تایمرهای systemd میتوانند از راه دور از طریق SSH فعال شوند و برای پایداری در سطح سیستم یا کاربر استفاده شوند.
مهاجمان از CronJobهای Kubernetes و سایر مکانیزمهای زمانبندی ارکستراسیون کانتینر برای اجرای کد مخرب استفاده میکنند. این تکنیک میتواند برای استقرار کانتینرهای مخرب، ایجاد پایداری در کلاسترها و اجرای کد در فواصل زمانی منظم استفاده شود.
مهاجمان از مفسرهای دستور و اسکریپت برای اجرای دستورات، اسکریپتها یا باینریها سوءاستفاده میکنند. این رابطها و زبانها در اکثر سیستمها به صورت پیشفرض وجود دارند. مهاجمان میتوانند از این ابزارها برای اجرای کد مخرب، دور زدن کنترلهای امنیتی و ایجاد پایداری استفاده کنند.
مهاجمان از PowerShell برای اجرای دستورات و اسکریپتهای مخرب استفاده میکنند. PowerShell یک shell تعاملی و زبان اسکریپتنویسی قدرتمند ویندوز است که دسترسی گستردهای به سیستمعامل فراهم میکند. مهاجمان میتوانند از PowerShell برای دانلود payload، اجرای کد در حافظه، دور زدن آنتیویروس و ایجاد پایداری استفاده کنند.
مهاجمان از AppleScript برای اجرای رفتارهای مخرب در macOS استفاده میکنند. AppleScript یک زبان اسکریپتنویسی macOS است که به برنامهها اجازه میدهد با یکدیگر ارتباط برقرار کنند. مهاجمان میتوانند از AppleScript برای اجرای دستورات، دور زدن کنترلهای امنیتی و تعامل با برنامههای کاربردی استفاده کنند.
مهاجمان از Windows Command Shell (cmd.exe) برای اجرای دستورات و اسکریپتهای batch استفاده میکنند. cmd.exe یک shell داخلی ویندوز است که دسترسی به سیستمعامل و فایلها را فراهم میکند. مهاجمان میتوانند از آن برای اجرای دستورات، مدیریت فایلها و راهاندازی سایر فرآیندها استفاده کنند.
مهاجمان از shellهای یونیکس مانند bash، sh، zsh و fish برای اجرای دستورات و اسکریپتهای مخرب در سیستمهای لینوکس و macOS استفاده میکنند. shellهای یونیکس ابزارهای قدرتمندی برای مدیریت سیستم هستند که میتوانند برای اجرای کد مخرب، مدیریت فایلها و ارتباط با شبکه استفاده شوند.
مهاجمان از Visual Basic Script (VBScript) و Visual Basic for Applications (VBA) برای اجرای کد مخرب استفاده میکنند. VBScript در ویندوز به صورت پیشفرض وجود دارد و VBA در برنامههای Microsoft Office تعبیه شده است. این زبانها اغلب در کمپینهای فیشینگ از طریق ماکروهای Office مخرب استفاده میشوند.
مهاجمان از Python برای اجرای اسکریپتها و کدهای مخرب استفاده میکنند. Python یک زبان برنامهنویسی چندمنظوره است که در بسیاری از سیستمها نصب شده است. مهاجمان میتوانند از Python برای ایجاد ابزارهای مخرب، دانلود payload، اجرای shellcode و ارتباط با C2 استفاده کنند.
مهاجمان از JavaScript برای اجرای کد مخرب استفاده میکنند. JavaScript میتواند از طریق مرورگر وب، Windows Script Host (wscript.exe/cscript.exe) یا Node.js اجرا شود. مهاجمان از JavaScript برای حملات drive-by download، XSS و اجرای کد در سیستمهای ویندوز استفاده میکنند.
مهاجمان از رابطهای خط فرمان دستگاههای شبکه مانند روترها و سوئیچها برای اجرای دستورات مخرب استفاده میکنند. CLIهای دستگاههای شبکه مانند Cisco IOS، JunOS و سایر سیستمعاملهای شبکه میتوانند برای تغییر پیکربندی، ایجاد backdoor و جمعآوری اطلاعات استفاده شوند.
مهاجمان از APIهای ابری برای اجرای دستورات و مدیریت منابع ابری استفاده میکنند. APIهای ارائهدهندگان ابری مانند AWS، Azure و GCP میتوانند برای اجرای کد، مدیریت منابع و جمعآوری اطلاعات استفاده شوند. مهاجمان با دسترسی به credentials ابری میتوانند از این APIها سوءاستفاده کنند.
مهاجمان از ابزارهای اتوماسیون مانند AutoHotKey و AutoIT برای اجرای کد مخرب استفاده میکنند. این ابزارها برای اتوماسیون وظایف ویندوز طراحی شدهاند اما میتوانند برای اجرای دستورات مخرب، keylogging و دور زدن کنترلهای امنیتی استفاده شوند.
مهاجمان از ابزارهای استقرار نرمافزار شخص ثالث برای اجرای کد مخرب در سراسر شبکه سوءاستفاده میکنند. ابزارهایی مانند SCCM، Altiris و سایر سیستمهای مدیریت نرمافزار میتوانند برای توزیع و اجرای بدافزار در مقیاس بزرگ استفاده شوند.
مهاجمان از مکانیزمهای بارگذاری ماژول مشترک سیستمعامل برای اجرای payloadهای مخرب سوءاستفاده میکنند. DLLهای مخرب میتوانند در مسیرهای جستجوی سیستم قرار گیرند تا توسط برنامههای قانونی بارگذاری شوند. این تکنیک اغلب با DLL Side-Loading ترکیب میشود.
مهاجمان از آسیبپذیریهای نرمافزارهای کلاینت برای اجرای کد سوءاستفاده میکنند. این تکنیک معمولاً از طریق ارسال فایلهای مخرب یا لینکهای آلوده به کاربران انجام میشود. مرورگرها، نرمافزارهای آفیس و سایر برنامههای کاربردی اهداف رایج هستند.
مهاجمان به کاربران متکی هستند تا کد مخرب را اجرا کنند. کاربران ممکن است فریب بخورند تا یک فایل مخرب را باز کنند، روی یک لینک کلیک کنند یا یک تصویر آلوده را اجرا کنند. این تکنیک اغلب در کمپینهای فیشینگ و مهندسی اجتماعی استفاده میشود.
مهاجمان کاربران را فریب میدهند تا روی لینکهای مخرب کلیک کنند که منجر به دانلود و اجرای کد مخرب میشود. این لینکها ممکن است از طریق ایمیل، پیامهای فوری یا وبسایتهای آلوده ارسال شوند. کلیک روی لینک میتواند دانلود فایل مخرب، بهرهبرداری از مرورگر یا اجرای کد را آغاز کند.
مهاجمان کاربران را فریب میدهند تا فایلهای مخرب را باز کنند یا اجرا کنند. این فایلها ممکن است به عنوان اسناد، تصاویر یا نرمافزارهای قانونی ظاهر شوند. باز کردن فایل میتواند ماکروهای مخرب، بهرهبرداری از آسیبپذیری یا اجرای کد را آغاز کند.
مهاجمان تصاویر کانتینر یا ماشین مجازی مخرب ایجاد میکنند تا کاربران را فریب دهند. این تصاویر ممکن است در registryهای عمومی منتشر شوند و به عنوان نرمافزارهای قانونی ظاهر شوند. اجرای این تصاویر میتواند منجر به اجرای کد مخرب در محیطهای کانتینری شود.
مهاجمان از مکانیزمهای ارتباط بین فرآیندی (IPC) برای اجرای کد یا دستورات محلی سوءاستفاده میکنند. IPC معمولاً به فرآیندها اجازه میدهد داده را به اشتراک بگذارند، ارتباط برقرار کنند یا اجرا را هماهنگ کنند، اما میتوان از آن برای اجرای کد دلخواه استفاده کرد.
مهاجمان از Component Object Model (COM) ویندوز برای اجرای کد مخرب سوءاستفاده میکنند. COM یک جزء بومی Windows API است که به اشیاء اجازه میدهد با یکدیگر تعامل داشته باشند. مهاجمان میتوانند از COM برای اجرای DLLهای مخرب، دور زدن کنترلهای امنیتی و ایجاد وظایف زمانبندی شده استفاده کنند.
مهاجمان از Dynamic Data Exchange (DDE) برای اجرای دستورات مخرب در ویندوز استفاده میکنند. DDE یک پروتکل IPC ویندوز است که به برنامهها اجازه میدهد داده را به اشتراک بگذارند. مهاجمان میتوانند اسناد Office را با دستورات DDE مسموم کنند تا بدون نیاز به ماکرو کد اجرا کنند.
مهاجمان از سرویسهای XPC macOS برای اجرای کد مخرب سوءاستفاده میکنند. XPC سرویسهای IPC هستند که به عنوان daemon با سطح دسترسی root اجرا میشوند. مهاجمان میتوانند از اعتبارسنجی ناکافی XPC client یا sanitization ضعیف ورودی برای ارتقاء سطح دسترسی استفاده کنند.
مهاجمان از سرویسها یا daemonهای سیستمی برای اجرای دستورات یا برنامهها سوءاستفاده میکنند. سرویسها اغلب در هنگام بوت سیستم برای پایداری اجرا میشوند، اما میتوانند برای اجرای موقت نیز استفاده شوند. این تکنیک در پلتفرمهای ویندوز، لینوکس و macOS قابل اجرا است.
مهاجمان از launchctl در macOS برای مدیریت و اجرای سرویسهای LaunchAgent و LaunchDaemon سوءاستفاده میکنند. launchctl ابزار خط فرمان macOS برای تعامل با launchd است. مهاجمان میتوانند از launchctl برای بارگذاری سرویسهای مخرب و اجرای کد با سطح دسترسی بالا استفاده کنند.
مهاجمان از Service Control Manager ویندوز برای اجرای کد مخرب از طریق سرویسهای ویندوز استفاده میکنند. ابزارهایی مانند sc.exe، PsExec و سایر ابزارهای مدیریت سرویس میتوانند برای ایجاد و اجرای سرویسهای مخرب استفاده شوند. این تکنیک اغلب برای حرکت جانبی و اجرای کد از راه دور استفاده میشود.
مهاجمان از systemctl در لینوکس برای مدیریت و اجرای سرویسهای systemd سوءاستفاده میکنند. systemctl ابزار خط فرمان اصلی برای کنترل systemd است. مهاجمان میتوانند از systemctl برای فعالسازی، شروع یا ایجاد سرویسهای مخرب استفاده کنند.
مهاجمان از رابطهای مدیریت کانتینر برای اجرای دستورات در کانتینرها سوءاستفاده میکنند. ابزارهایی مانند docker exec و kubectl exec میتوانند برای اجرای کد مخرب در محیطهای کانتینری استفاده شوند. این تکنیک در محیطهای cloud-native و DevOps رایج است.
مهاجمان کانتینرهایی را برای اجرای کد مخرب در محیطهای هدف مستقر میکنند. این تکنیک میتواند برای دور زدن کنترلهای امنیتی میزبان، اجرای ابزارهای مخرب و ایجاد پایداری در محیطهای کانتینری استفاده شود. مهاجمان ممکن است از تصاویر کانتینر مخرب یا پیکربندیهای ناامن استفاده کنند.
مهاجمان از سرویسهای مدیریت ابری مانند AWS Systems Manager Agent یا Azure RunCommand برای اجرای دستورات در ماشینهای مجازی سوءاستفاده میکنند. این سرویسها برای مدیریت از راه دور طراحی شدهاند اما میتوانند برای اجرای کد مخرب استفاده شوند.
مهاجمان از ابزارهای مدیریتی ESXi مانند vSphere API یا ESXCLI برای اجرای دستورات در hypervisor سوءاستفاده میکنند. با دسترسی به ESXi، مهاجمان میتوانند ماشینهای مجازی را کنترل کرده، دادهها را سرقت کنند یا ransomware را مستقر کنند.