رایت آپ چالش جرم شناسی Try Hack Me

در این رایت آپ به حل چالش Forensics سایت Try Hack Me می پردازیم. این CTF در مقایسه دیگر چالش ها، کمی خاص است چرا که اطلاعات حافظه Dump شده و باید بررسی شود.

در این چالش خواسته شده که محتوای Dump داده شده بررسی شود. برای حل این چالش از Volatility استفاده شده است که یکی از ابزارهای جرم شناسی در تحلیل حافظه است که منظور ما از حافظه در اینجا حافظه فرار یا همان RAM می باشد.

Image گرفته شده از حافظه‌ ممکن است اطلاعات مختلفی داشته باشد که به عملیات forensics کمک کند. اطلاعاتی همانند سرویس ها، ‌فعالیت شبکه، پردازشها، فعالیت کاربر و حتی گذرواژه را می‌توان در image های گرفته شده، مشاهده کرد. اگر از Kali استفاده می کنید ابزار Volatility به طور پیش فرض در آن نصب شده است.

چالش 1. جمع‌آوری اطلاعات

چالش 1.1 دانلود Image

اول از همه فایل Image را قبل از شروع چالش دانلود کنید. اندازه فایل تقریباً 438.371 کیلوبایت است. مطمئن شوید که فایل Image زیپ‌نشده مطابق با هاش MD5 است.

چالش 1.2 شناسایی سیستم عامل

اول از همه بهتر است با امکانات و دستورات Volatility آشنا شد. برای این کار کافی است فرمان زیر را وارد کرد.

volatility -h

همان طور که مشاهده می‌کنید که ده ها دستور وجود درد و این دستورات مهم هستند زیرا در سراسر چالش می‌خواهیم از آنها استفاده کنیم.

در مرحله اول Image موجود را بررسی اولی با دستور زیر اسکن می‌کنیم.

volatility -f victim.raw imageinfo

بنظر می‌رسد که قربانی از سیستم عامل ویندوز استفاده می‌کند. با این حال ما نمی‌توانیم نسخه دقیق ویندوز را تعیین کنیم که ممکن است ویندوز 7 یا ویندوز سرور 2008 باشد و البته که در هر صورت نتیجه هر کدام از این دو ویندوز باشد، فرقی نمی کند مهم نوع سیستم عامل برای ما است.

پاسخ: ویندوز

چالش 1.3 جستجوی PID برای SearchIndexer

شما می‌توانید است pslist یا psscan برای تکمیل این چالش استفاده کنید. تفاوت این است که pslist تنها پردازشهای در حال اجرا را نشان می‌دهد در حالی که psscan می‌تواند تمام پردازشهای در حال اجرا و تکمیل شده را نیز، اسکن و فهرست‌بندی کند.

volatility -f victim.raw --profile=Win7SP1x64 pslist

volatility -f victim.raw --profile=Win7SP1x64 psscan

 

پاسخ: 2180

چالش 1.4. آخرین پوشه بازشده

دستور پلاگین Shellbags را می‌توان برای گردآوری تمام اطلاعات در مورد پوشه مشاهده‌شده از جمله اندازه، موقعیت و Icon بکار برد. ما با استفاده از این دستور می‌توانیم پوشه‌ی استفاده شده توسط کاربر را ردگیری کنیم به همین دلیل یک میانبر می باشد و زمان جستجو را کاهش می دهد.

همان طور که معلوم شد پوشه deleted_files آخرین چیزی بوده است که کاربر آن را گشوده و استفاده کرده است.

پاسخ: deleted_files

چالش 2. جستجوی پردازشهای مخرب

چالش 2.1 پورت‌های مشکوک

با بررسی فهرست راهنمای volatility می توان دریافت که از دستورات connections و connecscan برای سکن Port های باز استفاده کرد. با این حال هر دو دستور پلاگین، تنها محدود به ویندوز XP و ویندوز سرور 2003 هستند. ولی می توان از دستورات دیگه ای همچون netscan برای این کار استفاده کرد که بر روی تمامی ویندوز ها جواب می دهد.

volatility -f victim.raw --profile=Win7SP1x64 netscan

خلاصه نتیجه اسکن به شرح زیر است:

PID Open port
4 TCP:5357, TCP:445, UDP:138, UDP:137,TCP:2869 (System open port)
416 TCP:49152
504 TCP:49156
512 TCP:49155
752 TCP:135 (Samba)
688 - (Vbox)
852 TCP:49153
920 TCP:49154
1004 UDP:5355
1368 UDP:59471, UDP:59471, UDP:3702, UDP:1900, UDP:61556, UDP:61555 (مشکوک)
2464 UDP:5005, UDP:5004, TCP:554 (مشکوک)

با توجه به نتیجه اسکن، PID های 1368 و 2464 مشکوک هستند چرا که هر دو از یک پورت یکسان استفاده می کنند.

هردوی فرایندها از PPID مشابه ای ایجاد شدند و حتماً مورد دار هستند!

پاسخ: UDP:5005 (البته برای این بخش چندین پاسخ درست وجود دارد.)

چالش 2.2 فرایند مشکوک دیگر

ما PID های 1368 و 2464 را به عنوان فرایندهای مخرب شناسایی کردیم. فرایندهای مشکوک دیگری وجود دارند که درون فایل حافظه پنهان هستند و باید کشف شوند. پس دوباره سراغ psscan می رویم.

فرایند explorer.exe مشکوک به نظر می رسد. این امر به این خاطر است که PPID مربوط explore.exe جای دیگری یافت نمی‌شود. پس کدام پردازش explorer.exe را شروع کرده است؟ پاسخ این امر نامشخص است. با این حال از این مورد با قاطعیت نمی‌توان نتیجه‌ گرفت که explorer.exe یک پردازش مخرب است پس باید آن را بررسی کنیم. ولی Command Line چطور؟

volatility -f victim.raw --profile=Win7SP1x64 cmdline

این طور که به نظر می‌رسد explorer.exe در پوشه صحیح خود اجرا می‌شود ولی کار از محکم کاری عیب نمی کند با VirusTotal هم آن را بررسی می کنیم.

volatility -f victim.raw -p 1860 --profile=Win7SP1x64 procdump 

خب VirusTotal هم چیزی پیدا نکرد ولی بهتره که تمام ابزارهای موجود را تست کنیم تا مطمئن باشیم به خاطر همین این دفعه با malfind آن را سکن می کنیم.

volatility -f victim.raw --profile=Win7SP1x64 malfind

خب خب، معلوم شد explorer.exe از PID اجرا کننده خود محافظت می کند! اگر لاگ های malfind را بررسی کنیم به PID 2464 برخورد می‌کنیم که یافته های قبلی ما را تایید می‌کند. علاوه بر این، PID 1820 نشانه های مخرب بودن را دارد. حالا ما چهار PID مخرب را شناسایی کردیم که 1368، 1464، 1860 و 1820 هستند.

پاسخ: 1860، 1820، 2464

چالش 3. شاخص‌های خطر (IOC)

IOC، تکه‌ داده‌های forensic هستند که در فایل‌ها و logهای سیستمی یافت می‌شوند. از این داده‌ها برای شناسایی فعالیت های آلوده و مخرب می توان استفاده کرد. از آنجایی که تمام پردازش مخرب را در مرحله قبل شناسایی کرده‌ایم از این رو می‌توانیم قرآیند مخرب را dump کنیم تا ببینیم چه فعالیت های مخربی رو سیستم انجام می شود. با دستور زیر می توانیم حافظه را dump کنیم.

volatility -f victim.raw -p  --profile=Win7SP1x64 memdump 

از 4 فایل dump شده مخرب تنها از 1820 dmp استفاده می کنیم. این امر به خاطر فایل dump آن است می تواند پاسخ تمام چالش های بعدی را بدهد.

چالش 3.1 اولین URL

با جزییات بدست آمده به راحتی می توان با grep کردن و استفاده از wildcard پاسخ را یافت.

strings 1820.dmp | grep '\<www\.go....\.ru\>'

پاسخ: سایت چهارم در تصویر که جرات نوشتن آن را به خاطر فیلتر کردن الکی نداریم!

چالش 3.2 URL دوم

مشابه مرحله اول عمل می کنیم

strings 1820.dmp | grep '\<www\.i....\.com\>'

پاسخ: www.ikaka.com

چالش 3.3 URL سوم

مشابه مرحله اول عمل می کنیم

strings 1820.dmp | grep '\<www\.ic......\.com\>'

پاسخ: www.icsalabs.com

چالش 3.4 اولین IP

بازم روش انجام مثل مرحله اول است و طبق آن عمل می کنیم.

strings 1820.dmp | grep '\<202\....\.233\....\>'

پاسخ: 209.200.12.164

چالش 3.5 دومین IP

strings 1820.dmp | grep '\<...\.200\...\.164\>'

پاسخ: 209.200.12.164

چالش 3.6 سومین IP

strings 1820.dmp | grep '\<209\.190\....\....\>'

چالش 3.7 متغیر های یکتا محیطی

برای بررسی variable های environment ایمیج موجود می توانیم از پلاگین envars استفاده کنیم.

volatility -f victim.raw -p 2464 --profile=Win7SP1x64 envars

پاسخ: OANOCACHE

 

هدف این چالش چگونگی استخراح اطلاعا از dump حافظه است و اینکه چگونه process های مخرب را تحلیل کنیم و domains را از فایل dump استخراج کنیم.

       
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x