فایلهای Trace یا فایلهای Prefetch از زمان XP در ویندوز وجود داشته است. از آن زمان، آنها به پزشکی قانونی دیجیتال و متخصصان واکنش به حوادث رایانه ای کمک کرده اند تا ردی از نرم افزار، از جمله بدافزار را پیدا کنند. متخصص پیشرو در پزشکی قانونی کامپیوتر Group-IB اولگ اسکالکین به شما می گوید با استفاده از فایل های Prefetch چه چیزی را می توانید پیدا کنید و چگونه آن را انجام دهید.
فایل های Prefetch در دایرکتوری ذخیره می شوند %SystemRoot% Prefetch و در خدمت تسریع روند راه اندازی برنامه ها هستند. اگر به هر یک از این فایل ها نگاه کنیم، می بینیم که نام آن از دو قسمت تشکیل شده است: نام فایل اجرایی و یک چک جمع هشت کاراکتری از مسیر به آن.
فایلهای Prefetch حاوی اطلاعات بسیار مفیدی از نظر پزشکی قانونی هستند: نام فایل اجرایی، تعداد دفعات اجرا، فهرست فایلها و دایرکتوریهایی که فایل اجرایی با آنها تعامل داشته و البته مهرهای زمانی. به طور معمول، دانشمندان پزشکی قانونی از تاریخ ایجاد یک فایل Prefetch خاص برای تعیین تاریخ اولین راهاندازی برنامه استفاده میکنند. علاوه بر این، این فایلها تاریخ آخرین راهاندازی خود را ذخیره میکنند، و از نسخه 26 (ویندوز 8.1) شروع میشود - مُهر زمانی هفت اجرای اخیر.
بیایید یکی از فایل های Prefetch را برداریم، داده ها را با استفاده از PECmd اریک زیمرمن از آن استخراج کنیم و به هر قسمت از آن نگاه کنیم. برای نشان دادن، داده ها را از یک فایل استخراج می کنم CCLEANER64.EXE-DE05DBE1.pf.
پس بیایید از بالا شروع کنیم. البته، ما مُهرهای زمانی ایجاد، اصلاح و دسترسی داریم:
پس از آنها نام فایل اجرایی، جمع بررسی مسیر به آن، اندازه فایل اجرایی و نسخه فایل Prefetch آمده است:
از آنجایی که ما با ویندوز 10 سروکار داریم، در ادامه تعداد شروع، تاریخ و زمان آخرین شروع و هفت مهر زمانی دیگر را خواهیم دید که تاریخ های راه اندازی قبلی را نشان می دهد:
به دنبال این اطلاعات در مورد حجم، از جمله شماره سریال و تاریخ ایجاد آن آمده است:
آخرین اما مهم، لیستی از دایرکتوری ها و فایل هایی است که فایل اجرایی با آنها تعامل داشته است:
بنابراین، دایرکتوریها و فایلهایی که فایل اجرایی با آنها تعامل داشت، دقیقاً همان چیزی است که امروز میخواهم روی آن تمرکز کنم. این دادهها هستند که به متخصصان پزشکی قانونی دیجیتال، پاسخ به حوادث رایانهای یا شکار پیشگیرانه تهدید اجازه میدهند تا نه تنها واقعیت اجرای یک فایل خاص را مشخص کنند، بلکه در برخی موارد، تاکتیکها و تکنیکهای خاص مهاجمان را نیز بازسازی کنند. امروزه، مهاجمان اغلب از ابزارهایی برای حذف دائمی داده ها استفاده می کنند، به عنوان مثال، SDelete، بنابراین توانایی بازیابی حداقل آثار استفاده از تاکتیک ها و تکنیک های خاص برای هر مدافع مدرن - یک متخصص پزشکی قانونی کامپیوتر، یک متخصص واکنش به حوادث، به سادگی ضروری است. ، یک متخصص ThreatHunter.
بیایید با تاکتیک دسترسی اولیه (TA0001) و محبوب ترین تکنیک، Spearphishing Attachment (T1193) شروع کنیم. برخی از گروه های مجرم سایبری در انتخاب سرمایه گذاری خود کاملا خلاق هستند. به عنوان مثال، گروه Silence از فایل هایی با فرمت CHM (راهنمای HTML کامپایل شده مایکروسافت) برای این کار استفاده کرد. بنابراین، ما تکنیک دیگری را پیش روی خود داریم - فایل HTML کامپایل شده (T1223). چنین فایل هایی با استفاده از راه اندازی می شوند hh.exeبنابراین، اگر داده ها را از فایل Prefetch آن استخراج کنیم، متوجه می شویم که کدام فایل توسط قربانی باز شده است:
بیایید کار را با مثال هایی از موارد واقعی ادامه دهیم و به تاکتیک بعدی Execution (TA0002) و تکنیک CSMTP (T1191) برویم. Microsoft Connection Manager Profile Installer (CMSTP.exe) می تواند توسط مهاجمان برای اجرای اسکریپت های مخرب استفاده شود. یک مثال خوب گروه کبالت است. اگر داده ها را از فایل Prefetch استخراج کنیم cmstp.exe، سپس دوباره می توانیم بفهمیم که دقیقاً چه چیزی راه اندازی شده است:
یکی دیگر از تکنیک های محبوب Regsvr32 (T1117) است. Regsvr32.exe همچنین اغلب توسط مهاجمان برای راه اندازی استفاده می شود. در اینجا مثال دیگری از گروه Cobalt آورده شده است: اگر داده ها را از یک فایل Prefetch استخراج کنیم regsvr32.exe، سپس دوباره خواهیم دید که چه چیزی راه اندازی شد:
تاکتیکهای بعدی Persistence (TA0003) و Privilege Escalation (TA0004) با Application Shimming (T1138) به عنوان یک تکنیک هستند. این تکنیک توسط Carbanak/FIN7 برای لنگر انداختن سیستم استفاده شد. معمولاً برای کار با پایگاههای داده سازگاری برنامه (sdb.) استفاده میشود. sdbinst.exe. بنابراین، فایل Prefetch این فایل اجرایی میتواند به ما کمک کند تا نام این پایگاهها و مکانهای آنها را پیدا کنیم:
همانطور که در تصویر می بینید، ما نه تنها نام فایل مورد استفاده برای نصب، بلکه نام پایگاه داده نصب شده را نیز داریم.
بیایید نگاهی به یکی از رایج ترین نمونه های انتشار شبکه (TA0008)، PsExec، با استفاده از اشتراک های اداری (T1077) بیندازیم. سرویسی با نام PSEXECSVC (البته اگر مهاجمان از پارامتر استفاده کرده باشند، می توان از هر نام دیگری استفاده کرد -r) روی سیستم هدف ایجاد می شود، بنابراین، اگر داده ها را از فایل Prefetch استخراج کنیم، خواهیم دید که چه چیزی راه اندازی شده است:
من احتمالاً همان جایی را که شروع کردم به پایان خواهم رساند - حذف فایل ها (T1107). همانطور که قبلاً اشاره کردم، بسیاری از مهاجمان از SDelete برای حذف دائمی فایل ها در مراحل مختلف چرخه حیات حمله استفاده می کنند. اگر به داده های فایل Prefetch نگاه کنیم sdelete.exe، سپس خواهیم دید که دقیقاً چه چیزی حذف شده است:
البته، این فهرست کاملی از تکنیکهایی نیست که میتوان در حین تجزیه و تحلیل فایلهای Prefetch کشف کرد، اما این باید برای درک این نکته کافی باشد که چنین فایلهایی نه تنها میتوانند به یافتن آثار راهاندازی کمک کنند، بلکه به بازسازی تاکتیکها و تکنیکهای مهاجم نیز کمک میکنند. .
منبع: www.habr.com