ملخص الفصل التالت

دا ملخص Chapter 3 من كورس Malware Analysis Fundamentals
الفصل دا عبارة عن 18 فيديو تقريبا بيشرح فيهم الـ Basic Static Analysis وخطواتها والـ Tools المستخدمة في كل خطوة..
متنساش ان دا ملخص مش هياخد منك 10 او 15 دقيقة يعني لازم تشوف الفيديوهات وتطبق بإيدك
فبسم الله نبدء

CH3:v0:Basic static techniques overview

قلنا ان عندنا 4 مراحل من التحليل 2 Basic و 2 Dynamic
وقلنا ان مرحلتين الBasic بنحلل فيهم المالوير بدون تشغيله، اما مرحلتين الDynamic بنشغل المالوير اثناء التحليل.
اول مرحلة في التحليل Basic Static Analysis ودي مش بنشغل فيها الmalware ولكن بنعمل ال 4 خطوات دول:
1-Online Antivirus Scanning
بنعمل للملف Scan ببرامج الAntivirus ومن خلال الOnline Antivirus Services اللي بتسمحلنا نعمله scan بأكتر من 70 برنامج antivirus في المرة الواحدة وهنطلع بمعلومات مبدئية عن الملف هل هو Malicious أو برامج الأنتي فايرس دي شافته قبل كدة ولا لأ ومعلومات تانية..
2-Search by Hash
كل مالوير ليه Malware Fingerprint (بصمة) ثابتة واللي بتكون عبارة عن الhash بتاع الملف اللي تقدر تعمل search بيه بعد كدة او تشيره مع حد، الطريقة دي مش كافية لاننا لو غيرنا حرف واحد في الملف فالhash بتاعه هيتغير بالتالي مش هنلاقي اي معلومات عنه لو بحثنا بالهاش دا.
طبعا الhash مش بيتغير بتغيير اسم الملف فمهما غيرت في اسمه هتفضل برامج الantivirus عرفاه.

3-Analyze PE file format
هنا بنطلع من كل جزء في الPE File Format حجات زي ال Strings او الكلمات المهمة و أسماء الFunctions اللي بيستخدمها الmalware حتى لو كان مضغوط أو packed.
4-Unpacking file
هنا لو كان الملف packed فاحنا بنعمله unpacking عشان نقدر نطلع معلومات اكتر عنه.

طبعا هنشرح بعدين يعني ايه PE file format ويعني ايه packed or unpacked.
-------------------------

CH3:v1:Antivirus Scanning

--

How Antivirus working?
فيه 4 طرق بتشتغل بيها برامج الأنتي فايرس وهم:

1-Signatures-based detection:
أبسط طريقة، الانتي فايرس بيتعرف على المالوير عن طريق الsignatures (التوقيعات) ودي عبارة عن داتا مميزة او اجزاء من الcode بتتاخد من كذا malware تم إكتشافه قبل كدة وتتحط في database تبع الشركة او برنامج الانتي فايرس
كل ملف هيتعمله scan هيقوم الانتي فايرس بمقارنة الsignatures الموجودة فيه بالموجودة في الdatabase ولو زي بعض بيتأكد انه malware ويبدأ يحجزه أو يمسحه نهائي
الحجز او Quarantine هنا معناه ان الانتي فايرس بيشفر الملف بطريقة ما ويحفظه في مكان معين لحد ما الuser يحدد انه يمسحه ولا يعمله استرجاع لو هو شايف انه مش ضار.
الطريقة دي بتتميز انها سريعة جدا ولكن عيبها انها مش هتكتشف اي malware جديد يظهر بما ان الsignatures بتاعته مش موجودة في الdb.

2-Heuristics-based detection:
وهنا الأنتي فايرس بيشتغل بScore معين وليكن من 0 ل 100 لو الملف اللي بيتعمله scan عدى 70 مثلا فالأنتي فايرس يحدده ك malware ويحجزه او يمسحه وهكذا.
الscore بيتم تحديده للملف على حسب كذا نقطة، زي التاريخ اللي اتعمله compile فيه والتاريخ اللي اتحمل فيه على الجهاز، او انه ملوش icon او copyright او digital signature...الخ كل نقطة فيهم بيكون ليها score معين.
الطريقة دي تغلبت على الطريقة ال فاتت في حل مشكلة الmalware اللي بتظهر جديدة لان سواء الmalware قديم او جديد هيتطبق عليه نفس الشروط دي.

3-Behavior-based detection:
الطريقة دي بتعتمد على سلوك السوفت وير في تحديد ان كان malware ولالأ،
يعني بتسمح للمالوير انه يشتغل وتراقب سلوكه لو تواصل مع مواقع مشبوهة اوحمل ملفات غريبة وشغلها او شفر الملفات الموجودة على السيستم ومسح الملفات الاصلية..الخ بناءً على السلوكيات دي هيحدد ان كان malware أو لأ.
الطريقة تغلبت على مشكلة الmalware الجديدة بردو ولكن عيبها انها هتسمح للمالوير انه يشتغل الاول عشان تحدد سلوكه ودا طبعا فيه خطر.

4-Machine Learning:
شركات الانتي فايرس بدأت تستعمل الML عشان تعلّم الantivirus يعني ايه malicious program و benign program بحيث لما يفحص برنامج او ملف يقدر يحدد هل دا شبيه بالبرنامج السليم اللي هو فاهمه أو شبيه بالمالوير.. وهكذا

مفيش Antivirus بيستخدم طريقة واحدة من ال4 طرق، الAntivirus المحترم هيستخدم كل الطرق مع بعض
مثلا: اول حاجة هيبص على الsignatures لو مشابهة لحاجة في الdb يبقى malicious لو لأ يبدأ يشوف الscore لو اخد فوق 70% يبقى malicious لو لأ هيبدأ يشوف الbehavior بتاعه ويحدد ان كان فعلا مالوير ولالأ طبعا بمساعدة الMachine Learning.
------------------------------

CH3:v2:Online scanner

Read more:
---
ايه الفرق بين Online/Offline Scanning ؟
الـOffline هنحتاج VM ونسطب جواها برنامج الـAntivirus ونخليه دايما updated. ولو احتاجنا نستخدم اكتر من برنامج انتي فايرس وليكن مثلا 20 برنامج في الـ scan فمش هنقدر جوا VM واحدة وهنضطر نستخدم اكتر من VM والموضوع هيبقى مرهق جدا وهياخد وقت لانهم هيتعارضو في تشغيلهم ويعملو مشاكل مع بعض.
الـOnline هتستخدم فيه مواقع زي Virus Total مثلا دا بيدعم اكتر من 65 Antivirus product وبيكون كلهم updated وطبعا مجاني.
بعد كدة هيوريك في الفيديو ازاي ترفع sample على virus total وتعمله scan وتقرأ الresult.
-------------------------

CH3:v3:Cryptographic Hashing

---

Hashing Process

عملية بيتم فيها تكوين cryptographic hashes لمحتوى الملف او المالوير وبتطلع unique digest/fingerprint بصمة مميزة اللي هي الHash.
طبعا العملية دي مش عكسية بمعنى ان الhash متقدرش ترجعه لأصله تاني لأنه One way function.

Hashing Algorithms:
دي خوارزميات بتنفذ عملية الhashing، أشهرهم MD5 و SHA-1 و SHA-256
طول أو حجم الHash اللي طالع من MD5 هو bits128، والSHA1 هو 160 bits، والSHA256 هو 256 bits وطبعا دا رقم ثابت مهما غيرت في الداتا بتاعت الملف هيطلع نفس الحجم، خلي بالك اننا بنقول الحجم ثابت، مقلناش الhash value
مثال:
حرف a ال MD5 Hash بتاعه:
0cc175b9c0f1b6a831c399e269772661
لو زودنا حرف خليناه ab مثلا هيبقى الHash بتاعه:
187ef4436122d1cc2f40dc2b92f0eba0
لو لاحظت الهاش اتغير لما غيرنا حرف في الداتا، لكن حجمه ثابت زي ماهو في الحالتين (32حرف ورقم)

مش محتاجين نتعلم ازاي نكتب كل خوارزمية لان فيه Hashing Tools جاهزة نقدر نستخدمها على windows زي HashTools و PEStudio و QuickHash وفيه على linux زي MD5SUM و SHA256SUM.
--------------------------

CH3:v4:Hashing tools on windows

هنا بيعمل demo للhashing tools على الويندوز، بيوريك بس ازاي تستخدم الأدوات اللي قلنا عليها عشان تشوف الهاش الخاص بالملفات او المالوير بحيث تستخدمه بعد كدة ف انك تعمل search عليه.
يستحسن تشتغل جوا الvm وانت بتتعامل مع عينات الmalware.
اداة Hashtools و اداة QuickHash الاتنين يعتبرو نفس الاستخدام بتحط فيهم ملف او مجموعة ملفات وتختار الهاش اللي عايزه وبيظهرلك.
تالت اداة وهي PE studio ودي فيها مميزات أقوى وأكتر من الادوات السابقة وهنستعملها في الBasic Static Analysis بعد كدة.
----------------------

CH3:v5:Changing malware's hash

---
هنا demo هيعرفك ازاي تغير الhash بتاع المالوير لما تغير bit واحدة بس جوا الداتا بتاعت الملف،
ممكن تستخدم أي hex editor زي HxD مثلا في انك تضيف 1 byte في الاخر زي ال00 وتحفظ الملف وتروح تعمل check على الhash بتاعه هتلاقيه اتغير ولو عملت search عليه مش هتلاقيه بما انه مش نفس الهاش القديم.
-----------------------

CH3:v6:Strings analysis

----

Strings Analysis

من اهم الخطوات في الBasic Static Analysis لانها هتعرفنا على قدرات المالوير،
الStrings دي ممكن تبقى File name - URL - IP - Registry Key - Function Name - Windows API .. وغيرهم.
ولكن لازم نكون حذرين ان الAttacker ممكن يحط Fake strings عشان يخدع الAnalyst بيها.
الStrings ممكن تبقى UNICODE او ASCII والفرق بينهم كالآتي:
ASCII: American Standard Code for Information Interchange
حروفه هي الحروف الانجليزية، بيستعمل 7 bits لكل حرف فالميزة الوحيدة ليه انه بياخد مساحة أقل وكان هو اللي شغال زمان.
UNICODE: Universal Character set
تم اختراعه عشان يدعم اللغات التانية، فيه انواع منه زي UTF-8 و UTF-16 و UTF-32 وبيستخدم 8 او 16 او 32 bit على الترتيب، بيحتاج مساحة أكتر لان ممكن يتكتب حرف واحد في كذا Byte.

نقدر نستخرج الstrings من الملفات او المالوير بإستعمال اداة زي Strings من خلال الcmd، ونقدر نستعمل اداة Bintext، أو اداة PE Studio اللي تعتبر ليها مميزات اكتر.
---------------------------

CH3:v7:String extraction using tools

دا demo لإستخراج الstrings
أول مثال بإستخدام أداة Strings:
لو عايزين نستخرج الstrings من ملف اسمه Filename ونحفظ الresult اللي طلعت في ملف اسمه test.txt مثلا فهنستخدم الأمر دا في الCMD:
strings.exe Filename > test.txt
طبعا لو عملنا
strings.exe Filename
هيعرضلنا الstrings ع الشاشة بدون ما يحفظها في أي ملف، ونقدر نستخدم -h عشان يعرضلنا الخيارات المتاح استخدامها مع الأمر،
زي خيار -a اللي هيخلي الاداة تطلع الASCII بس أو -u اللي يخليها تطلع الUNICODE بس...الخ

تاني اداة وهي Bintext بنختار الملف وهي بتعرضلنا الstrings سواء كانت ascii او unicode وفيه filters نقدر نستخدمها عشان نفلتر النتائج اللي بتطلع.

تالت اداة هي PE studio ودي بتعرفنا الstrings وتحطها في groups بحيث تعرفنا كل string ليها علاقة بإيه بالظبط؛ هل بالstorage ولا system-information ولا security ..الخ ،، ومن مميزات الاداة انها بتعرفنا الblacklisted strings يعني لو فيه function او API الملف بيستخدمهم وفيهم خطر على الويندوز مثلا.. وهكذا بحيث ممكن نعرف ان كان الملف دا مالوير ولالأ من قبل ما نعمله Analysis.
-----------------------------

CH3:v8:Extracting hidden strings

الـ Malware Authors بيستخدمو طرق لإخفاء الstrings في الMalware عشان يصعبو عملية الAnalysis زي Stack Strings و Simple XOR. ولكن نقدر نطلعهم بإستخدام ادوات معينة زي اداة FLOSS ودي اختصار ل FireEye Labs Obfuscated String Solver، طبعا الاداة خاصة بشركة FireEye.
اداة FLOSS مش بتشغّل المالوير لكن بتعمله محاكاة وفي الفيديو demo لكيفية إستخدامها
نقدر نشغلها بإستخدام الأمر floss64.exe وبعدين اسم الملف، وبردو فيها كذا اوبشن نقدر نشوفهم لو كتبنا -h في الامر، مثلا عندنا خيارين
--no-static-strings
و
--no-decoded-strings
لو ضفناهم للأمر مش هيظهرلنا الstrings اللي طلعناها بالأدوات السابقة زي strings و bintext و pestudio، وفيه خيارات تانية تقدر تقرأهم وتشوف وظيفتهم بنفسك.
--------------------------

CH3:v9:Portable Executable (PE) File Format


معظم الmalware اللي بتقابلنا بتكون في شكل PE Format
ال PE اختصار Portable Executable (ملف تنفيذي) يقدر الويندوز يشغله وينفذ الكود اللي جواه علطول زي ملفات .exe و .dll وممكن .sys و .fon و .drv وغيرهم.

Basic Structure of PE file format:
دا تركيب او شكل الملف واللي هيتكون الأول من DOS MZ header وبعده DOS stub و PE header وبعدهم فيه Sections بيبقى فيها باقي الـdata بتاعت الملف

-الـ PE headers بتساعدنا في مرحلة الـ Static Analysis لاننا ممكن نعرف منها اسماء الـ Functions اللي المالوير بيعملها import من الويندوز ويستخدمها بحيث نعرف لو كانت Function بتشفر وتحذف ملفات او بتتواصل مع مواقع على الانترنت مثلا وهكذا بالتالي نعرف قدرات الـ Malware اللي قدامنا ايه وممكن نحدد منها نوعه.

أما الـ Sections بتفيدنا في مرحلة الـ Dynamic Analysis لما نشغل الملف ونشوف الداتا اللي جواها.

-الـ DOS header موجود في بداية أي PE File وبيتكون من 64 bytes وأول 2 bytes فيه هم MZ تقدر تشوفهم لو فتحت أي PE File على Hex Editor.

-الـ DOS Stub بيجي بعد الـ DOS header علطول ومفيهوش حاجة غير انه بيقولك This program cannot be run in DOS mode .. الخ

-الـ PE header ليه Start Signature واللي هي اول 4 bytes واللي بيبدأو ب2 مكتوب فيهم PE و الـHex بتاعهم هو 50 45 وبعدهم بيجي 2 bytes اللي هم 00 و 00

-الـ File header ودا أول 20 Bytes بتيجي بعد الـ4 اللي في الأول وبيكون فيها معلومات عن عدد الـ Sections الموجودة في الملف والـ TimeDate Stamp الوقت اللي اتعمل فيه والـ Characteristic اللي بتعرفنا الملف دا exe ولا dll مثلا وهل هو 32 ولا 64bit..الخ
طبعا كل التفاصيل دي احنا بنعرفها من خلال Tools جاهزة بتوضح كل حاجة مش محتاجين نقرأ الـ Bytes ولا نتعب نفسنا في حسابها.
-الـOptional Header بيجي بعد كدة ودا مش إختياري بالعكس دا أهم header لانه بيعرفنا حجات كتير مهمة زي الـ Address of Entry Point اللي بيبدأ عنده تنفيذ الكود وبنعتبره طرف الخيط اللي هنبدأ من عنده الـAnalysis للكود، وهنعرف كمان الـ Image Base اللي هيساعدنا في الـDynamic Analysis، و الـ Size of Image حجم الـMalware لما يشتغل في الـMemory واللي هيوضحلنا انه malware او فيه حاجة غلط من الفرق الكبير بينه هو والحجم اللي ع الـDisk.
--------------------

CH3:v10:PE header analysis using CFF-explorer, PEstudio

دا demo بيوضح ازاي هنستخدم CFF-Explorer و PEstudio عشان نحلل الـ PE headers ونطلع المعلومات المهمة منها زي الـ Entry Point, Image Base, Raw Size & Virtual Size, Characteristic, Sections, Import Table, ASLR وكل دا هنتكلم عنه بوضوح بعد كدة
وطبعا مفيش حاجة أشرحها هنا لانه بيوضح بس ازاي نستخدمهم.
--------------------

CH3:v11:Imports and exports

من ضمن الـ PE File Structure حاجة اسمها Data Directory ودا بيشاور على حجات مهمة زي الـ Import & Export Table ودا بيبقى جدول فيه الـ Functions والـ Libraries اللي الـ Malware بيستعملها في تشفير او حذف ملفات مثلا او الاتصال بمواقع خارجية وتحميل ملفات تانية، وطبعا بما ان دي Libraries خاصة بالويندوز مثلا زي الـ dlls الموجودة فيه؛ فالكود اللي هيستخدمه الـMalware بيكون في الـdlls دي يعني مش جوا الـMalware نفسه.
الـ DLL إختصار لـ Dynamic Link Library وبيكون ليها اسم ثابت وجواها Functions ثابتة،
من أمثلة الـdlls الموجودة في الويندوز وأشهرها:
User32.dll:
ودي ال فيها مكونات واجهة الـ user interface زي الـ button, scroll bars ..الخ
Gdi32.dll:
دي فيها Functions للـ Display و الـ Graphics
WSock32.dll, Ws2_32.dll, Wininet.dll:
دول فيهم Functions بتتعامل مع الشبكة والانترنت
Advapi32.dll:
دي مهمة جدا و فيها Functions بتتعامل مع الـRegistry والـService Manager بتوع الويندوز.

Common imported functions by malware:

عندنا Functions شائعة بتستخدمها الـMalware فمثلاً Kernel32.dll فيها Functions زي:
CreateDirectoryW
CreateFileW
ReadFile
WriteFile
FindFirstFileW
GetFileSize
وطبعا واضح من أسمائهم ايه وظيفة كل واحدة.

فيه بردو User32.dll جواها Functions زي:
LoadIconW
LoadCursorW
LoadMenueW
MessageBoxW
SetClipboardData
SendMessageA

وعندنا Advapi32.dll فيها مثلا:
RegCloseKey
RegDeleteValueW
RegOpenKeyEx

لو لاحظنا فيه عُرف أو نظام معين مايكروسوفت بتكتب بيه أسماء الـ Functions زي:
-الحروف الكابتل من أول كل كلمة مثلا CreateFile
-حروف W او A أو Ex اللي في آخر الإسم كل واحد منهم ليه دلالة كالآتي:
الـ A هنا بتدل على انها اصدار خاص بالـ ASCII string زي CreateFileA مثلا اللي بتعمل ملفات بحروف إنجليزية بس،
لكن W اصدار خاص بالـ Wide character strings ودا نظام زي unicode كدة فمثلا CreateFileW بتعمل ملفات بحروف لغات تانية زي العربي كدة،
أما Ex فـ Microsoft لما تحتاج تعمل تحديث أو مميزات جديدة لـ Function معينة فبتزود Ex في اسم الـdll ومعناها Extended..

الـExported Functions عكس الـ Imported Functions، فالوضع الطبيعي اننا لما نشوف dll هنلاقي فيها Functions معمولها Export ولما نشوف exe هنلاقي فيه Functions معمولها Import عشان يستخدمها.
--------------------

CH3:v12:Viewing imports and exports using PEstudio

دا demo هنشوف فيه ال imports & exports بإستخدام اداة CFF explorer و اداة PE studio
هنلاحظ في ملف ال exe ان مفيهوش exports لكن فيه imports بس، طبعا موجود فيها كل الـFunctions اللي بيستخدمها الexe ومن خلال اسمها هنعرف هو مالوير ولا لأ وهنعرف قدراته والحجات اللي ممكن يعملها.
وهنلاحظ في ملف ال dll ان فيه الاتنين imports عشان دا كود وهيحتاج حجات من الويندوز فبيعملها import، و exports عشان بيتم إستخدامها من برامج او ملفات تانية زي الmalware مثلا..
------------------------

CH3:v13:PE sections (Resource section)

بعد ما عرفنا أهمية الـ PE Header هنروح لجزء تاني وهو Sections
الـ Sections بتحتوى على الكود اللي هيتم تنفيذه والداتا بتاعت البرنامج زي الصور والصوت وهكذا..
كل سكشن في الـ PE File ليه إسم خاص بيه ودايماً يبدأ بنقطة زي السكشنز دي:
-سكشن .text ودا بيحتوى على الـ executable code
-سكشن .data بيحتوى على الـ global data اللي بيستخدمها البرنامج
-سكشن .rdata بيحتوى على الـ read-only data ودا بيفرق عن .data في إنه للقراءة بس مينفعش يتعدل على الداتا بتاعته
-سكشن .rsrc بيحتوي على الـ Resources اللي محتاجها البرنامج زي icons, menus, dialogs, version information, font information
السكشن دا ممكن يحتوى على أي داتا عشوائية وبالتالي الـ Malware ممكن يخفي فيه داتا هيستعملها في الـ Malicious Action بتاعه فهيبقى مهم اننا نشوف محتوياته، ودا نقدر نعمله باستخدام أداة Resource Hacker أو CFF Explorer عشان نشوف الـ Resources والمحتويات اللي فيه.

بعد كدة موجود demo في الفيديو بيعرفنا فيه ازاي نستخدم الـTools دي.

طبعا فيه sections تانية زي سكشن .idata و سكشن .edata و سكشن .pdata و سكشن .reloc
------------------

CH3:v14:Packed and Obfuscated Malware

Packed Malware

معناها Malware مضغوط، ودا باستخدام ادوات اسمها Packers وبعضها بيشفر المالوير كمان.
الpacked file بيبقى حجمه اصغر من الأصلي
الmalware writers بيستعملو طرق إخفاء بالpacking والobfuscation بحيث يصعبو عملية الـ Analysis للمالوير

إزاي الـMalware بيشتغل وهو مضغوط أو مشفّر؟
المالوير بيحصله Unpacking في الMemory بعد تشغيله (ودا هيبقى ضيّع علينا فرصة الـ Static Analysis بعد مااشتغل)

ملحوظة مهمة: البرامج العادية بنلاقي فيها strings كتيرة لكن الpacked او الobfuscated malware مش بنلاقي فيها الstrings غير قليل جدا
بالتالي واحنا في مرحلة الstring searching لو لقينا الstrings قليلة جدا او مفيش فـ دا معناه ان الملف او المالوير مضغوط أو مشفّر.

الPackers بتشتغل إزاي؟
بتاخد الـ Original File وتضغطها وتحط معاها Unpacker او Wrapper program وتغير الـ Entry Point الأصلية وتخليها تبدأ من الـ wrapper دا وبعدين تحط الـ Packed File على الـ Disk عادي. ولما نشغل الملف هيبدأ يتعمله Unpacking ولكن في الميموري مش الdisk.

فيه أدوات بتعرفنا هل الملف او المالوير packed او لا وبتعرفنا كمان نوع الـ Packer بحيث نعرف احنا بعد كدة نعمله Unpacking، الادوات دي زي PEID
اداة PEID فيها 3 أوضاع وهم:
1-Normal Mode:
بيشوف الـ Entry Point يتعرف منها على Bytes معينة لل wrapper program ومن خلالها يحدد ال wrapper دا خاص بأي Packer بالظبط

2-Deep Mode:
بيشوف الـ Section كله اللي فيه الEntry Point لو هي مثلا موجودة في سكشن .text يبقى هيعمل scan لل.text كله، فلو الFile اتعدل او الMalware Author عدل كام bytes في الاول عشان يصعب الdetection بتاع الpacker دا ب PEID في الحالة دي نقدر نستعمل الdeep mode واللي هيزود نسبة اننا نتعرف على الfiles اللي تم تعديلها.

3-Hardcore Mode:
مش مستحسن اننا نستخدم الوضع دا لانه بيفحص الPE File كله ومش بيشوف الentry point بس ولا حتى السكشن اللي بتكون جواه دا بيشوف الملف كله، فبالتالي هتزيد نسبة الfalse positive وهيطلع نتائج كتيرة غلط.

الاداة الاحسن منها وهي Exeinfo PE تعتبر نفس الإستخدام وبتدينا unpacking hint يعني ممكن تعرفنا الunpacker اللي نقدر نستعمله وبتدينا اللينك بتاعه كمان

فيه اداة تانية وهي DIE (Detect It Easy) نفس الإستعمال وأحيانا بتطلع نتائج أدق من الأدوات السابقة، ومن مميزاتها خاصية البحث بالEntropy ودا عبارة عن مقياس للعشوائية، كل ما الEntropy زاد كل ما الداتا كانت عشوائية اكتر ودا معناه انها مضغوطة او مشفرة.
---------------------------

CH3:v15:Detecting packers (PEiD, exeInfoPE, DIE, entropy)


هنا demo بيورينا فيه ازاي نعرف إن كان المالوير Packed ولا لأ وإيه نوع الـ Packers وإيه الفرق بين الـ Packed والـ Unpacked versions وطبعا بإستخدام أدوات زي
PEiD, ExeInfo PE, DIE, PE Bear

اول اداة استخدمها وهي UPX عشان يعمل unpacking للpacked sample ويوضحلنا الفرق بين الاتنين على البرامج اللي قلناها في الأول
ممكن نشوف الفرق بينهم من حيث الـ imports هنلاحظ ان الـ Packed ظاهر جواه عدد قليل جدا في الimports تقريبا 1 او 2 libraries بس بعكس الـ Unpacked اللي ظاهر فيه عدد كبير جدا
دا غير عدد الـFunctions والـ Strings المختلف في الحالتين كذلك.

بعد كدة هيفتح كل الـ Samples على برامج exeInfo PE و PE bear و PEiD ويوضحلنا الفرق بينهم في عمل detect لل Packers المستخدمة في كل sample..

مفيش حاجة اشرحها اكتر من كدة لانه demo لازم تشوفه وتجرب بإيدك.
-----------------------

CH3:v16:Automatic unpacking of known packers


الفيديو دا demo بيورينا فيه ازاي نستخدم ادوات FSG و ASPack عشان نعمل Automatic Unpacking في حالة اننا عارفين الـ Packer المستخدم

لو حطينا الـPacked sample في اداة Detect it Easy هيطلع انها Packed ب FSG فهنروح نفتح اداة FSG ونعمل Unpack للsample ونرجع تاني نشوفها على Detect it Easy هنلاقي اتعملها unpack فعلاً ونقدر نشوف الفرق بينهم على PE bear من حيث الـ imports أو من حيث الـStrings على PE studio.

وهكذا مع الـ sample التانية هنلاقي معمولها Packed ب ASPack ولما نستخدمه ونعملها Unpack هنلاحظ الفرق بينهم على الأدوات السابقة.
-----------------------

CH3:v17:Analyzing malware without fully unpacking

---

نعمل ايه لو قابلنا Malware معموله Packing بـ Packer حديث أو غير معروف؟
-في بعض الحالات نقدر نستعمل Automatic unpacker ولكن هيفك جزء بس من الfile مش هيفكه كله بالتالي الFile ممكن ميشتغلش، ولكن نقدر نعرف منه بعض المعلومات زي الimports والstrings وهكذا..
بعد كدة فيه demo لتوضيح الكلام دا فشوفه وجرب بإيدك
------------------------


كدة يعتبر باقي فصل واحد لان الخامس مفيهوش غير كام فيديو بسيط

وبالتوفيق للجميع ان شاءالله