Malware Analysis Fundamentals



بالبداية نتعرف عن ماهو الـ Malware بشكل مبسط هو عبارة عن برامج ضارة تستهدف آجهزة المستخدمين والأنظمة ، الهدف منها يكون لأغراض مختلفة مثل : لضمان الإستقرار أو مايُسمى بالـ Persistence على الجهاز ، أو يكون لغرض إتلاف النظام ، هذه البرمجيات الضارة في الغالب تكون مكتوبة بلغات برمجية.

كمحلل ستواجه ملفات مشبوهه قد تكون عبر البريد الإلكتروني أو ربما يتم إكتشافها عن طريق الـ Antivirus أو تم عمل Detected عن طريق برامج الخاصة بالـ Network Security.


Malware Types

يتم تقسيم البرامج الضارة إلى أنواع وفقًا لوظائفها / أغراضها / شخصياتها. بعد تحليل البرنامج الضار ، ستقوم بمطابقته بأحد الأنواع التالية :

  1. الـ Backdoor هو نوع من أنواع البرامج الضارة يتم تثبيتها على جهاز الكمبيوتر بدون علم المستخدم، وتستخدم للسماح للـ Attacker بالوصول إلى النظام أو التطبيقات بطريقة غير مصرح بها. على سبيل المثال من خلال فتح Port أو منفذ متصل بالشبكة لايتم إستخدامه بكثرة أو لم يتم غلقه.

  2. الـ Adware هو نوع من البرامج الضارة المصممة لعرض الإعلانات على جهاز الكمبيوتر أو المتصفح، وغالبًا ما يتم تضمينها مع برامج أخرى يقوم المستخدم بتثبيتها دون العلم بوجود Adware. وهي تُعتبر من البرامج الضارة الأقل خطورة، بحيث انها لا تتسبب عادة في الأضرار داخل الجهاز، لكن تُسبب الإزعاج للمستخدمين عن طريق عرض الإعلانات المزعجة ، وبعضها يتم عرضها عن طريق المتصفح بشكل إفتراضي.

  3. الـ Ransomware هو نوع من البرامج الضارة التي تستخدم لتشفير الملفات على جهاز الكمبيوتر ومنع المستخدم من الوصول إليها، ومن ثم يتم طلب فدية مالية (Ransom) مقابل إعادة الوصول إلى الملفات المشفرة. يُصنّف إن الـ Ransomware من أخطر أنواع البرامج الضارة، حيث يمكن أن يتسبب في فقدان البيانات والملفات الحساسة والتسبب في أضرار كبيرة للمستخدمين والشركات.

  4. الـ Virus هو برنامج ضار تم تصميمه للإنتشار بين الملفات الموجودة على الجهاز، بحيث يُسبّب في أضرار داخلية على الأجهزة والملفات والبيانات المخزنة فيها. يعد فيروس البرمجيات الخبيثة الأشهر والأكثر شيوعًا، حيث يتم تصميمه لتنفيذ أنشطة ضارة على الجهاز المصاب دون علم المستخدم ، تحتوي هذه الفيروسات على ميزة النسخ الذاتي أو مايُسمى بالـ Self-Replicate بحيث يُصيب الملفات الأخرى الموجودة على الجهاز.

  5. الـ Worm هذا النوع من البرامج الضارة ينتشر من الأجهزة المصابة إلى الأجهزة الأخرى ، فإنه يُسمى الفيروس المتنقل. يختلف الـ Worm عن الـ Virus بأن الـ Virus تنتشر عادةً عن طريق التحميل من الإنترنت أو البريد الإلكتروني أو الـ USB عادة ما تستهدف ملفات النظام والبرامج الأخرى لتدميرها أو تعطيلها. بينما الـ Worm تنتشر عن شبكة الإنترنت أو الشبكة المحلية دون تدخل المستخدم يمكن أن يسببوا أضرارًا أكبر، مثل اختراق الأجهزة وسرقة المعلومات الحساسة وتعطيل الخوادم والشبكات.

  6. الـ Rootkit يُعتبر هذا النوع من البرامج الضارة التي تهدف إلى إخفاء وجودها في نظام التشغيل، والتي تعطل أو تحاول تجاهل عمليات الكشف عنها من قبل برامج مكافحة الفيروسات وأدوات الأمان الأخرى. وعادةً ما يتم تصميم الـ Rootkit لغايات الاختراق السري والتجسس، حيث يقوم بتحميل نفسه في نواة النظام (Kernel) ويمنح المهاجمين الوصول الكامل إلى النظام والمعلومات المخزنة فيه ، ويستخدم الـ Rootkit أساليب متطورة للتخفي والإخفاء من أدوات الأمان، مثل تعديل ملفات النظام وتحويل اسماء الملفات والمجلدات والعمليات المشبوهة، وأيضاً يمكنه تغيير السجلات والمفاتيح في قاعدة بيانات النظام لتجنب الكشف.

  7. الـ RAT (Remote Access Trojan) وهو نوع من البرامج الضارة التي تسمح للمهاجمين بالتحكم عن بعد في أجهزة الكمبيوتر ، يتم تثبيت RAT عادة عن طريق التحميل من مواقع الإنترنت غير الموثوقة أو البرامج المشاركة في الملفات، وفي بعض الأحيان يتم تثبيت RAT من خلال الاستغلال الأمني في النظام ، وبمجرد تثبيت RAT يمكن للمهاجمين استخدامه للتحكم في جهاز الكمبيوتر الخاص بالـ victim عن بعد والتحكم فيه بكل سهولة، مثل الوصول إلى الملفات والمجلدات والبرامج، وتشغيل أو إيقاف تشغيل ملفات النظام، وتثبيت برامج ضارة أخرى، والتجسس على الأنشطة المستخدمة وسرقة المعلومات الحساسة.

  8. الـ Banking Malware هو نوع من البرامج الضارة التي تستهدف المعاملات المالية على الإنترنت وتستخدم لسرقة المعلومات المصرفية والمالية للمستخدمين. وتستخدم هذه البرامج عادة لاختراق أجهزة الكمبيوتر والأجهزة الذكية الأخرى، وتعمل على تسجيل كل ما يكتبه المستخدم من معلومات حساسة، مثل الأسماء والعناوين وأرقام الحسابات وكلمات المرور وأرقام البطاقات الائتمانية، وإرسالها إلى الـ Attackers عبر الإنترنت.

  9. الـ Keylogger هو نوع من البرامج الضارة التي تستخدم لتسجيل كل ما يكتبه المستخدم على لوحة المفاتيح ، ويتم تسجيلها ثم يتم إرسالها إلى الـ Attackers لتتبع الأنشطة المستخدمة وسرقة المعلومات الحساسة، مثل كلمات المرور وأرقام الحسابات والبطاقات الائتمانية وغيرها من المعلومات الشخصية.


What Should a Malware Analyst Know

في البداية حتى تكون قادرًا على تحليل البرامج الضارة بشكل صحيح ، من الضروري فهم أساسيات نظام التشغيل وبنيته.


Which Approach Should You Choose When Analyzing Malware?

عند تحليل البرامج الضارة يكون فيه طريقتين مختلفيين في التحليل وهما:

  1. Static Analysis

  2. Dynamic Analysis


What is Static Analysis?

يعتبر هذا النوع أو النهج بأن يُحلل البرامج الضارة بعمل reverse engineering بدون تشغيلها ، من خلال فك أو مايُسمى بالـ Decompile أو تفكيك البرنامج الضار أو مايُسمى بالـ Disassemble، يتم تحليل كل خطوة يقوم بتنفيذها البرنامج الضار ، وبالتالي يمكن تحليل سلوك البرنامج الضار.


What is Dynamic Analysis?

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


Static Analysis vs Dynamic Analysis

  • يعتمد الأسلوب الذي يجب استخدامه عند تحليل البرامج الضارة على الظروف الخاصة بك . في الحالات التي تريد فيها الحصول على نتائج سريعة ، يمكنك اختيار الـ Dynamic Analysis ، لكن لا يمكن أن نقوب بأن التحليل مكتمل دون إجراء التحليليين معاً الـ Static Analysis والـ Dynamic Analysis.

  • مقارنة سريعة على النوعين :


PRACTICE WITH SOC ALERTS

من خلال موقع letsdefend نطبق بعض الـ Alerts فيما يخص الـ Malware فنبدأ بالتالي :

SOC104 EventID 14 - Malware Detected

  • في البداية الـ Event حدث بتاريخ Sep, 15, 2020 عند الساعة 09:02 مساءاً الذي يحمل الـ Source Address التالي “172.16.17.82” الخاص بالـ Host الذي يحمل إسم “JohnComputer” ، من ضمن المعطيات كان لدينا الـ File Hash فقمنا بتحليله من خلال الـ VirusTotal فظهر لدينا بأن الملف يحتوي على Malicious

  • بالنظر إلى الـ details نجد أن الملف يوجد به توقيع Google معتمد لديهم وصالح فيما يتعلق بـ Google Update !


  • سنقوم الآن بإنشاء الـ Case لمعرفة ماتم عمله


  • في البداية لم نحدد نوع التهديد لأن لم نحلل بعد


  • في السؤال التالي طلب منّا أن نبحث في الخانات التالية بغرض أن نتحقق من أن الجهاز تم عزله أم لا ، لم نعزله للأسباب التالية ، عند البحث في الخانات التالية :

    Log Management

    Endpoint Security

  • فمن خلال خانة الـ Log Management نبحث الـ Source Address الذي تم ذكره في الأعلى ونتحقق من السجل الذي تم حفظه ، فمن خلال الصورة التالية وجدنا مجموعة سجلات لكن لم نجد أي شيء يخص التاريخ الذي وقع فيه الحادثة


  • الأن نبحث في خانة الـ EndPoint Security نبحث أيضاً عن الـ Source Address الذي تم ذكره في الأعلى ووجدنا التالي :

  • بالنظر إلى الـ Processes التي تم تسجيلها في جهاز JohnComputer هي بأنه يحاول عمل GoogleUpdate

  • بالعودة إلى ماحدث في جهاز “JohnComputer” وعند البحث فيما تم عمله في الـ Terminal History وجدنا إنه استخدم اوامر لإنشاء حساب جديد لعمل التحديث

  • ايضاً وجدنا في خانة الـ Browser History بأنه كان يبحث عن طريقة لعمل التحديث


  • بعد ذلك تم السؤال عن إذا ماكان تم التحليل عن طريق أحد البرامج التي تم ذكرها يوجد به Malicious أم لا فكان الجواب كالتالي لا ، :


  • بعد ذلك تم السؤال عن إذا فيه مستخدم وصل للجهاز أم لا فبناءاً على الـ Logs لم يصل للجهاز أحد


  • بعد ذلك كانت توجد الـ Artifacts لم نضف أي شيء


  • بعد ذلك آضفنا التعليق التالي ، بآن التحديث كان غير ضار وأن الـ Alert كان عبارة عن False Positive بمعنى أن الملف الذي تم تنزيله ليس برنامج ضار ، ولكن الـ AV إكتشفه انه ضار ..


SOC104 EventID 36- Malware Detected

  • لدينا الآن حادثة أو Event حصل في تاريخ Dec, 01, 2020 عند الساعة 10:23 مساءاً على الـ Source Address التالي “10.15.15.18” وعلى الـ Source Hostname التالي “AdamPRD” ، من خلال النظر وتحليل الـ File hash عن طريق الـ VirusTotal وجدنا أن الملف يحتوي على برامج ضارة


  • سنقوم الأن بإنشاء الـ Case لتحليل الـ Event الذي حصل


  • في البداية تم السؤال عن مدى تأثير التهديد ، وبما إننا لم نقم بالتحليل بعد فكان الجواب كالتالي :


  • بعد ذلك تم السؤال عن إذا قمنا بعزل الجهاز الذي وقع عليه الحادثة من خلال البحث عن نقطتين مهمتين وهي الـ Log Management والـ Endpoint Security فسنبدأ الآن بالتحليل بشكل أعمق

  • سنبدأ الأن في البحث بخانة الـ Log Management عن ماتم تسجيله في الجهاز الذي وقع فيه الحادثة ، فمن خلال الـ Source Address الذي تم ذكره في الأعلى نبحث عن الـ Logs الخاصة به ، فسنجد التالي :

  • من خلال الـ VirusTotal قمنا بتحليل الـ URL ووجدنا بأنه عبارة عن Malware Site هدفه عمل C2 على جهاز المخترق

  • بعد ذلك بحثنا في الـ Endpoint Security عن الـ Source Hostname وهو “AdamPRD” ومن خلال بحثنا لم نجد أي معلومات تفيدنا بعملية التحليل

  • بالعودة للسؤال السابق ، فكان الجواب كالتالي :


  • بعد ذلك تم السؤال عن وجود Malware في التحليل الذي قمنا به ، فكان الجواب كالتالي :


  • بعد ذلك من خلال البحث في خانة الـ Log Management عن أي شخص قد وصل للجهاز أم لا، وكما ذُكر بالأعلى فإن الذي وصل له هو AdamPRD ، فكان الجواب كالتالي :


  • بعد ذلك طلب مننا عمل عزل للجهاز من خلال خانة الـ EndPoint Security ، فتم عزله كالتالي :


  • الأن سنقوم بعمل الـ EDR ونضيف الـ Artifacts التي تم إكتشافها ، فسيكون كالتالي :


  • بعد ذلك أغلقنا الـ Alert بأنه كان True Positive وذلك بمعنى أن البرنامج كان ضار وتم إكتشافه على انه برنامج ضار !


SOC138 EventID 77- Detected Suspicious Xls File

  • في البداية الحادثة وقعت في تاريخ Mar, 13, 2021 الساعة 08:20 مساءاً على الـ Source Address التالي “172.16.17.56” الخاص بالـ Source Hostname وهي “Sofia” فمن خلال المُطعى بالبداية كان الـ File Hash فقمنا بتحليله عن طريق الـ VirusTotal ووجدنا بأنه كان يستغل ثغرة “CVE-2017-11882” موجودة على برامج Microsoft Office


  • سنقوم بإنشاء الـ Case ونعمل تحليل للحادثة التي وقعت


  • في البداية تم السؤال عن مدى تأثير التهديد ، وبما إننا لم نقم بالتحليل بعد فكان الجواب كالتالي :


  • بعد ذلك تم السؤال عن إذا قمنا بعزل الجهاز ، فسنبحث في الخانتين التالية وهي الـ Log Management والـ Endpoint Security لتحليل ماحدث

  • من خلال البحث في خانة الـ Log Management عن ماتم تسجيله في الجهاز الذي وقع فيه الحادثة ، فمن خلال الـ Source Address الذي تم ذكره في الأعلى نبحث عن الـ Logs الخاصة به ونركّز على التاريخ الذي وقع فيه الحادثة ، فسيظهر معنا التالي :

  • في خانة الـ Row Log يتضح أن الـ Firewall قام بتسجيل ماحدث ومنعه وظهر لنا التالي :

  • الأن نبحث في خانة الـ EndPoint Security نبحث أيضاً عن الـ Source Address الذي تم ذكره في الأعلى ووجدنا التالي :

  • من ضمن العمليات التي حدثت في جهاز “Sofia” كانت في خانة الـ Terminal History تُطبّق آوامر بحيث تتوافق مع النظام الذي تستخدمه

  • بالعودة للسؤال السابق إذا كانت البرامج معزولة أم تم تنظيفها ، فكان الجواب كالتالي :


  • السؤال التالي كان عن إذا تم تحليل الحادثة على كانت تحتوي على برامج ضارة أم لا ، فكان الجواب كالتالي :


  • السؤال التالي عن هل أحد وصل للجهاز أم لا ، فكان الجواب كالتالي بناءاً على الـ Logs التي تسجّلت بجهاز “Sofia” :


  • الأن يطلب منّا عمل “إحتواء” لجهاز “Sofia” حتى نستطيع عمل الـ Artifacts التي حصلت ، فسنقوم بالتالي :


  • الأن نضيف الـ Artifacts التي حصلت في الحادثة :


  • في النهاية أغلقنا الـ Alert بأنه كان True Positive بمعنى أن البرنامج كان ضار وتم إكتشافه على انه برنامج ضار


SOC109 EventID 85 - Emotet Malware Detected

  • في البداية الحادثة وقعت في تاريخ Mar, 22, 2021 الساعة 09:06 مساءاً على الـ Source Address التالي “172.16.17.45” صاحب الـ Source Hostname التالي “RichardPRD” ، من ضمن المعطيات يوجد الـ File Hash فقمنا بتحليله عن طريق الـ VirusTotal ووجدنا بأنه يحتوي على برامج ضارة من بينها إنه قام بتحميل الـ W97M/Downloader وهو عبارة عن Malicious Macro Code مُضمّن بنفس ملف الـ Microsoft Word.


  • الأن نقوم بإنشاء الـ Case لتحليل الحادثة التي حدثت


  • في البداية تم السؤال عن مدى تأثير التهديد ، وبما إننا لم نقم بالتحليل بعد فكان الجواب كالتالي :


  • بعد ذلك تم السؤال عن إذا قمنا بعزل الجهاز ، فسنبحث في الخانتين التالية وهي الـ Log Management والـ Endpoint Security لتحليل ماتم عمله من قبل الـ Host

  • بحثنا في البداية في خانة الـ Log Management عن طريق الـ Source Address المذكور في الأعلى لكن لم تحدث أي إتصالات مُسجّلة في التاريخ الذي وقعت فيه الحادثة

  • بعد ذلك بحثنا في خانة الـ EndPoint Security عن الـ Source Hostname المذكور في الأعلى وهو “RichardPRD” ولم نجد أي حدث مُسجّل على الجهاز في التاريخ الذي وقعت به الحادثة

  • الجواب على السؤال السابق كان كالتالي :


  • بعد ذلك تم السؤال عن إذا كان الملف يحتوي على Malicious أم لا ، فبناءاً على التحليل السابق كان الجواب كالتالي :


  • بعد ذلك تم السؤال عن الـ Log Management في حالة تم وصول أحد للجهاظ أم لا ، فبناءاً على التحليل الذي قمناه .. لم يصل أحد للجهاز ولم يتم تسجيله :


  • الأن نضيف الـ Artifacts التي حدثت في الحادثة وبناءاً على ماذُكر في الـ VirusTotal والـ Relations التي حدثت


  • الأن نُغلق الـ Alert بالشكل التالي ، بأن الـحادثة أو الـ Alert عبارة عن True Positive وذلك بأن البرنامج كان ضار ، والـ AV إكتشف إنه ضار..


SOC119 EventID 83 - Proxy - Malicious Executable File Detected

  • في البداية الحادثة وقعت في تاريخ Mar, 21, 2021 الساعة 01:02 مساءاً على الـ Source Address التالي “172.16.17.5” على جهاز أو الـ Source Hostname وهو “SusieHost” وكان متوجه إلى العنوان أو الـ Destination Address التالي “51.195.68.163” صاحب جهاز أو الـ Destination Hostname التالي “win-rar.com” ، الرابط كان يحتوي على ملف خبيث قابل للتنفيذ تم إكتشافه في الوقت المذكور أعلاه ، عند التحليل عن طريق الـ VirusTotal للرابط وجدنا التالي :

  • عند التعمق في التحليل بخصوص الـ Domain والـServing IP Address وجدنا انه يخلو من البرامج الضارة :


  • الأن نبدأ بإنشاء الـ Case حتى نستطيع إكمال عملية التحليل وفقاً لما يحتويه الـ Log Management السجلات التي تم رصدها والـ EndPoint Security بخصوص الـ Hosts


  • في البداية طلب منّا نشيّك على السجلات التالي من خلال خانة الـ Log Management نبحث عن التالي ونُركّز على تاريخ الحادثة :

  • في الصورة التالية من خلال البحث عن الـ Source Address وجدنا السجل التالي ، وهذا يعني بأن جهاز واحد تسجّل وهو يفتح برنامج الـ Chrome

  • وفي البحث في الـ EndPoint Security عن الـ Source Host وجدنا بأنه لم يتم تسجيل أي شيء على الجهاز فظهر كالتالي :


  • في السؤال التالي ، كان عن إذا كان الرابط أو المحتوى كان يتضمن برامج ضارة أم لا ، فكان الجواب كالتالي :


  • نضع الأن الـ Artifacts التي حدثت في الحادثة وهي كالتالي :


  • بعد ذلك أغلقنا الـ Alert وكان عبارة عن False Positive بمعنى أن الملف الذي تم تنزيله ليس برنامج ضار ، ولكن الـ AV إكتشفه انه ضار