محتويات التصنيف: "جنايات ألكترونية"
تحدي: تحقيق جنائي ألكتروني رقم (4)
السلام عليكم ورحمة الله وبركاته
مرحباً بجميع زوار مجتمع الحماية العربي هذا أولاً، وأتمنى يضيف هذا التحدي المزيد من المعلومات والأفكار لجميع المشاركين وحتى لللذين سوف يقوموا بقراءة نتائج التحدي في نهاية المشوار. قبل أن أبدأ بشرح فكرة التحدي وما الى ذلك، أود أن أقوم بشكر خاص لجميع الأخوة الذين شاركوا في مسابقة المجتمع الرمضانية السابقة، وبصراحة عملهم الرائع هو من دفعنا الى القيام بإضافة هذا التحدي الجديد.
التحدي رقم (4):
تم إختراق الموقع اللألكتروني لأحدى الشركات، وقام فريق العمل بالذهاب الى الشركة وأخذ صورة جنائية (Forensic Image) من النظام وكذلك الذاكرة وذلك من أحل إجراء التحقيق اللازم. الملفات الخاصة بالجريمة هي:
1- صورة النظام (هنا)
2- صورة ذاكرة النظام (هنا)
3- ملف يحتوي على قيم الـ Hash للملفات (هنا)
password = [email protected]
لحل التحدي بنجاح، يجب تسليم تقرير مفصل يجيب على ما يلي:
1- ما هي الهجمات ونوع الهجمات التي قام بها المهاجم؟
2- عدد المستخدمين الذي قام بإضافتهم المخترق، وما هي الآلية التي قام بإضافة كل واحد منهم؟
3- ما هي الملفات، الادوات، المعلومات، الى آخره، من الأمور التي تركها المهاجم خلفه؟ (لنفترض إنه لم يستطع حذفها لضيق الوقت وسرعة وصول فريقنا الى موقع العمل).
4- ما هي البرمجيات المنصبة على النظام وهل تم تنصيبها من قبل المهاجم أم لا؟
5- بإستخدام التحليل الرقمي للذاكرة، هل تستطيع ان تكتشف ما هو نوع الـ shellcode التي تم حقن النظام بها؟
6- ما هو التحليل الزمني (Timeline Analysis) لجميع ما حصل على هذا النظام؟
7- ما هي فرضيتك للقضية، وما هو المنهج المتبع في حل القضية؟
8- هل هناك ملاحظات إضافية تود إضافتها؟
سؤال إضافي (BONUS):
ما هي الملفات أو المجلدات التي قام بإنشاءها المهاجم على النظام؟ عدد جميعها مع ذكر أدلة تثبت صحة ذلك.
ملاحظات مهمة:
يجب أن يتم حل القضية بإستخدام أدوات مجانية أو حُرة بالكامل، وأن لا يتم إستخدام أدوات تجارية.
بالتوفيق للجميع.
ENGLISH Version:
Digital Forensic Challenge #4:
A company’s webserver has been breached through their website. Our team arrived just in time to take a forensic image of the running system and its memory for further analysis. The files can be found below:
1- System Image: here
2- System Memory: here
3- Hashes: here
4- Passwords = [email protected]
To successfully solve this challenge, a report with an answers to the tasks below is required:
1- What type of attacks has been performed on the box?
2- How many users has the attacker(s) added to the box, and how were they added?
3- What leftovers (files, tools, info, etc) did the attacker(s) leave behind? (assume our team arrived in time and the attacker(s) couldn’t clean & cover their tracks)
4- What software has been installed on the box, and were they installed by the attacker(s) or not?
5- Using memory forensics, can you identify the type of shellcode used?
6- What is the timeline analysis for all events that happened on the box?
7- What is your hypothesis for the case, and what is your approach in solving it?
8- Is there anything else you would like to add?
Bonus Question:
what are the directories and files, that have been added by the attacker(s)? List all with proof.
Important Note:
The case MUST be solved using open source and free tools only (NO EnCase, FTK, etc) are allowed.
Good luck…
تحدي: تحقيق جنائي ألكتروني رقم (3)
أجدد الترحيب بكم ونبدأ على بركة الله التحدي الثالث لمجتمع الحماية العربي، والذي يتركز حول التحقيق في قيام مشتبه به بعمليات إختراق غير شرعية. لكن قبل البدأ في تفاصيل التحدي، أود شكر الأخوة من “نقطة أمن” حول دعمهم للتحدي بجوائز للأخوة المشاركين تضاف الى الجوائز التي يقدمها مجتمع الحماية العربي نفسه. كما أود أن أشكر كل من صرف من وقته سواء القليل أو الكثير للقيام بحل هذه التحديات والتي أسئل الله أن تكون مفيدة لنا جميعاً.
تحدي: تحقيق جنائي ألكتروني رقم (2)
مرحباً مرة آخرى، اليوم نصل لتحدي مجتمع الحماية العربي الثاني، نتمنى تكونوا قد أستفدتم من التحدي السابق. كل تحدي سيكون أهدافه مختلفة وذلك لنستفيد من المشكلة الموجودة وكيف سنقوم بحلها بواسطة أدواة بسيطة متوفرة للجميع. كذلك سنقوم بجعل كل تحدي أصعب من الذي يسبقه، وبعضها هي التي تفتح لك إمكانية العمل على التحدي الذي بعده، أي لن تستطيع مثلاً أن تعمل على التحدي رقم 3 بدون حل التحدي رقم 2. تحدي اليوم إجباري تجاوزه إن كنت تريد الوصول للتحدي القادم، وذلك لأن القادم يعتمد بالكامل على نجاحك في التحدي الحالي وتجاوزه.
قبل أن أدخل في تفاصيل التحدي، أريد التأكيد على أفكار لتحديات. فإن كانت لديك أفكار لجرائم ممكن يتم تحويلها الى قضايا للدراسة والإستفادة العلمية والتقنية منها، فلا تترددوا إما بإرسالها لنا وسيتم نشرها بإسمكم أو بالتواصل معنا لعملها لبقية زوار ومتابعي الموقع والإستفادة من الأفكار التي فيها.
تحدي: تحقيق جنائي ألكتروني رقم (1)
في البداية رمضان مبارك على الجميع، وأدعوا الله أن يعيننا على صيامه وقيامه، وأن يغفر لنا جميع ذنوبنا.
قررنا في مجتمع الحماية العربي، عمل مسابقة أسبوعية خلال شهر رمضان المبارك، وتكون عبارة عن جريمة ألكترونية بسيطة وعليكم بالقيام بحل القضية وذلك بهدف زيادة الوعي في مجال التحقيقات الجنائية الالكترونية. المسابقات سوف تبدأ بقضية بسيطة، وبعد ذلك تتعقد شيئاً فشيئاً. خلال عملك في حل كل قضية سوف تكتسب خبرة ولو بسيطة في جانب من جوانب التحقيقات الجنائية الالكترونية وبإستخدام أداوت بسيطة ومتوفرة للجميع. على بركة الله نبدأ القضية الأولى، ولديكم أسبوع واحد من الآن لحل القضية.
ملاحظة: إن كانت لديك أفكار لجرائم ممكن يتم تحويلها الى قضايا للدراسة والإستفادة العلمية والتقنية منها، فلا تترددوا إما بإرسالها لنا وسيتم نشرها بإسمكم أو بالتواصل معنا لعملها لبقية زوار ومتابعي الموقع والإستفادة من الأفكار التي فيها.
تحليل جنائي لإكتشاف الفرق بين إضافة مستخدم من قبل CLI أو GUI
الفكرة لهذه التدوينة جائت بعد أن قام أحد المتابعين (azeemnow) لـ #DFIR على تويتر بطرح السؤال حول كيف يمكننا أن نعرف هل قام المُخترق بإضافة مستخدم على نظام ويندوز من CLI أم من GUI؟
حاولت بالبداية أن أطرح عليه بعض الحلول ولكن على ما يبدو لم تنفعه كثيراً. هنا قلت لنفسي لما لا أقوم بعمل الخطوات نفسها وأرى بنفسي مالذي يمكنني التوصل له، وهذا ما فعلت!
الخطوات التي قمت بها ولكن ليست بالترتيب المذكور وذلك لكي أخلق لك عزيزي القاريء جو من التشويق والتجربة بنفسك، هي:
1- قمت بتشغيل cmd.exe بصلاحيات Administrator وقمت بتنفيذ الأمر الذي بالأسفل لإضافة مستخدم جديد سميته cmduser وكلمة السر له هي cmduser كذلك:
net user cmduser cmduser /add
2- بعد ذلك ذهبت الى لوحة التحكم (Control Panel) في نظام الويندوز ومن ثم الى User Account ومن هناك قمت بإضافة مستخدم أسميته guiuser.
الآن الفكرة التي كانت في مخيلتي هي إنه يمكنني من خلال تتبع السجلات الخاصة بالنظام (system logs) أن أحصل على أدلة كافية تقودني للتفريق بين المستخدم الذي تم عمله من سطر الأوامر وبين المستخدم الذي تم عمله من داخل لوحة تحكم النظام، لكن للأسف تبيين إنه لا يمكن معرفة ذلك بهذه الطريقة! فبعد أن أطلعت على السجلات، تبيين إنه لا فرق بتاتاً بين كلا العمليتين سوى التاريخ، وبدون شك إسم المستخدم 🙂 حيث في برنامج عرض الأحداث (Event Viewer)، قام النظام بتسجيل الحدث رقم 4720 والذي يعني “إنشاء حساب مستخدم جديد” (A user account was created) لكلا الحالتين. وكما أسلفت، لكي لا تعرف عزيزي القاريء أيهما تم إنشاءه أولاً، فإنه المستخدم الأول (بغض النظر عن إسمه حالياً) تم إنشاءه بتاريخ 1/7/2014 4:40:02 pm بينما المستخدم الثاني تم إنشاءه بتاريخ 1/7/2015 4:40:30 pm.
صديقنا azeemnow كان قد عمل ما يسمى بـ super timeline وذلك لتوضيح تواريخ الأحداث وترتيبها “تسلسلها”، ولكن هذا لم يجدي الكثير من النفع!
قمت بالتواصل والدردشة مع هارلان (keydet89)، أحد أفضل الكتاب بمجال التحليل الجنائي الالكتروني في نظام الويندوز وسألته عن الأمر، فأخبرني أن أبحث وأتأكد من ملفات الـ prefetch (المزيد عنه لاحقاً في تديونة آخرى) الخاصة بكل من net.exe و net1.exe وتاريخ آخر تنفيذ لهما. حيث إنهما سوف يظهران قبل بداية إضافة المستخدم من سطر الأوامر (cmd.exe) بقليل من الوقت (إلا لو قام المخترق بالعمد بتأخير الأمر). هنا قمت بعمل إستخراج لكلا الملفين (prefetch) بواسطة FTK Imager ومن ثم أستخدمت أداة بسيطة كتبت بلغة بايثون لـ جين مايكل (jmichel_p) وذلك لتحليل الـ prefetch الخاص بـ net.exe و net1.exe.
من خلال النتائج الخاصة بملف NET.EXE prefetch، تبيين التالي:
من خلال النتائج الخاصة بملف NET1.EXE prefetch، تبيين التالي:
الآن بعد القيام بربط الأحداث مع بعضها البعض:
1- نتائج الأحداث (السجلات)
2- نتائج ملفات Prefetch
يمكننا أن نفترض بإنه المستخدم الذي تم إنشاءه بتاريخ 2015-01-07 14:40:02، هو المستخدم الذي تم إضافته من سطر الأوامر (cmd.exe).
الآن وماذا عن المستخدم الذي تم إنشاءه من لوحة التحكم؟ هنا أقترح علي هارلان أن أتحقق من مداخل الـ ShellBags (المزيد عنه لاحقاً في تديونة آخرى) الخاصة بالمستخدم الذي قام بعملية الإنشاء للحسابات. هنا قلت مع نفسي إن هذه أفضل فرصة لتجربة أداة أريك (EricRZimmerman) والتي قام بالإنتهاء منها قبل فترة ليسطة بعيدة أسماها ShellBagsExplorer. يمكن تحميلها من هنا.
قمت كذلك بعملية سحب الملف UsrClass.dat الخاص بالمستخدم الذي قام بعملية الإنشاء (لا تنسى عزيزي القاريء يمكن معرفة من قام بذلك من السجلات نفسهم) ومن ثم قمت بتحليله من خلال الأداة التي ذكرتها ShellBagsExplorer. الأداة سهلة الإستخدام ورائعة للغاية وأنصح كل من يهتم بمجال التحقيقات الجنائية الالكترونية أن يقوم بتجربتها. الأداة قامت بتسهيل كل شيء من خلال عرض النتائج على شكل شجيري، ومن هناك وجدت إن المستخدم قام بتشغيل لوحة التحكم ومن ثم لوحة إدارة المستخدمين (User Accounts) في تاريخ 1/7/2015 2:40:20 pm، كما هو مبيين في الصورة أدناه:
من خلال ذهابه الى هذه اللوحة قام بالذهاب من هناك الى صفحة إدارة الحسابات (Manage Accounts) بتاريخ 1/7/2015 2:40:22 pm، كما هو مبيين بالصورة أدناه:
بعد ذلك قام المستخدم بتشغيل صفحة إضافة مستخدم جديد (Create New Account)، حيث قام هو/هي بإضافة الحساب بتاريخ 1/7/2015 2:40:30 pm، كما هو مبيين في الصورة أدناه:
الآن بعد القيام بربط الأحداث مع بعضها البعض، كما فعلنا سابقاً:
1- الاحداث التي وجدناها في برنامج Events Viewer
2- الاحداث التي وجدناها في ShellBags Explorer
تثبت بإنه المستخدم الثاني الذي تم إنشاءه بتاريخ 1/7/2015 4:40:30 pm، هو المستخدم الذي تم عمله من خلال لوحة التحكم GUI وليس من سطر الأوامر CLI.
كذلك لو قمنا بعمل تحليل زمني (timeline) لجميع ما تم ذكره، فإنه يمكننا تأكيد ما تم ذكره بالأعلى، وذلك لأننا سوف نجد تسلسلهم الزمني وراء بعض.
هذا كل ما لدي في هذا الموضوع، وإن شاء الله نلتقي مع مواضيع آخرى في هذا المجال في القريب العاجل.