لینک کوتاه مطلب : https://hsgar.com/?p=5627

آیا “Autostart” واقعا به معنای “Autostart” است؟

اکثر تحلیلگران DFIR و SOC با کلیدهای Run به عنوان مکان های شروع خودکار در رجیستری ویندوز آشنا هستند:

[HKLM|HKCU]SoftwareMicrosoftWindowsCurrentVersionRun

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

معلوم می شود، که ممکن است نه مورد باشد.

صبر کن…چی؟ آیا من فقط می گویند که یک مقدار در یکی از موارد فوق ذکر شده است اجرا کن در واقع ممکن است کلیدها هنگام شروع سیستم یا ورود کاربر اجرا نشوند؟

بله…بله انجام دادم.

بیایید ابتدا با تأیید اینکه خود ورودی ها اجرا شده اند شروع کنیم. ما می دانیم که می توانیم آن را تجزیه کنیم Microsoft-Windows-Shell-Core%4Operational گزارش رویداد، استخراج رویداد ID 9707 و 9708 برای مشاهده زمان اجرای مقادیر زیر اجرا کنRunOnce) کلیدها شروع شد و سپس تکمیل شد (به ترتیب). ما می‌توانیم از هر ابزاری که دوست داریم برای باز کردن یا تجزیه فایل گزارش رویداد ویندوز و فیلتر آن استفاده کنیم تا ببینیم، بله، در این تاریخ، در این زمان، این ورودی‌ها در واقع راه‌اندازی شده‌اند. این یک راه عالی برای تأیید یافته های ما است، بر اساس ورودی های موجود در اجرا کن کلید

این اتفاق می افتد که مجموعه دیگری از کلیدهای رجیستری در حال بازی هستند:

[HKLM|HKCU]SoftwareMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun

اگر به کلید بالا بروید، خواهید دید که نام مقادیر درون کلید، نام مقادیر زیر کلید Run مربوطه را نشان می دهد، اما داده ها متفاوت است. شکل 1 داده های یکی از سیستم های من را نشان می دهد.

شکل 1: مقادیر کلید StartupApprovedRun

همانطور که در شکل 1 مشاهده می کنید، نام مقادیر ورودی های موجود در آن را منعکس می کند اجرا کن کلید، اما مقادیر همه داده های متفاوتی دارند. ابتدا، داده های باینری برای هر مقدار 12 بایت طول دارند. اگر 4 بایت اول (DWORD) 0x02 یا 0x06 باشد، مقدار مربوطه در اجرا کن کلید فعال است اگر DWORD اول 0x03 باشد، مقدار غیرفعال است و 8 بایت باقی مانده (QWORD) شی FILETIME است که نشان دهنده داده ها و زمان غیرفعال شدن مقدار است. شکل 2 این داده های تجزیه شده از طریق RegRipper Pro را نشان می دهد:

شکل 2: خروجی پلاگین RegRipper rundisabled.pl

اکنون، این کلید است… آنچه در شکل‌های 1 و 2 مشاهده می‌کنید منعکس‌کننده این است که اگر مقادیر از طریق تب Startup در Task Manager غیرفعال شوند چه اتفاقی می‌افتد. اگر از RegEdit یا reg.exe برای پیمایش به اجرا کن کلیدها، شما به سادگی می توانید ورودی ها را حذف کنید تا از اجرای آنها جلوگیری کنید. با این حال، اگر از تب Task Manager Startup برای شمارش ورودی‌های راه‌اندازی استفاده می‌کنید، و ورودی‌هایی را که در اجرا کن کلیدها، آنچه را که در شکل های 1 و 2 نشان داده شده است، مشاهده می کنید.

واقعا چه جالب در این مورد StartupApproved کلید رجیستری این است که یک کلید فرعی دیگر وجود دارد:

[HKLM|HKCU]SoftwareMicrosoftWindowsCurrentVersionExplorerStartupApprovedStartupFolder

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

شکل 3 نشان می دهد که از طریق RegRipper Pro چگونه به نظر می رسد.

شکل 3: ورودی StartupFolder غیرفعال شده، از طریق RegRipper Pro

اگر از Task Manager برای فعال کردن مجدد مقادیر استفاده می‌کنید، داده‌های مربوط به ورودی مربوطه در زیر StartupApproved کلید به مقدار “فعال” تغییر داده می شود (اول DWORD = 0x02، QWORD تمام 0 ها باقی می ماند).

در این مرحله، غذای آماده به جای آن است فقط با بررسی کلید Run، ورودی ها را با داده های مقدار درون آن مرتبط کنید StartupApprovedRun کلید، و اعتبار هر دو را از طریق شناسه رویداد مربوطه در Microsoft-Windows-Shell-Core%4Operational گزارش رویداد.

اما صبر کنید، چیزهای بیشتری وجود دارد!

اگر ورودی های کلید Run به جای آن از طریق غیرفعال می شد خودکار اجرا می شود، اتفاقی کاملا متفاوت می افتد. اگر مقداری در زیر کلید Run غیرفعال باشد، وقتی Autoruns بسته است، یک Autoruns Disabled زیر کلید زیر کلید Run ایجاد می شود و مقدار غیرفعال شده به آن کلید فرعی منتقل می شود. اگر ورودی زیر پوشه Startup از طریق Autoruns غیرفعال شود، یک Autoruns Disable زیر شاخه در زیر پوشه Startup ایجاد می شود و ورودی (میانبر، قابل اجرا، فایل دسته ای و غیره) به آن زیر شاخه منتقل می شود.

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

چگونه می توان از این استفاده کرد؟ خوب، یک فکر این است که یک عامل تهدید می تواند باعث حواس پرتی شود. با قرار دادن یک ورودی در a اجرا کن کلید و سپس آن را در قسمت مربوطه غیرفعال کنید StartupApprovedRun کلید، مدیران و تحلیلگران ممکن است غافل شوند و خط تحلیلی را دنبال کنند که در واقع آنها را از سوراخ خرگوش فرو می برد و باعث می شود که موضوع واقعی را بررسی نکنند.

فکر می کنید کمی دور از ذهن است؟ من داشتم اتفاق افتاد.

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.