ملخص الفصل الأول
ملحوظة: جميع الmalware samples موجودة في الlabs الخاصة بPractical Malware Analysis وتقدر تحملها من اللينك دا: (اضغط هنا)
دا ملخص كتبته لأول Chapter من كورس Malware Analysis Fundamentals اللي بيقدمه الدكتور أحمد بهاء على موقع Mahara Tech الكورس عجبنا وحقيقي أنصح أي حد بيبدأ في المجال انه يبدأ بيه هيوفر عليه كتير لانه عربي والشرح والمحتوى كويسين كبداية.
الChapter الأول مجرد مقدمة بيتكلم عن الMalware وأنواعها و الMalware Analysis Steps وفي الآخر فيه Quiz أكيد مش هكتب الحل بتاعه؛
فبسم الله نبدء
CH1:v1: What is malware
Malware: A program that inserted into a system, usually covertly.
Malicious + Software = Malware
برنامج ضار بيدخل السيستم بدون إذن أو علم من المستخدم، ممكن يأثر على Data - Applications - Operating System بهدف:
1-Compromising the CIA:
Confidentiality:
السرية، لان المفترض الملفات على جهاز الuser محدش بيشوفها بدون إذنه
Integrity:
السلامة، ممكن يأثر ع الداتا بتاعت اليوزر ممكن يمسح ملفات او يعدل محتواها
Availability:
التوافر، ممكن يمنع الuser من الوصول للداتا بإنه يشفرها او يمسح أبلكيشن معين عشان يسببله ضرر
2-Annoying the victim:
إزعاج الuser أو تعطيله عن شغله زي انه يطلعله صور مرعبة او اصوات ورسايل غريبة
Malware Capabilities: (قدرات البرمجيات الخبيثة)
1-Propagation: spread copies of themselves
بينشر نسخ من نفسه على نفس الجهاز او عن طريق Network او USB
2-Unauthorized access:
يوصل لجهاز وملفات الuser بدون موافقته عشان يعمل أكشن ع الجهاز زي انه يبعت ايميل او يفتح مواقع معينة او يهاجم اجهزة تانية
3-Destruction: يقدر يمسح الملفات او يبوظها
4-Information Theft: يقدر يسرق معلومات زي الحسابات والكريدت كارد وكلمات المرور
5-Exploit: Ability to take advantage of system vulnerabilities to compromise the system
يقدر يستغل ثغرات في السيستم بحيث يتحكم فيه بالكامل أو يثبت وجوده أكتر
--------
CH1:v2:Types of malware
read more:
--
Malware Types: (أنواع البرمجيات الخبيثة)
أشهر 3 أنواع هم: Virus - Trojan - Worm
وفيه انواع تانية زي Backdoor - RAT - BOTNET - Logic/Time Bombs - Ransomware - Spyware - Adware - Fileless malware
Virus: Malicious software inserted into a program or data file.
برمجيات خبيثة بتنشر نفسها بإنها تنقل جزء من الكود الضار بتاعها في الملفات والبرامج التانية ع الجهاز بحيث لما الuser ينقل الداتا او البرامج لحد تاني ينقله الفايرس هو كمان
Trojan: Application written to look like something else.
اختصار Trojan Horse حصان طروادة وهو عبارة عن برنامج خبيث لكنه بيجي في صورة برنامج مفيد للuser وهو في الواقع بيخترقه، بيعتمد في تشغليه على خداع الuser على أساس إنه برنامج مفيد وسليم.
Worm: Self replicating program, uses network to travel from one computer to another.
دودة الكمبيوتر، عبارة عن كود برمجي بيستغل ثغرة في السيستم او النيتورك وبتنتشر تلقائياً من خلال النيتورك بدون فتح أي ملف او برنامج، بتعتمد على استغلال الثغرات والانتشار فقط.
Backdoor:
نوع تاني منتشر جدا وهو الباب الخلفي اللي بيدخل منه الAttacker ويخرج في أي وقت، يقدر يسرق او يبعت داتا او يحط فايروسات تانية ومن أنواعه الRAT
RAT: (Remote Access Trojan/Remote Administrative Tools)
ادوات تحكم عن بعد، فيه ادوات تحكم عن بعد كتيرة بتكون شرعية زي Team viewer مثلا لحل مشكلات الusers، لكن الAttackers بيقدرو يبرمجو tools مشابهة ليها عشان يدخلو ع الكمبيوتر بتاع اليوزر بدون ما اليوزر يعرف ويقدر يسرق معلومات او يتحكم في الجهاز، فالRAT بيكون محدد أكتر والAttacker بيركز مع الضحية ويقدر ينقل ملفات او يبتزه بيها فيما بعد.
BOTNET: Network of hijacked internet-connected computers.
They are controlled remotely by (command and controller = Botnet controller = Botmaster)
اختصار ل BOT Network، شبكة من الأجهزة المصابة بيتحكم فيها شخص واحد ال هو botnet controller، واكتر استعمال للBOTNets هي هجمات الDDOS Attacks (هجمات حجب الخدمة) اللي بتستغل شبكة الأجهزة الكبيرة دي في الهجوم.
Logic/Time Bombs: Piece of code inserted into a software system that will set off a malicious function when specified conditions are met.
القنابل الموقوتة، عبارة عن Malicious code الAttacker بيحطه في السيستم وبيشتغل في وقت معين او بشرط معين، مثال: واحد شغال في شركة حاطط Logic Bomb تمسح كل الملفات في حالة انهم مشوه.
Ransomware: Crypto virology that threatens to publish the victim's data or block access to it unless a ransom is paid.
برمجيات الفدية، بتشفر ملفات الuser وتمنعه من الوصول ليها لحد ما يدفع الفدية وبتهدده بتسريبها او مسحها للأبد في حالة عدم الدفع.
Spyware:
(Data sent from infected device to attacker)
برمجيات بتتجسس على اليوزر وتجمع الداتا بتاعته، بتنقل الداتا بتاعت الuser من جهازه لسيرفر أو جهاز الattacker عشان يستغلها.
Adware (Advertise): (Data sent from attacker to infected device)
بيطلع إعلانات للuser عشان يتربح منها او يخليه يشتري منتج معين او يدفع فلوس، الداتا بتنتقل من جهاز أو سيرفر الattacker لجهاز الuser (عكس الSpyware).
FileLess Malware:
عبارة عن رسالة مثلا جات لليوزر ع الايميل فيها لينك عليه مالوير أو اكسبلويت بتستغل ثغرة معينة في البراوزر او إضافات في البراوزر او الفلاش بلاير بتاعه وبتقدر انها تخترق اليوزر وبتحط الMalicious code في الميموري عنده وبتشغله مباشرةً، يعني مفيش أي ملف أو برنامج موجود ع الجهاز اشتغل لأ، دا كود في الميموري اشتغل مباشرةً،
يعني زمان كل الانتي فايرس كانت بتعتمد انها تفحص الديسك والملفات عليه وبس فكان النوع دا صعب اكتشافه ومنتشر وبيخترق الناس كلها بدون ما حد يحس.
-----------------
CH1:v3:Advanced Malware(APT,Rootkits and bootkits)
read more:
APT [kaspersky]
APT [crowdstrike]
PaloAlto Unit42 Playbook viewer [Playbook]
PDF: A threat actor encyclopedia
rootkit
APT [crowdstrike]
PaloAlto Unit42 Playbook viewer [Playbook]
PDF: A threat actor encyclopedia
rootkit
--
APT: (Advanced Persistent Threat) الهجمات المتقدمة والمستمرة
تعتبر Advanced عشان ال عاملها state-sponsored group يعني مجموعة هاكرز مدعومين من دولة
و persistent لانها لما تدخل ع الشبكة او جهاز الuser بتفضل موجودة فترات طويلة جدا بدون ما حد يكتشفها.
Rootkits:
عبارة عن stealthy malware يعني نوع خفي من المالوير بتعتمد على إخفاء نفسها في برامج تانية ع الكمبيوتر من الانتي فايرس واليوزر بحيث محدش يشك فيها منهم، كلمة Root يعني بتشتغل في الKernel Mode وليها أعلى صلاحيات، وكلمة Kit يعني حزمة من الأدوات مش مجرد أداة او برنامج واحد، أمثلة عليها زي Stuxnet و Flame.
Bootkits: (Boot Capability + Rootkits)
عبارة عن Rootkit ومعاها Boot Capability يعني قدرة التحكم في عملية الBoot للجهاز.
لما يقدر المالوير يتحكم في عملية الBoot بيكون ليه اليد العليا فوق الOS والAntivirus اللي بيتسطبو فهيبقى فيه 3 مشاكل:
المشكلة الأولى ان الMalicious Program هيشتغل الأول قبل الأنتي فايرس ما يشتغل،
المشكلة التانية انه جواه Rootkit فبيخفي نفسه من الأنتي فايرس واليوزر،
المشكلة التالتة ان اغلب ادوات الأنتي فايرس لما بتلاقي فايرس او ملف مصاب بتمسحه او تحجزه وفي الحالة دي لما يكون الMalicious Code موجود في الBoot Record او ملفات البوت والانتي فايرس يلاقيها بيقوم شايلها بالتالي الكمبيوتر نفسه مش هيشتغل، ودا اللي يخلي الBootkits صعوبتها مش في انها مخفية لكن صعوبتها بتبقى في انها لو اتشالت بتخلي الكمبيوتر مش بيشتغل وبيحتاج يتصلح.
------------------
CH1:v4: PUPs (Potentially-Unwanted Programs)
read more:
--
PUPs:
برامج ملهاش فايدة بالنسبة لليوزر، في أغلب الوقت بتتسطب مع برامج تانية يعني بتيجي تصطب متصفح بتتسطب معاه مثلا زي شرائط الأدوات، والإضافات، وبرامج الديسكتوب، وفيه منها لبرامج الموبايل كمان.. و بتطلع إعلانات وهمية أو إشعارات أو أخبار عن الطقس..الخ كل دا اليوزر مبيكنش عايزه
ليه مش بنعتبر الPUPs انها Malware؟
لان اليوزر بيوافق عليها بدون ما ياخد باله أثناء تسطيب البرامج لما بيعمل Agree أو Next علطول فهو اللي اداها الإذن بنفسه.
اغلب برامج الانتي فايرس في الفترة الأخيرة بقت فيها خيارات انها تكشف وتمنع الPUPs دي.
----------------
CH1:v5:Steps of Malware Analysis خطوات تحليل البرمجيات الخبيثة
read more:
--
Malware Analysis Types
عندنا نوعين أساسيين من التحليل:
1-Static Analysis:
بيعتمد على فحص الملف او المالوير بدون تشغيله
2-Dynamic Analysis:
بيعتمد على فحص المالوير أثناء تشغيله في الSafe Environment/lab (النظام الوهمي او المنعزل) بتاعنا
Malware Analysis Steps خطوات وأنواع التحليل
1-Basic Static Analysis:
بنفحص الملف أو المالوير بدون تشغيلها أو حتى فتحها لقراءة الكود.
بنعرف من خلاله هل الsample دي malicious ولالأ، وبيدينا بعض المعلومات عن الFunctionality بتاعتها زي انها بتتواصل مع الانترنت أو بتعمل حاجة في الRegistry، وفي بعض الحالات ممكن نطلع منها IOCs أو Network Signatures زي IPs,Domains,Websites..الخ
من مميزاته انه محدد جدا وسريع، لكن عيوبه كتير زي انه مش هيبقى مؤثر أوي مع كل المالويرز خصوصا مع المالوير المعقدة والمتقدمة اللي بتستعمل طرق تخفي وتشفير مختلفة، تاني عيب انه مش بيورينا القدرات الكاملة للمالوير هو بس بيدينا تلميحات انه ممكن يكون بيحمل حاجة من الانترنت او بيتواصل مع الأتاكر بطريقة معينة. وهنا هنضطر نروح للخطوة التانية.
2-Basic Dynamic Analysis:
بتعتمد على تشغيل المالوير في بيئة أو نظام وهمي منعزل، ومراقبة نظام التشغيل عشان نشوف الbehavior بتاع المالوير عامل ازاي هل بيفتح أو بيعمل أو بيشفر Files هل بيفتح Sockets أو بيتواصل مع Websites معينة... وبالمعلومات دي نقدر نعمل منها حاجتين:
نقدر نعكس الخطوات دي بحيث نعمل disinfection عشان نتفادى او اعكس الإصابة..
أو نعمل Signatures من المعلومات دي بحيث نعمل detect ليها بعد كدة سواء بالAntivirus او غيره.
من مميزات الanalysis دا انه بسيط واي حد يقدر يستعمله بدون سابق معرفة بالبرمجة، ولكن ليه عيوب زي انه مش مؤثر مع كل المالويرز يعني مثلا لو عندي مالوير بيشتغل على Android OS وانا عندي labs للwindows بس فمش هقدر أعمل الanalysis دا ليه، دا غير انه من بساطته وسهولته مش هيكشفلي القدرات الكاملة للمالوير لان ممكن المالوير يختلف في طريقة عمله كل مرة او على حسب شروط او أوقات معينة، فالanalysis دا مش هيعرفني كل حاجة عن المالوير، وعشان أعرف أكتر عن المالوير و القدرات الكاملة بتاعته هروح للخطوة ال بعد كدة.
3-Advanced Static Analysis:
قائم على فحص الProgram Instructions يعني بفحص الكود والتعليمات البرمجية نفسها بتاعت المالوير بشكل يدوي بدون تشغيله، بنستخدام هنا ادوات زي الdisassemblers اللي بتوريني الinstructutions اللي بتتنفذ على الCPU مباشرةً.
بالتالي الAnalysis دا يقدر يعرفنا البرنامج او المالوير بيعمل ايه بالظبط.
ليه عيبين قاتلين:
العيب الأول انه بيحتاج وقت كبير جدا في اننا نتعلمه، يعني هنتعلم Disassembly, common code constructs, OS internals وبناءً على كل دا هنقدر نفهم الinstructions اللي فحصناها هتشتغل على الCPU ازاي.
العيب التاني انه بياخد وقت طويل جدا لانه ممكن يتكون من عشرات آلاف الأسطر في الCode.
مثلا الBasic Static ممكن ياخد من دقيقة ل 5 دقايق، الBasic Dynamic ممكن ياخد من 5 ل 10 دقايق، لكن الAdvanced Static ممكن ياخد أيام أو حتى أسابيع على حسب مدى تعقيد المالوير.
4-Advanced Dynamic Analysis:
هنشغل المالوير في الSafe lab بتاعنا ونتفرج عليه وهو بيشتغل، بنراقب المالوير نفسه ونبدء نعدل في الكود بتاعه وهو شغال بحيث نغير في الBehavior بتاعه ونخليه ينفذ قدر كبير من التعليمات عشان نطلع بأكبر قدر من المعلومات منه، فنقدر نستعمل الAnalysis دا في اننا نطلع معلومات مفصّلة من المالوير اللي معانا.
----------------
الكورس مجاني وهتلاقيه هنا:
طبعا انا بكتب بعض المصطلحات بالانجليزي عشان لو انت لسا جديد ع المجال لازم تتعود عليها لان كل كورسات المجال انجليزي مش عربي
والله المستعان