تحليل windows shell-bags ومعرفة ما تم فتحه للتحقيق الجنائي الرقمي

فيديو سابق كنت نشرته على مجتمع iSecur1ty، الفيديو عباره عن تحليل لمجموعه من المعلومات يتم جمعها من قبل windows explorer وتخزينها في الرجستري الخاص بالنظام , هذه المعلومات لها  قيمه مهمه في التحقيق الجنائي الرقمي لمعرفه الملفات التي فتحها المستخدم حتى وان تم حذفها من قبل المستخدم .

 

Windows Recycle Bin Forensics

معلومات Recycle Bin تعتبر من اسهل windows artifact في التحقيق الجنائي الرقمي. عندما يتم حذف ملف في نظام وندوز، يتم نقله الى سلة المهملات قبل حذفه لكي يتمكن المستخدم من استرجاع الملف لاحقا اذا اراد ذلك او اذا كانت عملية المسح بالخطا. بكل سهولة يمكن معرفة الملفات المحذوفه سابقا بمجرد فتح سلة المهملات ولكن لا يمكن معرفة تاريخ ووقت حذف الملف الا عن طريق قراءة ملف الـ metadata. متابعة قراءة “Windows Recycle Bin Forensics”

تحليل الـ scheduled tasks في نظام Windows

في هذه التدوينة سوف نقوم بتحليل معلومات المهام المجدولة في انظمه وندوز ومعرفة ماهي قيمة هذه البيانات في التحقيق الجنائي الرقمي. مايكروسوفت اضافت ميزه جدولة المهام في انظمة وندوز والتي تسهل على مدراء الانظمه تشغيل الاوامر والسكربتات بوقت معين او بشكل دوري, مثلا كل يوم اربعاء الساعه العاشرة يقوم الجهاز بتحديث نفسه او اخذ Backup او ارسال تقرير معين… الخ. جدولة المهام يتم استغلالها من قبل الهاكرز في تشغيل الملفات الخبيثة والحصول على ميزات اضافية.

قبل ان نشرع في التحليل, دعونا نفهم كيف تعمل جدولة المهام. يمكنك انشاء مهمة في عن طريق سطر الاوامر باستخدام امر at او schtasks او عن طريق الوجهة الرسومية لاداة Taskschd.msc. عملية انشاء المهام المجدولة سهل جدا من خلال الواجهة الرسومية وذلك عن طريق بعض النقرات وتم الامر,  بالنسبة لانشاء مهام مجدولة من خلال سطر الاوامر ارجع الى موقع مايكروسوفت.

دليل استخدام امر at

https://support.microsoft.com/en-us/help/313565/how-to-use-the-at-command-to-schedule-tasks

دليل استخدام امر Schtasks

https://technet.microsoft.com/en-us/library/bb490996.aspx

في الاغلب يتم استخدام امر at من قبل المهاجمين. امر schtasks اكثر تعقيدا وتقدما من امر at حيث انه يملك ميزات اكثر. يمكنك الاطلاع عليها في موقع مايكروسوفت. اذا قمت بتشغيل الامر schtasks في سطر الاوامر سوف يتم عرض كل المهام المجدولة سواء تم انشائها باستخدام at او schtasks ولكن اذا قمت باستخدام امر at في سطر الاوامر سوف يتم عرض فقط المهام التي تم انشائها باستخدام امر at .

ماهي قيمة معلومات المهام المجدولة في التحقيق الجنائي الرقمي

بشكل عام التحقيق الجنائي الرقمي يبحث عن كل معلومه مفيده في التحليل والمهام المجدولة تدخل ضمن هذه المعلومات حيث ان لها القدرة على تشغيل الملفات التنفيذه او الامر الخاصة بنظام التشغيل لذلك قد يستخدمها الهاكرز في تشغيل برمجياتهم الخبيثه في اوقات معينة ايضا باستخدام جدولة المهام.

جدولة المهام توفر لك بعض المرونة مثل انه من الممكن  ان يتم تشغيل الملف من جهاز اخر على الشبكة ايضا عندما يتم تشغيل الملفات عن طريق جدولة المهام يتم تشغيلها بصلاحيات SYSTEM وليس صلاحيات local administrator  وهذه ميزه اضافية للمهاجم انه يحصل على صلاحيات اضافية تفيدها في privilege escalation وتشغيل سكربتات تقوم بمهام متعددة  مثل password dumpers.جانب اخر ومهم جدا وهو عند القيام بجدولة مهمه معينة تقوم بتشغيل cmd ثم تقوم الـ cmd بتشغيل ملف اخر خبيث سوف يتم تسجيل الـ logs بانه تم تشغيل cmd ولن يتم تسجيل اي log للملف الخبيث .

التحليل:

معلومات المهام المجدولة يتم تخزينها في ملفات تحمل الامتدام .job هذه المعلومات لا تخزن الى الابد في نظام التشغيل وانما بشكل مؤقت حسب نوع النظام مثلا في اصدارات وندوز قبل فيستا يتم حذفهم فورا عند تشغيل المهمه المجدولة بنجاح اما في الاصدارات بعد فيستا يتم تخزينهم اطول حتى يتم اغلاق او اعادة تشغيل Task Scheduler service. معلومات المهام يتم تخزينها في الرجستري في المسار التالي

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tasks
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Treea

ملف الـ log للخدمة نفسها Task Scheduler service متى تم تشغيل او اطفاء الخدمه متواجد في الملف C:\Windows\System32\Tasks\SchedLgU.txt

للمهام التي تم انشائها باستخدام at يتم تخزينها معلوماتها في ملفات .job  في المسار C:\Windows\System32\Tasks يمكن تحليل هذه الملفات باستخدام اداة Job File Parser .

للمهام التي تم انشائها باستخدام امر Schtasks او اداة الوجهة الرسومية Taskschd.msc يتم تخزين المعلومات في ملفات xml في المسار التالي C:\Windows\System32\Tasks

هذه المعلومات يتم تحليلها ومعرفة كل المهام المجدولة وماتم تشغيله في النظام مسبقا او مجدولة ليتم تشغيله لاحقا. ايضا يمكن استخراج معلومات مفيده عن المهام المجدولة من خلال Event log لنظام وندوز .

Forensics Live Analysis باستخدام اداة Redline لانظمه وندوز

في اي عملية تحقيق جنائي لحادثة اختراق جمع المعلومات مهمة رئيسيه. جمع المعلومات تتم على مستوى الشبكه او على مستوى الجهاز (Host). كل المعلومات مهمه للغاية حتى تلك المعلومات المؤقته الموجوده في ذاكرة النظام.

في العادة يتم اخذ صوره كاملة من الهارد ديسك للتحليل ولكن احيانا يتطلب اخذ المعلومات بشكل مباشر دون اطفاء النظام هذه العملية تسمى بـ Live analysis او Live response . تطرقت للموضوع سابقا بفيديو على مجتمع iSecur1ty.

جانب مهم يجب مراعاته هو عدم تغيير اي شي في النظام المراد التحقيق فيه, لذلك يجب استخدام اداوات مخصصه لعملية الجمع. الكثير يستخدم سكربتات وادوات بسيطه قام ببرمجتها او عن طريق استخدام الاوامر الموجوده في النظام بشكل افتراضي. قليله جدا هي الادوات التي توفر لك بيئه جيده لجمع المعلومات دون المساس بالنظام والاعتماد بشكل كلي على مكتبات مضمنه مع السكربتات محاولة لعدم الاعتماد على مكتبات في النظام وتشغيلها واحداث التغييرات.

اداة Redline توفر مجموعه من السكربات التي تقوم بانشائها واستخدامها اثناء الاستجابة للحوادث . السكربتات تقوم بجمع المعلومات بشكل تلقائي. الاداة ايضا تستطيع  اخذ صوره من ذاكرة النظام وهذا جزء أساسي من عملية Live response حيث ان الذاكرة تحتوي على معلومات مهمه للغاية.

طريقة عمل الاداة وهي اولا تقوم بتنصيب الاداة على جهازك الذي تستخدمه للتحقيق الجنائي الرقمي. لا تقوم ابدا بتنصيب الاداة على الجهاز المراد التحقيق فيه وألا سوف تقوم بإتلاف الدليل , عند فتح الادة سوف يكون هناك خياران, الاول وهو انشاء السكربات المطلوبه لجمع البيانات, الثاني تحليل بيانات تم جمعها.

سوف نقوم باختيار الخيار الاول, الاداة سوف تتيح لك خيار تعديل السكربتات التي سوف تولدها. هناك تقريبا 11 تصنيف من المعلومات التي سوف تجمع واكثر 60 مصدر سوف تجمع منه المعلومات .

كما هو واضح في الصوره يمكن اختيار ما تريد جمعه, بعد عملية الاختيار قم بتحديد مكان حفظ السكربات.  من الافضل وضعهم في قرص USB واستخدام القرص اثناء جمع المعلومات من الجهاز المراد التحقيق فيه.

سوف تجد الملف RunRedlineAudit.bat والذي سوف يقوم ببدء عملية الجمع. بعد انقضاء الوقت المطلوب للجمع والذي يختلف على حسب البيانات التي اخترتها للجمع. قم بنقل الملف الذي سوف يتم انشائه في نفس مسار السكربتات والذي يحتوي على البيانات لفتحها باستخدام الاداه نفسها وتحليل البيانات .

الاداة رائعة في تحليل النتائج وعرض البيانات بشكل رسومي, ويمكن ايضا تحليل الذاكرة واستخراج الكثير من البيانات المفيده . هذا رابط لدليل المستخدم الخاص بالاداة .

لقد قمت مسبقا بتسجيل فيديوهات عن الاداة مقسمة لجزئين, اتمنى ان تكون مفيده.

 

ماهي ملفات الـ prefetch والفائده منها في Windows Forensics

مايكروسوفت قامت بعمل آلية تستطيع من خلالها تسجيل بعض المعلومات التي تخص الملفات التنفيذيه في النظام بحيث اذا تم طلبها (تشغيلها) مره اخرى سوف يتم معالجه الطلب بشكل اسرع . يتم تخزين المعلومات في ملفات تدعى  prefetch .

ملفات الـ prefetch تحتوي على معلومات قيمة للتحقيق الجنائي الرقمي لانظمه وندوز , الملفات تحتوي على معلومات تخص البرامج التي عملت في النظام مع عدد المرات التي تم فتح فيها برنامج معين . هذه المعلومات قد تستخدم كدليل لفتح برنامج وعدد المرات وكذلك تاريخ ووقت اخر فتح للبرنامج . في حالة تم حذف البرنامج من النظام , ملفات الـ prefetch تبقى في النظام ولا يتم مسحها وهذا يعتبر مفيد جدا في التحقيق الجنائي ومعرفة البرنامج التي تم تشغيلها . الملفات تحمل امتداد  .PF في نظام وندوز وتوجد داخل ملف Windows في قرص النظام . لكل برنامج منصب على النظام ملف prefetch منفصل لتخزين المعلومات  . على سبيل المثال اذا كان هناك لعبة منصبة على النظام واسم اللعبة ( الملف التنفيذي للعبة) MY-GAME سوف يكون اسم الملف في مجلد الـ prefetch اسم اللعبة متبوع ببعض الاحرف كهاش مميز لكل ملف سوف يكون شبية بالاسم التالي  MY-GAME.EXE-0FE8F3A9.pf .

المعلومات التي توفرها ملفات الـprefetch :

  • اسم الملف التنفيذي
  • عدد المرات التي تم فتح فيها البرنامج
  • تاريخ الانشاء
  • بعض المسارات الخاصه بالملف والمكتبات التي يعتمد عليها

هناك العديد من الادوات الجيده التي توفر لك تحليل لملفات الـ prefetch منها الادوات التاليه

اداة winprefetchview

ماهي معلومات Shimcache والفائدة منها في التحقيق الجنائي الرقمي

Shimcache تم اضافتها الى نظام وندوز ابتداء من وندوز اكس بي وكان الهدف منها تتبع معلومات الملفات التنفيذيه لغرض متابعه التوافقيه للملفات التنفيذيه لمختلف اصدارات وندوز . هذا يعني ان نظام وندوز يقوم بجمع معلومات عن الملفات التنفيذيه (البرامج ) في النظام , هذه المعلومات يطلق عليها Shimcache  .

معلومات الـ Shimcache تتضمن في التالي:

  • File Full Path
  • File Size
  • $Standard_Information (SI) Last Modified time
  • Shimcache Last Updated time
  • Process Execution Flag

هذه المعلومات لها قيمة فعلية للتحقيق الجنائي الرقمي والكثير من ادوات التحقيق الجنائي مثل Encase و FTK تحلل وتستخرج هذه المعلومات اثناء تحليل صورة النظام .من خلال هذه المعلومات نستطيع معرفة البرمجيات التي تم تشغيلها في النظام ومعلومات اخرى مثل الحجم ومسار الملف وغيرها .

في 2012 قام Andrew Davis بنشر White paper عنها ومنذ ذلك الحين اصبحت من الـartifacts المهمه للتحقيق الجنائي الرقمي في انظمه وندوز  .

يمكن للمحقق الجنائي استخدام اداة ShimCacheParser لاستخراج هذه المعلومات من الرجستري الخاص بالنظام . ايضا هناك plugin يمكن استخدامها مع مشروع volatility لتحليل الذاكرة .

هذا مثال عملي لاستخراج هذه المعلومات من موقع fireeye

https://www.fireeye.com/blog/threat-research/2015/10/shim_shady_live_inv.html

ايضا هذا المقال يشرح التفاصيل التقنيه

https://www.fireeye.com/blog/threat-research/2015/10/shim_shady_live_inv/shim-shady-part-2.html