Ramy Badraan
مراقب قسم الحماية وانظمة لينكس -مصمم بنرات المنتدى
طـــاقم الإدارة
فريق الدعم لقسم الحماية
نجم الشهر
فريق التصميم
كبار الشخصيات
- إنضم
- 26 أكتوبر 2008
- المشاركات
- 3,118
- مستوى التفاعل
- 6,542
- النقاط
- 3,800
- الإقامة
- مصر
- الموقع الالكتروني
- www.facebook.com
غير متصل

بناءاً على طلب الجماهير

هنبدأ مع بعض كورس كامل عن تحليل الملفات يدوياً والهندسة العكسية بشكل مبسط وعميق
الموضوع ده هيكون شامل جدًا، ومش بس هنتعلم إزاي نحلل الملفات
لكن هنكتشف مع بعض إزاي نفك شفرات الملفات، نشوف أكواد البرامج، ونتعامل مع البرمجيات الضارة بكل سهولة.
لو كنت مبتدئ أو محترف، ده الموضوع اللي هيساعدك تعرف كل حاجة!













ما هو التحليل اليدوي للملفات؟

تحليل الملفات يدوياً هو العملية اللي فيها تفتح ملف معين وتبدأ تفحصه "بشكل داخلي" عشان تفهم:
إيه المعلومات اللي موجودة فيه؟
هل الملف آمن؟
لو كان فيه أي كود أو أمر غريب، ممكن يكون خطير عليك.











إيه المعلومات اللي موجودة فيه؟
هل الملف آمن؟
لو كان فيه أي كود أو أمر غريب، ممكن يكون خطير عليك.












الأدوات الأساسية للتحليل اليدوي:
Hex Editor (HxD):
الأداة دي هي الأساس في التحليل اليدوي. هتساعدك تعرض محتويات الملف بشكل Hexadecimal علشان تقدر تشوف البيانات المشفرة.
وظيفتها:
بتعرضلك الملف بشكل هيكس، وده هيساعدك تكتشف النصوص أو الأكواد المخفية جوه الملف.
تحميل HxD:
اضغط هنا لتحميل HxD .

خطوات التحليل باستخدام Hex Editor:
افتح الملف باستخدام HxD.
هتلاحظ إن البيانات بتظهر على شكل أرقام وحروف مثل:
الكلام ده مش هيبقى ليه معنى لو مش عارف تقراه. بس لو دققت هتقدر تلاحظ حاجات مش طبيعية زي النصوص المشوهة أو الشيفرات الغريبة.












هتلاحظ إن البيانات بتظهر على شكل أرقام وحروف مثل:
كود:
41 42 43 44 45 46 47 48













أمثلة عملية:
مثال 1:
لو لقيت نصوص مش مفهومة زي:
ده بيكون مؤشر على إن في حاجة مش طبيعية في الملف.
لو لقيت النص ده، حاول تستخدم A-string علشان تكتشف النصوص الخفية زي:
ده مثال على نص خفي داخل الملف!
ممكن تلاقي كود زي:
الكود ده بيكون موجود داخل ملف مخفي عشان ما يبقاش ظاهر في التحليل العادي، وفي أغلب الأحيان بيكون جزء من فيروس أو كود ضار.
لو لقيت نصوص مش مفهومة زي:
كود:
0xDEADBEEF
لو لقيت النص ده، حاول تستخدم A-string علشان تكتشف النصوص الخفية زي:
كود:
arduino
ممكن تلاقي كود زي:
كود:
00 00 00 00 00 00 00 00

Notepad++:
Notepad++ هو برنامج عظيم يساعدك تفتح الملفات النصية وتشوف الكود اللي بداخلها.

وظيفته:
يفتح لك الملفات النصية ويعرضلك الكود الخاص بيها.
تحميل Notepad++:
خطوات التحليل باستخدام Notepad++:
افتح الملف باستخدام Notepad++.
هتلاحظ إن الكود بيظهر بشكل واضح، وبتقدر تقرأ أي نصوص أو أكواد موجودة.












هتلاحظ إن الكود بيظهر بشكل واضح، وبتقدر تقرأ أي نصوص أو أكواد موجودة.












أمثلة عملية:
مثال 1:
لو لقيت كلمات زي JavaScript أو eval أو exec داخل الملف، ده مؤشر إن الملف ممكن يكون خطير.
مثال 2:
لو لقيت كود زي:
ده كود ضار، وده بيحاول ينفذ أمر معين على جهازك.
لو لقيت كلمات زي JavaScript أو eval أو exec داخل الملف، ده مؤشر إن الملف ممكن يكون خطير.
مثال 2:
لو لقيت كود زي:
كود:
var maliciousCode = function() {
alert("Your system is hacked!");
};
maliciousCode();
ده كود ضار، وده بيحاول ينفذ أمر معين على جهازك.

أدوات أخرى مهمة:
VirusTotal:
موقع رائع ترفع عليه الملف اللي مش عارف عنه حاجة، والبرنامج هيخبرك لو كان فيه أي شيء مشبوه.
اضغط هنا لزيارة VirusTotal
Strings Tool:
أداة بسيطة تساعدك تكتشف النصوص الموجودة داخل الملفات التنفيذية.
اضغط هنا لتحميل Strings
موقع رائع ترفع عليه الملف اللي مش عارف عنه حاجة، والبرنامج هيخبرك لو كان فيه أي شيء مشبوه.
اضغط هنا لزيارة VirusTotal
Strings Tool:
أداة بسيطة تساعدك تكتشف النصوص الموجودة داخل الملفات التنفيذية.
اضغط هنا لتحميل Strings


ما هي الهندسة العكسية؟
الهندسة العكسية هي عملية دراسة البرمجيات أو الأجهزة لمعرفة كيفية عملها
مثلاً لو عندك برنامج مش عارف عنه حاجة، ممكن تعمل له "هندسة عكسية" عشان تفهم الكود الخاص بيهم أو حتى تعدل عليه.












مثلاً لو عندك برنامج مش عارف عنه حاجة، ممكن تعمل له "هندسة عكسية" عشان تفهم الكود الخاص بيهم أو حتى تعدل عليه.












الأدوات الأساسية للهندسة العكسية:
IDA Pro
IDA Pro من أشهر أدوات الهندسة العكسية، بتمكنك من فك الملفات التنفيذية وتحليل الكود البرمجي الخاص بيها.

وظيفتها:
بتعرضلك الكود البرمجي الموجود داخل الملف.
تحميل IDA Pro:
خطوات التحليل باستخدام IDA Pro:
افتح الملف باستخدام IDA Pro.
هتلاحظ إن الأداة بتعرض لك كل الكود البرمجي الموجود داخل الملف.
هتلاحظ إن الأداة بتعرض لك كل الكود البرمجي الموجود داخل الملف.
أمثلة عملية:
مثال 1:
لو لقيت سطور زي:
ده ممكن يبقى كود ضار بيحاول يتصل بموقع مشبوه. الكود ده هو طريقة لتحميل أكواد ضارة من الإنترنت.
مثال 2:
لو لقيت أكواد زي:
ده يعني إن الملف ده غالبًا بيحاول ينفذ ملف ضار!
مثال 3:
لو لقيت كود زي:
ده بيوضح إن الكود بيحاول يعمل Download لملف تنفيذي من الإنترنت أو من مكان مخفي في الجهاز، وعادةً ده بيكون فيروس أو برمجية ضارة.
لو لقيت سطور زي:
كود:
MOV EAX, 'http://malicious-site.com'
CALL HttpRequest
مثال 2:
لو لقيت أكواد زي:
كود:
MOV EAX, 'C:\Windows\System32\malware.exe'
CALL CreateProcess
مثال 3:
لو لقيت كود زي:
كود:
MOV EAX, 'C:\Windows\temp\backdoor.exe'
CALL CreateProcess

OllyDbg
OllyDbg أداة Debugger قوية جدًا، بتساعدك تتبع التعليمات داخل الملف التنفيذي خطوة بخطوة.

وظيفتها:
تتبع العمليات اللي بيقوم بيها البرنامج عند التشغيل، وده هيساعدك تكتشف أي أكواد ضارة.
تحميل OllyDbg:
خطوات التحليل باستخدام OllyDbg:
افتح OllyDbg، وابدأ تتبع التعليمات خطوة بخطوة.
أمثلة عملية:
مثال 1:
لما تلاقي الكود بيحاول يعمل تحميل لملف تاني زي:
الملف ده غالبًا بيحاول ينفذ ملف ضار!
مثال 2:
لو لقيت أي أكواد زي:
ده يعني إن الملف بيكتب بيانات على الجهاز!
لما تلاقي الكود بيحاول يعمل تحميل لملف تاني زي:
كود:
MOV EAX, 'C:\Windows\System32\malware.exe'
CALL CreateProcess
مثال 2:
لو لقيت أي أكواد زي:
كود:
CreateFile
WriteFile

أدوات تحليل وتقنيات متقدمة:
حقن الأكواد (Code Injection)
حقن الأكواد هو عملية يقوم فيها المهاجم بحقن كود ضار داخل عملية أو برنامج موجود على الجهاز، بهدف استغلاله لتنفيذ الأكواد الضارة.
كيفية اكتشاف Code Injection؟
إدخال الأكواد الضارة غالبًا بيتم عن طريق سلاسل من الأوامر التي يتم إدخالها إلى الذاكرة.
أدوات للكشف عن Code Injection:
Immunity Debugger
أداة قوية لتحليل الأكواد، بتساعدك تكتشف حقن الأكواد داخل أي عملية في النظام.
ProcMon
لمراقبة العمليات
مثال:
لو لقيت كود زي:
كود:
CALL LoadLibraryA
MOV EAX, 'kernel32.dll'
DLL. ضارة























التخفى (Obfuscation):
التخفى هو تقنية تهدف إلى جعل الكود البرمجي أو الملفات التنفيذية صعبة الفهم أو التحليل. الهدف من التخفى هو إعاقة أي محاولة لفهم الكود.
كيفية اكتشاف Obfuscation؟
في الغالب بيتم استخدام تقنيات مثل التشفير أو تغيير أسماء المتغيرات والوظائف لجعل الكود معقدًا.
أدوات لاكتشاف Obfuscation:
dotPeek
أداة decompiler تسترجع الكود الأصلي من ملفات APK أو .NET.
JADX
أداة تفكيك APK تقدر تسترجع الكود الأصلي من ملفات APK.
مثال:
لو لقيت كود زي ده:
ده كود مشفر بـ Base64، وبيحتاج Deobfuscation علشان تفهمه. الكود ده لما يتحلل هيظهر لك النص الأصلي مثل:
كيفية اكتشاف Obfuscation؟
في الغالب بيتم استخدام تقنيات مثل التشفير أو تغيير أسماء المتغيرات والوظائف لجعل الكود معقدًا.
أدوات لاكتشاف Obfuscation:
dotPeek
أداة decompiler تسترجع الكود الأصلي من ملفات APK أو .NET.
JADX
أداة تفكيك APK تقدر تسترجع الكود الأصلي من ملفات APK.
مثال:
لو لقيت كود زي ده:
كود:
MOV EAX, 'aGVsbG8gd29ybGQ='
CALL DecodeBase64
كود:
hello world

تقنيات تحليل متقدمة إضافية
1. الحقن في الريجستري (Registry Injection):
هي عملية حقن الأكواد الضارة في الريجستري لكي يتم تنفيذها في كل مرة يبدأ فيها النظام.
حلول:
استخدم Regedit لفحص الريجستري.
استخدم Autoruns لفحص البرامج التي تبدأ تلقائيًا مع النظام.
مثال:
إذا لقيت مدخلات مشبوهة في الريجستري، زي:
تأكد من فحص أي مدخلات غريبة قد تكون تشير إلى كود ضار.
حلول:
استخدم Regedit لفحص الريجستري.
استخدم Autoruns لفحص البرامج التي تبدأ تلقائيًا مع النظام.
مثال:
إذا لقيت مدخلات مشبوهة في الريجستري، زي:
كود:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run























2. الحقن في العمليات (Process Injection):
هي عملية حقن الكود داخل عملية نظام قائمة، مما يسمح للكود الضار بالعمل بشكل مخفي داخل عملية النظام.
حلول:
استخدم ProcMon لمراقبة العمليات.
استخدم Process Explorer لمراجعة العمليات الجارية في النظام.
مثال:
إذا لقيت عملية مشبوهة داخل Task Manager أو أي أداة لمراجعة العمليات، حاول تتبع العملية باستخدام ProcMon وتحقق من أي تغييرات غير طبيعية.
حلول:
استخدم ProcMon لمراقبة العمليات.
استخدم Process Explorer لمراجعة العمليات الجارية في النظام.
مثال:
إذا لقيت عملية مشبوهة داخل Task Manager أو أي أداة لمراجعة العمليات، حاول تتبع العملية باستخدام ProcMon وتحقق من أي تغييرات غير طبيعية.

أدوات أخرى مهمة:
Ghidra:
أداة مجانية من NSA لتحليل البرمجيات.
اضغط هنا لتحميل Ghidra
Radare2:
أداة قوية للهندسة العكسية تعمل من خلال السطر الأوامر.
اضغط هنا لتحميل Radare2
أداة مجانية من NSA لتحليل البرمجيات.
اضغط هنا لتحميل Ghidra
Radare2:
أداة قوية للهندسة العكسية تعمل من خلال السطر الأوامر.
اضغط هنا لتحميل Radare2

وفى النهاية هنقول شوية نصايح

تجنب تحميل الملفات من مواقع مش موثوقة.
كل ما تنزل ملف جديد، افحصه باستخدام VirusTotal.
لا تفتح أي ملفات مشبوهة على جهازك الرئيسي، افتحها على جهاز تجريبي (Virtual Machine).
اتعلم تستخدم الأدوات اللي ذكرتها فوق، لأنها هتخليك محترف
.
كل ما تنزل ملف جديد، افحصه باستخدام VirusTotal.
لا تفتح أي ملفات مشبوهة على جهازك الرئيسي، افتحها على جهاز تجريبي (Virtual Machine).
اتعلم تستخدم الأدوات اللي ذكرتها فوق، لأنها هتخليك محترف


دلوقتي إحنا خلصنا مع بعض تحليل الملفات يدوياً والهندسة العكسية
الموضوع ده كان مليان تفاصيل وأدوات وأمثلة عملية ودى البداية
وبإذن الله هنتعمق اكتر فى السلسلة
لو عندك أي سؤال اكتبه فى التعليقات
الموضوع ده كان مليان تفاصيل وأدوات وأمثلة عملية ودى البداية
وبإذن الله هنتعمق اكتر فى السلسلة
لو عندك أي سؤال اكتبه فى التعليقات























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

