تشخیص فایل ها و دایرکتوری های مخفی توسط رول تشخیص اسپلانک
اکثر سیستم عامل ها به منظور جلوگیری از تغییر دادن تصادفی فایل های خاص در سیستم توسط کاربران عادی از مفهوم فایل مخفی ‘hidden’ برخوردار هستند. هنگامی که کاربر توسط GUI به جستجوی (browse) سیستم فایل می پردازد یا زمانی که از command های عادی در command line (خط فرمان) استفاده می کند این فایل ها نمایش داده نمی شوند. کاربران باید صریحا بخواهند که فایل های پنهان توسط مجموعه ای از اعلان های رابط گرافیکی کاربران (GUI) یا توسط پارامترهای های command line به آنها نمایش داده شود.
مهاجمین می توانند با استفاده از این قابلیت فایل ها و پوشه ها را برای ماندگاری (persistence) در هر قسمتی از سیستم پنهان کنند و کاربر معمولی یا تحلیل سیستم که شامل جستجوی فایل های پنهان نیستند را دور بزنند.
ID:T1564.001
Tactic:Defense Evasion,Persistence
Platform:Linux,macOS,Windows
Permission Required:User
Data Sources: File monitoring, Process monitoring, Process command-line parameters
Defense Bypassed: Host forensic analysis
Windows
کاربران می توانند با استفاده از باینری attrib.exe فایل های مشخصی را به عنوان hidden علامت گذاری کنند. با تغییر نام فایل به attrib +h به سادگی یک فایل یا پوشه را به عنوان hidden علامت گذاری کنید. به همین شکل ،”+s”فایل را به عنوان فایل سیستم (system file) علامت گذاری می کند و نشان “+r” فایل ها را به عنوان read only نشانه گذاری می کند. مانند اکثر باینری های ویندوز،باینری attrib.exe توانایی اعمال این تغییرات به صورت بازگشتی “/s” را فراهم می کند.
Linux/Mac
کاربران می توانند به سادگی با قرار دادن “.” به عنوان اولین کاراکتر در نام فایل یا پوشه های مشخصی آن ها را به عنوان فایل hidden علامت گذاری کنند. فایل ها و پوشه هایی که با علامت “.” شروع می شوند، به طور پیش فرض در برنامه Finder و برنامه های استاندارد command-line مانند “ls” قابل مشاهده نیستند. کاربران برای قابل مشاهده کردن این فایل ها قطعا باید تنظیمات را تغییر دهند. در مورد کاربردهای command line ، به طور معمول یک flag برای دیدن تمام فایل ها (از جمله فایل های مخفی ) وجود دارد. برای مشاهده ی این فایل ها در برنامه ی کاربردی Finder ، این command ها باید اجرا شود: به طور پیش فرض com.apple.finder Apple Show All Files را YES بزنید و سپس برنامه کاربردی Finder را دوباره راه اندازی (relaunch) کنید .
Mac
فایل های موجود در macOS را می توان با flag (نشان) UF_HIDDEN علامت گذاری کرد که مانع نمایش ان ها در Finder.app می شود اما با این وجود اجازه می دهد تا در Terminal.app نمایش داده شوند. بسیاری از برنامه های کاربردی این فایل ها و پوشه های مخفی را برای ذخیره ی اطلاعات می سازند برای اینکه فضای کاری کاربر را شلوغ نکنند. به عنوان مثال، برنامه ی SSH یک پوشه ی مخفی .ssh می سازد که شامل کلید ها و میزبان های شناخته شده ی کاربر می باشد.
مثال هایی از رویه ها
APT28 :APT28 فایل هایی را با ویژگی های hidden ذخیره می کند .
APT32 :درب پشتی macOS در APT32 فایل clientID را توسط ساختار chflags مخفی می کند.
کاهش اثر (mitigation)
این نوع از تکنیک حمله را نمی توان به سادگی توسط کنترل های پیشگیرانه کاهش داد زیرا بر مبنای سوء استفاده از ویژگی های سیستم هستند .
تشخیص
File system و دستورات shell را برای فایل هایی که با پیشوند “.” ساخته شده اند و command-line ویندوز که برای افزودن ویژگی hidden از attrib.exe استفاده کرده است را پایش کنید .
Index=windows
Source=’WinEventLog:Microsoft-Windows-Sysmon/Operational” (Event Code=1
Image=”*\\attrib.exe”CommandLine=”*+s*)
Index=windows
Source=”WinEventLog:Microsoft-Windows-Sysmon/Operational” (EventCode=1
Image=”*\\attrib.exe”CommandLine =”*_+h*”)