#رمضانيات_DFIR
4 رمضان - MFT$ 📂
ال MFT$ او Master File Table هو واحد من الملفات الخاصة بنظام الملفات NTFS. ال NTFS هو النظام الأساسي ل Windows و ما تقدرت تثبت Windows على نظام ملفات غير NTFS
#DFIR #BlueTeam
4 رمضان - MFT$ 📂
ال MFT$ او Master File Table هو واحد من الملفات الخاصة بنظام الملفات NTFS. ال NTFS هو النظام الأساسي ل Windows و ما تقدرت تثبت Windows على نظام ملفات غير NTFS
#DFIR #BlueTeam
هذا الملف يحتوي على معلومات كل الملفات والمجلدات (metadata) الموجودة على جهاز التخزين. ال MFT يحتوي على مجموعة من ال records كل record حجمه 1024 bytes و كل record يحتوي على معلومات لملف أو مجلد
كل record في ال MFT$ يحتوي على شي أسمه attributes كل attribute يحتوي على معلومات مختلفة. بأتكلم بس عن ثلاثة attributes
- $STANDARD_INFORMATION
- $FILE_NAME
- $DATA
- $STANDARD_INFORMATION
- $FILE_NAME
- $DATA
زي ما تشوفون هذي ال attributes تحتوي على MACB timestamps وهو جزء مهم من هذا ال artifact. طيب وش معنى ال MACB?
- Modification Time (M): يحتوي على اخر وقت تم فيه تعديل للملف
- Access Time (A): يحتوي على اخر وقت صار فتح للملف\المجلد
- Creation Time (C): يحتوي على اخر وقت صار فيه تغيير لل MFT record
- Birth Time (B): يحتوي على الوقت الي صار فيه creation للملف
- Access Time (A): يحتوي على اخر وقت صار فتح للملف\المجلد
- Creation Time (C): يحتوي على اخر وقت صار فيه تغيير لل MFT record
- Birth Time (B): يحتوي على الوقت الي صار فيه creation للملف
الفرق بين الأوقات الي
بين STANDARD_INFORMATION (0x10)$ و $FILE_NAME (0x30) هو أن ال $STANDARD_INFORMATION يتغير بشكل كبير و هو الي تشوفه في ال file explorer في ال windows.
بين STANDARD_INFORMATION (0x10)$ و $FILE_NAME (0x30) هو أن ال $STANDARD_INFORMATION يتغير بشكل كبير و هو الي تشوفه في ال file explorer في ال windows.
ال adversaries يستخدمون طريقة يقولون لها time stomping, بمعنى أنه يغير الأوقات الي في $STANDARD_INFORMATION عشان لما تشوفها في ال file explorer ما تشوف في ملف وقته مختلف عن الملفات الثانية
نقدر نسوي detection على هذي ال technique بأنه نشوف اذا الوقت الي في ال 0x30 أكبر من الوقت الي في 0x10 معناتة أن ال adversary أستخدم time stomping
$DATA
هذا ال attribute تقول لك وين محتوى الملف. أغلب الأحيان بتكون موجودة في مكان ثاني في جهاز التخزين بس بعض الأحيان اذا كان حجم الملف صغير بيكون موجود داخل ال record هذي يقولون لها resident data
هذا ال attribute تقول لك وين محتوى الملف. أغلب الأحيان بتكون موجودة في مكان ثاني في جهاز التخزين بس بعض الأحيان اذا كان حجم الملف صغير بيكون موجود داخل ال record هذي يقولون لها resident data
الملف في ال NTFS ممكن يحتوي على أكثر من DATA attribute, بمعنى الملف يمكن يكون فيه أكثر من محتوى. مشكل أفتراضي اذا حاولت أفتح ملف Windows بيفتح ال DATA attribute$ الي ماله أسم, بس تقدر تضيف أكثر من stream هذا يقولون له Alternative Data Stream أو ADS.
ال MFT$ فيه معلومات كثيرة مفيدة لل DFIR Specialist, هذي بس أهم المعلومات الي لازم تعرفها عشان تسوي analysis لل MFT$ من وجهة نظري.
في الأخير هذي parsers تقدر تستخدمها عشان تسوي parse لل MFT
- mft_dump (مستخدم في هذا المثال) - github.com
- MFTCmd - ericzimmerman.github.io
- mft_dump (مستخدم في هذا المثال) - github.com
- MFTCmd - ericzimmerman.github.io
جاري تحميل الاقتراحات...