28 تغريدة 76 قراءة Jun 15, 2022
NTFS Forensics:
هذا الثريد لن يتعمق في شرح NTFS لأنه هناك كثير من الشروحات في هذا الموضوع. وأيضا لن اتعمق في شرح ماهو ال FileSystem ولكن من باب التبسيط
الFileSystem هو طريقة حفظ, قراءة, استرجاع الملفات من الجهاز, مثال لتبسيط الفكرة فكر في دواليب المطبخ, بدونها المطبخ عبارة عن أدوات منثورة في غرفة مغلقة, بوجود الدواليب نقدر نحط "الدلة" في دولاب معين ويكون سهل الوصول لها, الدواليب هي ال FileSystem
تركيبة النظام هذي عبارة عن مجموعة من الملفات
زي ماذكرت تركيزنا هنا مو دراسة الNTFS تركيزنا هو التحقيق الجنائي لبعض الملفات داخل هذا النظام, ومن أهمها
$MFT – Master File Table
$UsnJrnl – Change Journals
سؤال يطرى لبعض المحللين, ليش أساسا نحلل الNFTS و ال$MFT و ال$UsnJrnl؟
هذا سؤال رهيب و الجواب:
اذا مخترق نفذ اختراق باستخدام أدوات وعدل على أوقات الأدوات هذي, او حذف هذي الأدوات بعد الاختراق وماصار لها أي اثر بالجهاز! هنا ندخل على هذي الملفات لانها تحتوي على record لكل ملف وجد في يوم من الأيام على الجهاز!!
كالعادة لبداية تحليل أي ملفات لازم اننا نسوي acquire (تحريز للأدلة), الملفات التابعة لNTFS جميعها ملفات مخفية موجودة في الroot لاي قرص من نوع NFTS مثال ( (C:\$MFT , D:\$\Extend\$UsnJrnl
معلومة مهمة:
اذا الجهاز فيه قرص واحد ومقسوم C: & D: حيكون فيه ملفين C:\$MFT & D:\$MFT
طريقة التحريز (Acquisition) :
FTK Imager  File  Add Evidence Item …  and select wanted disk
Powershell ps1 script(I didn’t test it) gist.github.com
نبدأ بال $MFT ماهو الMaster file table
هو ملف يربط بين وجود الملفات بشكل فيزيائي و الملفات في النظام, ويحتوي على 8 قيم Timestamps و بنفصل الفروقات بينهم
مثال للتبسيط:
طيب حوقف كلام ونبدأ تحليل شوي, الخطوة الثانية هي الParse لل$MFT
باستخدم تول MFTECmd احد أدوات الرهيب @EricRZimmerman
ericzimmerman.github.io
استخدام التول سهل جدا
MFTECmd.exe -f <path to $MFT> --csv <path to output>
والنتيجة بتكون ملف .csv , انا من محبين excel ولكن في ناس تستخدم TimeLineExplorer أيضا كتبها EricRZimmerman
هذي النتيجة في ملف .csv التركيز زي ما ذكرنا سابقا انه بنبحث عن ملفات محذوفة من النظام في وقت الاختراق
مثال1: كتبت ملف اسمه thehunter.txt داخل C:\shawi\
وبعدها حذف الملف shit + delete (حذف نهائي)
الان برجع احلل ال$MFT, و ببحث عن الfolder C:\shawi\ و بنحصل الملف thehunter.txt موجود له record رغم ان الملف محذوف
الان وقت جيد لشرح MACB Timestamps
M: Modified
A: Accessed
C: Changed
B: Birthed
تكملة:
موضوع اخر لازم نشرحه وهو $STANDARD_INFO, $FILE_NAME
$SI: تحفظ معلومات عن الملف و المالك للملف وأيضا Timestamps
$FN: تحفظ معلومات اخرى عن الملف مثل حجمه و الlength و أيضا Timestamps
يعني الملفات تحتوي على 8 Timestamps (اذا كان اسم الملف اقل من 8.3 او 8 احرف و 3 للصيغة) اذا تجاوز هذا العدد راح يكون للملف 12 Timestamp
4: من $SI
4: من $FN
4: من $FN كون الأسماء الطويلة تحفظ 2 record لكتابة كامل اسم الملف (الموضوع شوي يلخبط ولكن ممكن نخوض فيه مستقبلا)
مثال توضيحي:
Abcd.txt : 8 Timestamps
Areallylongfilename.txt : 12 Timestamps
الفرق من ناحية تحقيق جنائي ان $SI ممكن التعديل على اوقاته باستخدام أدوات Timestomping technique اما ال $FN لا توجد الى الان أساليب للتعديل على هذي القيم (موضوع للنقاش اذا كان فيه Signed Malicious Driver؟)
المذكور في التغريدة السابقة ليس صحيح تماما Trick question ولشرحها بحط سؤالين:
1: هل يستطيع المستخدم تعديل على قيم $FN؟ الجواب لا, فقط الSystem يعدل على القيم
2:هل يستطيع المستخدم إعطاء امر للSystem لتعديل هذي القيم؟ الجواب نعم!
الطريقة موجودة في هذي المقالة للاستزادة
inversecos.com
اشكر @u0pattern نبهني عليها!
هذا ملف استخدمنا أدوات للتعديل على الأوقات الى 1995 و حللنا ال$MFT ولقينا القيم متغيرة لل$SI, والمقارنة بينها وبين $FN عرفنا عن التلاعب اللي صار
طيب لو المخترق عدل اسم الملفrename بعد ما سوا timestomping?
نلاحظ هنا انه عدل على قيم موجودة في $FILE_NAME !!,وذكرنا انه المخترق ما يقدر بطريقة مباشرة يعدل عليها!!, هنا الSystem هو اللي عدل هذي القيم بعد عملية إعادة التسمية و ليس المخترق
طيب كيف نصيد هذا الأسلوب لو المخترق عمله؟؟
هنا تجي فائدة C:\$Extend\$UsnJrnl\$J وهو ملف يحتفظ بكامل العمليات اللي تصير على ملف ما, خلال فترة حياته كاملة من الانشاء الى الحذف النهائي
طريقة acquisition باستخدام FTK و طريقة الparse أيضا بنفس الأداة MFTECmd.exe
MFTECmd.exe -f <$J location> --csv <output location>
طريقة التحليل اننا نروح للملف اللي شاكين ان تم عليه timestomping من ال MFT و ناخذ ال entry number
ونبحث عنه في ال $J, وهنا بنلاحظ ان جميع المعليات تمت في التاريخ الفعلي (تاريخ اليوم) و ليس 1995 زي ما المخترق حاول يقنعنا

جاري تحميل الاقتراحات...