میتوان گفت بسیاری از تکنیکهای Threat Hunting یا همان شکار تهدیدات بر منابع دادهی شبکهمحور متمرکز است. البته، در این مقاله به دنبال اینکه معنی Sysmon چیست؟ و استفاده از آن برای جستجوی تهدیدات در endpointها خواهیم بود. برخی از باارزشترین مکانها برای شروع شکار را در گزارشهای ویندوز بررسی خواهیم کرد. اگرچه این نکات فهرست جامعی را تشکیل نمیدهند، اما به ایجاد فرضیههای سازمان کمک کرده و نقطهی آغاز خوبی را برای شکار در endpointها فراهم میکنند. ما، در این مقاله، یک شبکهی باز یا TON را بررسی خواهیم کرد.
منظور از وابستگی ویندوز و Splunk به Sysmon چیست؟
تیم امنیتی Splunk، برای دادههای endpoint به استفاده از Sysmon وابسته میباشد، از آنجاییکه استفاده از Sysmon بسیار جالب و لذتبخش بوده باعث میشود تا برخی از سازمانها آنرا به کارگیرند.
Sysmon چیست؟ Sysmon ابزاری ارزشمند و مهم در انبار مهمات و مجموعه امکانات امنیتی خواهد بود که با جمعآوری رویدادها دید را گستردهتر کرده و بینش عمیقتری نسبت به آنچه سیستمهای ویندوز انجام میدهند، بهدست میدهد.
هرکس که تکنولوژی splunk را روی دستگاه ویندوز خود نصب کرده است، میداند که آن کمی شلوغ است. نکتهی مثبتی که وجود دارد این است که universal forwarder نه تنها میتواند گزارش رویدادها را وارد کند، بلکه وقتی با Splunk Add-On برای Microsoft Sysmon ترکیب شود، میتواند موارد زیر را جمعآوری کند:
- دادههای Sysmon
- اطلاعات رجیستری
- مانیتورهای عملکرد
این انعطافپذیری برای تحلیلگری، که به دنبال شکار است، مجموعهای از گزینهها را فراهم میآورد. اکنون وقت آن است که به endpointها، Sysmon و جنبههای مهم کدهای رویداد بپردازیم.
اهمیت نظارت بر endpointها
بایستی توجه داشت نظارت بر endpointها بسیار مهم بوده، از Sysmon، به ویژه کد Event Code 1 – Process Creation یعنی ایجاد فرآیند، برای ایجاد امنیت برنامههایی که در سیستمهای ما شروع میشوند استفاده کنیم.
مایکروسافت Sysmon چیست؟
کلمهی Sysmon مخفف عبارت system monitor یا همان نظارتِ سیستم میباشد. فناوری Sysmon برای تشخیص استفاده شده و برای پیشگیری نمیباشد. بسیاری از محصولات دیگر از راهکار مسدود کردن و پیشگیری استفاده میکنند، اما اگر بخواهیم در مورد آنچه در حال وقوع است بینشی عمیق داشته باشیم، بدون شک Sysmon راهکاری عالی و مقرون بهصرفه را ارائه خواهد کرد.
بیشتر بخوانید: بررسی شش گام مهم برای یک پلتفرم امنیتی بهینه همراه با Splunk
موارد پیگیری با Sysmon
Sysmon بینش عمیقتری دربارهی آنچه در سیستم مایکروسافت اتفاق میافتد بهدست داده و کاربر را از موارد زیر آگاه میسازد:
- زمان شروع و پایان فرآیندها
- دستورالعمل اصلی آغازگر فرآیند
ابزار Sysmon، علاوه بر این ویژگیهای فوقالعاده، میتواند اتصالات شبکه را از یک میزبان و بسیاری از وضعیتهای سیستم دیگر گزارش کند، که خود درک قویتری نسبت به زمانی که فقط از گزارشهای Windows Event استفاده میشو، ارائه میدهد.
برای مقابله با Treat Hunting تنظیم دقیق Sysmon چیست
دربارهی پیکربندی Sysmon میتوان یک کتاب نوشت. در این مقاله فقط به جنبه های مربوط به Treat Hunting خواهیم پرداخت. اول از همه باید یک الگوی نظارت را پیکربندی کنید تا مشخص شود که چه چیزهایی جمعآوری میشود. تعدادی از این الگوها از قبل وجود دارند. در واقع، باید از الگوی SwiftOnSecurity Sysmon، که در GitHub موجود است، پیکربندی را شروع کرد.
برای مشاوره رایگان و یا راه اندازی Splunk/SIEM و مرکز عملیات امنیت SOC با کارشناسان شرکت APK تماس بگیرید |
نقاط مهم برای شکار تهدید در لاگهای ویندوز
نکتهی مهم پیش از شروع آن است که بدانید ویندوز دادههای زیادی ایجاد میکند؛ پس دانستن اینکه باید از کجا شروع کنید و به دنبال چه چیزی باشید بسیار مهم است. خبر خوب این است که نه تنها سختترین کدهای رویداد برای شکار و شناسایی منتشر شده است، بلکه بسیاری از کارشناسان و محققان دیگر نیز آنها را شناسایی و منتشر کردهاند. بسته به دشمنان و ابزارهایی که وجود دارد، مشاهدهی برخی از اقدامات آنها ممکن است دشوار باشد. برنامهی Windows Event Code Security Analysis for Splunk، که در Splunkbase وجود دارد، این توصیهها را در مجموعهای از جداول جستجو در Splunk ترسیم میکند تا کاربران بتوانند تصمیمی آگاهانه در مورد آنچه باید جمعآوری و فیلتر کنند، بگیرند.
کدهای رویداد توصیه شده توسط تعداد زیادی از منابع معتبر مختلف، احتمالاً همان کدهایی هستند که باید جمعآوری کرد. اما، اگر کدها فقط توسط یک یا دو منبع توصیه شدهاند، شاید بتوان بدون آنها هم کار را پیش برد و تنظیم کرد.
کد رویداد ویندوز 4688: یک فرآیند جدید
اولین کد رویداد ویندوز ، کد رویداد 4688 است. میتوان گفت این کد مهم ترین کد رویدادی است که وجود دارد. ویندوز کد رویداد 4688 را با عبارت «فرآیند جدیدی ایجاد شده است» تعریف میکند، اما واقعیت بسیار فراتر از این است؛ هر فرآیند یا برنامهای که توسط کاربر شروع شده یا حتی از فرآیندهای دیگری تولید شده باشد، با این شناسه ی رویداد ثبت میشود. برای مثال، اگر یک کامپیوتر ویندوزی به بدافزار یا ویروس آلوده شده باشد، جستجوی کد 4688 هر فرآیند ایجاد شده توسط آن بدافزار را نشان میدهد. از منظر Hunting، میتوان این فرضیه را مطرح کرد که فرآیندهای نادر ممکن است حاوی فعالیتهای مخرب باشند و به همین دلیل، باید شکار را روی آنها متمرکز کرد. برای انجام این کار، میتوان دادههای ویندوز در Splunk را با چیزی شبیه به این جستوجو کنم:
sourcetype=”wineventlog:security”EventCode=4688
| stats count, values(Creator_Process_Name) as Creator_Process_Name by New_Process_Name
| table New_Process_Name, count, Creator_Process_Name
| sort count
جستجوی بالا فرآیندهای جدید ایجاد شده و همچنین شناسهی فرآیند اصلی آنها را در صورت ایجاد توسط فرآیند اصلی
اعلام مینماید. چرا این اطلاعات مهم است؟ فرآیندهای حاصل از فرآیند اصلی همیشه همان شناسهی فرآیند اصلی را دارند، این امر به یافتن فرآیندهای مخرب ایجاد شده کمک میکند و اطلاعاتی را که برای پاکسازی آلودگی نیاز می باشد را فراهم میکند.
اگر این جستجو را یک قدم فراتر ببرید، می توانید روی فرآیندهایی تمرکز کنید که:
- در نقاط غیرمعمول آغاز میشوند و نه در C:\windows\system32 یا C:\Program Files.
- بر روی میزبانهایی خاص شناسایی میشوند.
با شناسایی فرآیندهای نادر در دستگاه خود، بینشی خواهید داشت که در غیر این صورت ممکن است آن را بدست نیاورید.
کد رویداد 4738: تغییر حساب کاربری
این کد جز کدهای محبوب می باشد، معنی آن این می باشد که یک حساب کاربری تغییر کرده است. هر زمان که یک حساب کاربری تغییر میکند، این رویداد ثبت میشود. این کد زمانی اهمیت زیادی پیدا میکند که به یک حساب کاربری، در یک دامنه یا دستگاه ویندوز مستقل، امتیازات مدیریتی اعطا میشود.
هنگامی که دشمنان هکرها و یا کارمندان مخرب هستند، اغلب سعی میکنند تا مجوزهای یک حساب کاربری را افزایش دهند. افزودن یک دستور جستجو در brackets ما را قادر میسازد تا قابلیت Search within the Search را اجرا کنیم، که جستجو را به EventCode=4738 event (s) محدود میکند، و SPL، رویدادهای 2 دقیقه قبل و بعد از رویداد را برای بهدست آوردن اطلاعات زمینهای اضافه میکند.
به این مثال توجه کنید:
index=wineventlog
[search index=wineventlog sourcetype=WinEventLog* EventCode=4738
eval earliest=_time-120|
eval latest=_time+120|
fields host, earliest, latest]|
table host, sourcetype, EventCode, Message|
کد رویداد ۴۶۲۴: ورود موفق
کد رویداد 4624 زمانی ایجاد میشود که یک حساب کاربری با موفقیت وارد یک محیط ویندوزی شود. از این اطلاعات میتوان مبنایی برای زمانِ ورود و مکان کاربر ایجاد کرد.
این امر کاربران Splunk را قادر میسازد تا مواردی غیر از ورود عادی به سیستم را تعیین کنند، مواردی که ممکن است منجر به نفوذ مخرب یا به خطر انداختن یک حساب کاربری شود. کد رویداد 4624 همچنین انواع مختلف ورود به سیستم را ثبت میکند، مانند ورود به شبکه یا ورود محلی. با استفاده از این اطلاعات، میتوانید نقاط پرت را در شبکهی خود با فیلتر کردن زمان یا حتی نوع ورود پیدا کنید.
جستوجویی مانند این را امتحان کنید:
sourcetype=”wineventlog:security” EventCode=4624 |
eventstats avg(“_time”) as avg stdev(“_time”) as stdev |
| eval lowerBound=(avg-stdev*exact(2)), upperBound=(avg+stdev*exact(2)) |
| eval isOutlier=if(‘_time’ < lowerBound OR ‘_time’ > upperBound, 1, 0) |
| table _time, isOutlier, body |
o tab|
همانطور که میبینید، باید فهرستی از رویدادها را تهیه کرده و به شما بگوید که آیا آنها برون آماری هستند یا خیر:
کد رویداد 1102: پاکسازی گزارش حسابرسی
کد رویداد 1102 زمانی اتفاق میافتد که یک مدیر یا حساب مدیریتی گزارش حسابرسی را از ویندوز پاک نماید. این اتفاق به ندرت رخ میدهد و زمانی که اتفاق میافتد ممکن است برای پوشاندن چیزی باشد.
سیستم مدیریت اطلاعات و رویدادهای امنیتی، SIEM یا همان Splunk Enterprise Security بهعنوان رویداد بحرانی، که ارزش شکار دارد. از آنجایی که در حال بررسی امنیت سرورهای مهم ویندوز خود هستید، این پاک کردن رویداد هیچ تاثیری نخواهد داشت چراکه همهی گزارشهای شما در Splunk هستند.