Ramy Badraan
مراقب قسم الحماية وانظمة لينكس -مصمم بنرات المنتدى
- إنضم
- 26 أكتوبر 2008
- المشاركات
- 3,037
- مستوى التفاعل
- 6,339
- النقاط
- 3,200
- الإقامة
- مصر
- الموقع الالكتروني
- www.facebook.com
الجزء الثاني – الغوص في أعماق التحليل العكسي



لو عديت من الجزء الأول، فأنت كده دخلت في الجد بقى، وهنبدأ نغوص في تفاصيل أعمق عن تفكيك وتحليل البرمجيات الضارة بشكل احترافي!
هنركز في الجزء ده على:






Ghidra – عملاق الهندسة العكسية المفتوح المصدر

بناءاً على طلب اخى الغالى @Abu.amr
أولًا: يعني إيه Ghidra وبيستخدم في إيه؟
وبيستخدمها الباحثين في الأمن السيبراني عشان يفككوا البرامج ويحللوا الكود بتاعها
الأداة دي منافس قوي جدًا لبرنامج IDA Pro المدفوع، وبتتميز إنها بتدعم لغات برمجة كتير
زي C، C++، Java، وكمان تقدر تكتب سكريبتات تحليل أوتوماتيكي باستخدام Python أو Java.
يعني لو عندك ملف تنفيذي غريب وشاكك فيه، تقدر تحلله باستخدام Ghidra وتعرف هو بيعمل إيه بالضبط
من غير ما تشغله وتعرض جهازك للخطر.













ثانيًا: ليه تستخدم Ghidra بدل IDA Pro؟


















ثالثًا: ازاي تفكك برنامج باستخدام Ghidra؟
وليكن عندنا الملف المشبوه malware.exe.
فتح البرنامج وإعداد المشروع

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
افتح البرنامج واضغط "New Project" لإنشاء مشروع جديد.
اسحب الملف التنفيذي (malware.exe) داخل المشروع.
هتظهر رسالة تسألك عاوز تعمل Auto Analysis؟
دوس "Yes" عشان يبدأ تحليل تلقائي.
تحليل الكود وتجميع المعلومات

Functions List: قائمة بالدوال الموجودة في الكود.
Strings Window: فيها كل النصوص اللي بيستخدمها البرنامج (ممكن تلاقي فيها كلمات مرور أو عناوين سيرفرات خبيثة!

Assembly View: بيعرض كود الـ Assembly لو عاوز تحليل أعمق.
البحث عن الدوال المشبوهة

WinExec() / ShellExecute(): لو بتستخدمهم، ممكن يكون بيشغل أوامر على الجهاز.
CreateRemoteThread(): ممكن يستخدمه عشان يعمل Injection في عمليات تانية.
VirtualAlloc() / WriteProcessMemory(): لو لقيتهم، غالبًا بيحاول يحجز ذاكرة جديدة ويكتب فيها كود (علامة على وجود بايلود!).
استخراج الأكواد المهمة وتحليلها

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
استخراج الـ Strings المهمة

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي













رابعًا: مثال عملي – تفكيك برنامج خبيث باستخدام Ghidra
الموقف:

قررت تفككها باستخدام Ghidra وتشوف هي بتعمل إيه بالظبط.
التحليل:
في نافذة الـ Strings، لقيت نص غريب:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
check_license_key()
، لقيتها بتاخد المدخلات وتبعتها لسيرفر معين!
تحليل الـ Assembly:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي

الإجراء:

استخدام Wireshark لمراقبة الاتصال والتأكد من عدم إرسال بيانات أخرى.












خامسًا: مقارنة سريعة بين Ghidra و IDA Pro

الميزة | Ghidra | IDA Pro |
---|---|---|
السعر | مجاني | غالي جدًا ![]() |
التحليل التلقائي | موجود ![]() | موجود ![]() |
دعم المعالجات | واسع جدًا ![]() | واسع جدًا ![]() |
كتابة السكريبتات | Java, Python | IDC, Python |
التحليل الديناميكي | ![]() | ![]() |
التكامل مع الأدوات الأخرى | ![]() | ![]() |
الخلاصة: ليه Ghidra أداة قوية جدًا؟

كتابة سكريبتات تحليل أوتوماتيكي، والتكامل مع أدوات تانية. أي حد مهتم بالأمن السيبراني لازم يتعلمه
لأنه بيخليك تفكك وتحلل أي برنامج زي المحترفين!



-
IDA Pro – ملك الهندسة العكسية


IDA Pro هو أشهر وأقوى أداة تفكيك وتحليل ملفات تنفيذية (Disassembler & Debugger)
وبيستخدمه خبراء الأمن السيبراني في
تحليل البرمجيات الخبيثة، الهندسة العكسية للبرامج، وفحص الثغرات الأمنية.
أشهر استخداماته:
















ليه IDA Pro أقوى أداة في المجال؟

















ازاي تفكك برنامج باستخدام IDA Pro؟
فتح البرنامج وإضافة الملف التنفيذي

اختر الملف التنفيذي (malware.exe).
IDA هيبدأ تحليل تلقائي ويعرض لك نافذة فيها الـ Functions, Strings, Imports, Exports.
استكشاف الدوال (Functions) المهمة

CreateRemoteThread() ➜ غالبًا فيروس بيحقن نفسه في عمليات تانية.
VirtualAlloc() / WriteProcessMemory() ➜ بيحجز ذاكرة جديدة وبيكتب فيها كود (علامة على وجود بايلود!).
WinExec() / ShellExecute() ➜ بيشغل أوامر على النظام.
البحث عن النصوص المخفية (Strings)

مثلًا، لو لقيت حاجة زي:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي

تحليل الـ Assembly ومعرفة سلوك البرنامج

لو لقيت حاجة زي كده:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي

أمثلة عملية على تحليل البرامج باستخدام IDA Pro
المثال الأول: البحث عن كود خبيث في برنامج مجهول

السيناريو:
خطوات التحليل:
دخلت على "Strings"، ولقيت فيه عنوان محفظة بيتكوين!
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
GetTickCount()
لقياس الوقتوده دليل على تعدين العملات الرقمية بدون إذن المستخدم!
الحل؟ ➜ احذف البرنامج فورًا!
























المثال الثاني: استخراج بيانات مخفية من برنامج مشبوه

السيناريو:
التحليل:
دخلت على "Strings"، لكن مفيش أي حاجة واضحة.
استخدمت سكريبت Python لاستخراج النصوص من الذاكرة:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي


هل IDA Pro مناسب للمبتدئين؟

























الخلاصة: ليه IDA Pro أداة لا غنى عنها؟

يستخدمه محترفو الأمن السيبراني لتحليل الفيروسات والثغرات.
يدعم التحليل الديناميكي والتفكيك التلقائي للكود.
لكن عيبه الوحيد إنه غالي جدًا ، لكن لحسن الحظ انه موجود فى المنتدى ومفعل


Wireshark – عينك على الشبكة 



بتخليك تشوف كل حاجة بتحصل في الشبكة وكأنك قاعد تراقب مرور العربيات في شارع كبير.
بيعمل إيه بالظبط؟



























ليه Wireshark مهم جدًا؟




























ازاي تستخدم Wireshark عمليًا؟


تحميل Wireshark وتشغيله

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
ثبته عادي جدًا، وتأكد إنك تثبت WinPcap/Npcap لأنه ضروري لالتقاط الباكتس.
بعد التثبيت، شغّل Wireshark وهيظهر لك كل كروت الشبكة الموجودة عندك.
اختيار كارت الشبكة والتقاط البيانات

اختار كارت الشبكة اللي متصل بالإنترنت واضغط Start.
هيبدأ Wireshark في التقاط كل البيانات اللي بتمر في الشبكة.
فلترة البيانات للتركيز على الحاجة المهمة

أهم الفلاتر اللي ممكن تستخدمها:
الفلتر | الوظيفة |
---|---|
http | يعرض فقط ترافيك الـ HTTP |
tcp.port == 80 | يعرض الاتصالات على بورت 80 (HTTP) |
ip.addr == 192.168.1.1 | يعرض كل الباكتس المرتبطة بهذا الـ IP |
dns | يعرض طلبات الـ DNS فقط |
ssl | يعرض اتصالات SSL/TLS المشفرة |
udp | يعرض فقط بروتوكول UDP |

استخراج بيانات حساسة باستخدام Wireshark

السيناريو الأول: استخراج كلمات السر من HTTP

الخطوات:
استخدم الفلتر:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي

مثال عملي لكلمة سر في HTTP:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي













السيناريو الثاني: تحليل اتصالات الـ DNS لمعرفة المواقع اللي بيزورها الضحية

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي













السيناريو الثالث: التقاط بيانات تسجيل الدخول في FTP

استخدم الفلتر:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي


Process Monitor – مراقبة العمليات واكتشاف البرمجيات الخبيثة 



أولًا: يعني إيه Process Monitor وبيعمل إيه؟




يعني باختصار، Process Monitor بيكشف كل حاجة النظام بيعملها في الخلفية، وده مهم جدًا لتحليل البرمجيات الخبيثة وفهم سلوكها!
























ثانيًا: ليه Process Monitor مهم جدًا؟




























ثالثًا: ازاي تستخدم Process Monitor عمليًا؟


تحميل Process Monitor وتشغيله

➜
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
فك الضغط عن الملف وشغل
Procmon.exe
.هيبدأ يعرض لك كل العمليات اللي بتحصل في الجهاز في الوقت الفعلي!

ازاي تفلتر العمليات علشان تركز على الحاجة المهمة؟




الفلتر | الوظيفة |
---|---|
Process Name is malware.exe | يعرض العمليات الخاصة بملف معين |
Operation contains WriteFile | يعرض كل العمليات اللي بتكتب ملفات جديدة في النظام |
Path contains Run | يعرض أي برنامج بيضيف نفسه لقائمة تشغيل الويندوز |
Operation contains RegSetValue | يعرض التعديلات اللي بتحصل على الريجستري |
Result contains ACCESS DENIED | يعرض العمليات اللي بتفشل بسبب عدم وجود صلاحيات |

رابعًا: تحليل البرمجيات الخبيثة باستخدام Process Monitor


الخطوات:

استخدم الفلتر:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
لو لقيت حاجة مش معروفة زي:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي

الحل:

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
























الخطوات:

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

الحل:

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
➜ بعد كده، استخدم sfc /scannow لإصلاح ملفات النظام:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
























الخطوات:

استخدم الفلتر:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
لو لقيت برنامج بيتصل بعنوان IP غريب، زي:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي

الحل:

يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي
➜ حظر الاتصال باستخدام Windows Firewall:
يجب عليك تسجيل الدخول أو التسجيل لمشاهدة الرابط المخفي

تحليل البرمجيات الخبيثة باستخدام Sandboxing
تشغيل الفيروس في بيئة معزولة 





الـ Sandbox ده بمثابة "حلبة ملاكمة" بنرمي فيها الفيروس ونشوف هيعمل إيه بدون ما يضر جهازنا! 



الملفات اللي بتعدلها البرمجية
العمليات اللي بتشغلها
الاتصالات اللي بتعملها على الإنترنت
أي تغييرات على الريجستري أو النظام

























ليه الـ Sandboxing مهم؟


























كشف الفيروسات باستخدام Windows Sandbox
























تشغيل Windows Sandbox
افتح Control Panel ➜ Turn Windows features on or off
فعل خيار Windows Sandbox
بعد إعادة التشغيل، هتلاقي Windows Sandbox في البحث

























الخلاصة: ليه Sandboxing أداة مهمة؟





وبكده نكون وصلنا لنهاية الجزء الثاني من كورس تحليل الملفات المشبوهة والهندسة العكسية!


في الجزء ده، غطينا أدوات التفكيك القوية Ghidra و IDA Pro، واتعلمنا إزاي نحلل سلوك البرمجيات الخبيثة باستخدام Wireshark و Process Monitor، وكمان عرفنا يعني إيه Sandboxing وازاي نحاصر أي ملف مشبوه ونرصد تحركاته زي المحترفين!


لكن استنوا… لسه المهمة مخلصتش!


في الجزء الثالث، هنخش بقى على المواضيع التقيلة جدًا:





لو عندك أي أسئلة أو حابب تضيف حاجة، قوللي في الكومنتات!


لو استفدت من الجزء دة وبقيت محترف فيه يبقى شوف الجزء الثالث هنا

