-------------- الفهرس --------------
أولاً:- من أين تبدأ الفايروسات العمل ؟
1-1 الفايروســــات التي تعمــل عـن طريــــق قاعـــدة بيانــات الريجستـــري
-
1-2 الفـايروســـات التــي تعمــل عــــن طــريــــق ملـفـــات التــأسيـــس ini
-
1-3 الفايروسات التــي تعمل عن طريق الملفــات الدفعيــة للنظام دوس bat
-
1-4 الفايروسات التــي تعمــل عن طريـــق قائمــة البرامــج Start Menu
-
1-5 الفايروسات التي تعمل عــن طريق حقن الملفات viruses injecting
-
1-6 الفايروسات التي تعمل عن طريق قطاع الإقلاع BOOT SECTOR
ثانياً:- تحليل الأنظمة وإكتشاف الفايروسات وملفات التجسس
2-1 مراقبــة الوصــول إلى البيانات FileMon - TcpMon –RegMon
-
2-2 إختبــار برامــج النظــام Debugger وتحليلها بإستـــــخدام OLLY
-
2-3 تــحليـــل فـــايـــروســـات RootKit بإستــــخدام برنـــامــــج Softic
-
المقدمة
إستــخدام بــرامج مقاومــة الفــايروســات لا يعنــي ذلك أن جهــازك محمـي مـن كــل الهجمــات والإختراقــات
لأن برامــج الحمـايــة فــي الأصـل لا تتعرف على هذه الفايروســات إلى بعد ظهورها وإنتشارهــا فـــي العـالــم
وبعد ذلك يتم تحليل هذه الفايروسات وإضافة تواقيعها إلى برامج الحماية- ليقوم المستخدم ومـن خــلال الإنترنت
بتـحديث برامـــج الحماية ليتم حـــذف الفايروس الجديد الـــذي دخـــل جهـــازك !
أهمية تعلم حذف الفايروسات بشكل يدوي وعدم الإعتماد كلياً على برامج المقاومة
الخطــوات السابقــة تتطلـب وقت على الأقـل 3 أو 4 أيام ,, في هذه المدة كيف سنحذف الفايروس ونتخلص منه
هذا إذا إفتـرضنا انـه فايـروس عادي!! لأن إنتشار مايعـرف ب Polymorphic Viruss غيــر الفكــرة تماماً
فايروسات Polymorphic Viruses هي شكل آخر من الملفات الخبيثة تتبع شفرات معقدة لتغيير نفسها بنفسها
كــل فتــره بداخـــل جهـــاز المستــخــدم بهــــدف الإختـفـــاء عن برامـــج الحمــايــه وبــذلك لا تـتـعـرف عليـها
لأن شفرة الفايروس الأصلي تغيرت بالكامل وكأنة ظهر بشكل جديد,هذا بالنسبة للفايروسات على مستوى العالم
أمـا بالنسبــه للفايروســات " الخاصة " وملفــات التجسـس فـلايمكــن التــعرف عليــها مـن قبــل برامج الحماية
يقوم بعض المبرمجين من تطويربرامج تجسس وفايروسات خاصه بهم يتم تنفيذها على أجهزة شخصية أو شبكة
بهــدف التجســـــس أو بــأهـــداف أخـــرى مثـــل التــخريـــب او التســـليــــة
هذه الملفات لايمكن لبرامج مقاومة الفايروسات إكتشافها لأنها لا تعرفها اصلاً
أولاً:- من أين تبدأ الفايروسات العمل ؟
أول خطـــوه وأهـــم خطــوه فــي التــحليـــل والبــحــث عــن الفايروســات وملفــات التجســــس فـي جهـــازك
هــــي : البــحث عـــــن البـــرامــــج والتــطبيــقــات التــي تـعمــل فــــي بــدايـــة تـشغيـــل النـظــام ونـــــدوز
تستخدم الفايروسات أكثر من طريقة ويمكن أن نقسمها كالتالي:
فايروسات تعمل عن طريق قاعدة بيانات الريجستري- أوعن طريق ملفات التأسيس ini -أو الملفات الدفعيةbat
أو عن طريق قائمة البرامج - أوعن طــريق الحقن injecting - أو عــن طريق قطاع الإقـــلاع boot sector
1-1الفايروسات التي تعمل عن طريــق قاعدة بيانــات الريجستـــري
1-1-1 إستغلال مفاتيح بدء التشغيل الأساسية
يقــدم النــظام ونـــدوز خــدمــات كثيــرة لمطــوري البــرامــج,, ومــن هــذه الخــدمــات إمكانية تشغيــل
برامجهم مع بداية تشغيل النظام وندوز ,,, وقام النظام بتخصيص مفاتيح في قاعدة بيـانات الريجستــــري
تمكنك من إضافة مسار تواجد برنامجك ليتم تشغيلة في بداية تشغيل النظام,, وبذلك إستغلت الفايــروسات
والبرامـــج الخبيثـــة هـــذه الخـــدمــه لتمكــن نفســها مـــن التنفيـذ فــي كــل مــره يتـــم تشغيـــل الجهــاز
لــرؤيــه مفــاتيـــح بــــدء التــشغيـــل الأســـاسيـــه ,,, شــغــل بــرنامـــج الــريـجستــري
من قائمة Start ثم RUN وإكتب regedit.exe ثم OK ليتم تشغيل برنامج الريجستري
توجه للمسار:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run
لتظهر لك قائمة البرامــج التي تعمل في بداية تشغيل النظام ,, كــما تشــــاهد في الصــورة :-
وتوجـــد مســـارات أخـــرى أساسيــــة يقدمهــــا نظـــام ونـــدوز لتشغيــــل البرامــــج بخصائـــص مختلفــــة
هذه المسارات هي:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\RunOnce
و
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\RunServices
و
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr enVersion\RunServicesOnce
و
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Curre ntVersion\Run
و
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Curre ntVersion\RunOnce
و
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Curre ntVersion\RunServices
و
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Curre nVersion\RunServicesOnce
-
وبعد تطور وسائل الحماية كشفت الفايروسات التي تعمل من خلال مفاتيح بدء التشغيل الأساسية
ولــذلك تطورت الفايروســات وأستغلت أمــاكن أخـــرى أكثــر تعقيد لتشغيــل نفســها,,, تابــــع
1-1-2 إستغلال مفاتيح مكونات النظام
مـــكــونــات النــــظـــام ونـــــــدوز Component Object Model – تـــعــــــرف بـتــقـنــيـــــة COM
عبـــارة عـــن تطبيــقـــات إضافيــة للنظام وتــكــون منــدمجــة معه ليسهل إستخدامهـا فــي أكثر من برنامج
ومثال على هذة التطبيقات: أشرطة الأدوات التي تضاف لمتصفح الإنترنت مثل أشرطة أدوات جوجل وياهـو
وبرامج الريل بلير وغيرها أو تكون مندمجة مع النظام نفسة مثــل تطبيقات "سلة المحذوفات"Recycle Bin
التـــي تكـــون علــى سطــح المكتــــب,,, وغيـــرهــــا الكثـيـــر وهــــذا ما يـــعــــرف بمكــونــات النـــظــام
وبالتــأكيد هـــي عبــارة عـــن ملفــات تنفيذيــة تكـون فــي الغالب مكتبـة ربط dll يتم تشغيلها وتنفيذهــــا
علــى حسب أماكن تواجدهـا ,,إما ان يكون تشغيلها مرتبط ببرنامج معين او مرتبط مع النظام بشكل عــام
ويتعـرف نـــظــام التـــشغيــــــل علــى هـــــذه المكــــونات مـــــن خــلال الريــجستــــري regedit.exe
وبـــالتـــحــــديــــد فـــــي المــــســـار التــــالـــي تــجــــد : HKEY_CLASSES_ROOT\CLSID
حـيــــث يـــــقــــوم نــــظام الـــــونــــدوز بالبـــحث عـن المكونات المثبتة,, وتكون معرفة بأرقام "هيكس"
او مايعرف بالصيغة الست عشري: ومثال على ذلك {5945c046-1e7d-11d1-bc44-00c04fd912be}
بــداخــل كـــل مكــــون تجـــــد مفتــــاح آخــــر بإســــــم InprocServer32
هـــذا المفتاح يـــدل علـــى المــــلف التنفيذي الـــذي سيمثــل تشغيل المـــكــون
كما ترى في الصورة:
ولهذا السبب ظهرت فايروسات وملفات خبيثة كثيرة تستغل هذة النقطة لتشغيل نفسها وبدون علم المستخدم
والآن نريد ان نعرف أماكن تشغيل المكونات ؟
1- أشهر هذة الأماكن يعرف ب التثبيت النشط
أماكن تواجدة : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components
ويـكـون الفــايــروس تــحـت القيـمــة StubPath ويـــعمل الفــايـروس فــي بدايــــة تشغيــل النظـام
و لإيـــقــــاف تــــشـــغيـــل الفـــــايـــــروس , نـقــــــوم بــحــــذف رقــــــم المـكـــــون بالـــكامــــل
2- الطريقة الثانية تعرف ب الإرتباط عن طريق النظام او برنامج C:\WINDOWS\explorer.exe
مسار تواجد المكون لتشغيل الفايروس
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\****l Extensions\Approved
ويـــوجد أكثــر من مســار يمكن أستغـلاله لتشغيــل المكونات بنفس الطريــقة , يجب التشييك عليـها,, وهي
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Explorer\SharedTaskScheduler
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\****lServiceObjectDelayLoad
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Explorer\****lExecuteHooks
إذا دخلت إلى أي مسار من المسارات الســابقة ستــــجد رقم المكـــون مثــل
{5945c046-1e7d-11d1-bc44-00c04fd912be}
إبــحث علـــى هـــــذا الإســـم بـــداخـــل مجلـــد المكـــونـــات الـــرئيـــسي HKEY_CLASSES_ROOT\CLSID
وسيكون بهذا الشكل
HKEY_CLASSES_ROOT\CLSID\{5945c046-1e7d-11d1-bc44-00c04fd912be}
إفتح المجلد ستجد مجلد آخر بإسم InprocServer32 إفتح المجلد لترى القيمة Default=مسار البرنامج الــــذي سينفذ وبهـــذا نكـــون قــد حــــددنــا مكـــان تـــواجـــد الفايــروس , نـــقوم بحذفـــة بعـــد غلــــق C:\WINDOWS\explorer.exe
3- الطريقة الثالثة تعرف ب الإرتباط عن طريق مساعد المتصفح
مســار تــواجد المكـــون فــي برنامج الريجستـــري لتشغيـــل الفــايـــروس
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Explorer\Browser Helper Objects
ويتم تشغيل كل المكونات الموجودة في هذا المسار في بداية تشغيل النظــام
4- الطريقة الرابعة تعرف ب الإرتباط عن طريق شريط أدوات متصفح الإنترنت
مســـار تواجـــد المكــون لتشغيل الفايروس هــو
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Toolbar
ويتم تنفيذ الفايروس بعد تشغيل متصفح الإنترنت ,,, ويوجد أيضا المسارين
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks
1-1-3 إستغلال مفاتيح مدير الجلسات Session Manager
يقـــوم مديــر الجلســات بأعمــال كثيــرة ,,,منها تعريف وتشغــيل مكاتب الربط dll القياسيـــة للنظـام
فعنـــد بدايـــة تـــشغيـــل الكـــمبيوتــر يتـــم تحميـــل هـــذة المكاتــب حتـــى لو لـــم يتـــم إستــخدامهـا
بهدف تسريع عمل بقية البرامج والنقطة الثانية للتأكد من وجود هذه المكاتب لإستمرارية عمل النظــام
المــهــم : تـــوضـــع كـــافـــة المـــكـاتـــب ومــلفـــات النـــظام القيـــاسيـــة علـــى هـــــذا المــســـــار
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Session Manager\KnownDlls
مــلاحـظــه : قبـــل ظهــور مايعرف بمديـر الجلسات ,, كان هنالك مسار آخر يعمل بنفس الطريقة وهو
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Appinit_Dlls
تم تجاهلة في الأنظمة الحديثه ولكن يجب الإنتباه إليـه , لأن الفايروسـات تستــغل اي غفوة او تــجاهــل
وفي بداية تشغيل الكمبيوتر يقوم النظام بتحميل وتنــفيـذ كافة المكـــاتب
ولذلك تقوم بعض الفايروسات والبرامج الخبيثة بإستغلال هذة النـــقطــة
كمــا توجـــد طــريقة أخـــرى للإستغـــلال مــن خــلال مديـر الجلسات
على المسار
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Session Manager\BootExecute
يقــوم النظام بإستخدام هــذا المســـار لتشغيل برنامــج قبل تحميـــل ملفــات النظام لإظهــار الواجـــهــة
مثال: تلاحــظ ظهــور برنامــج تشييك القــرص عنــدمـــا يحــدث خطــأ فــي الجهــاز ويعيــد التشغيـــل
او عندما تغلق الجهاز بطريقة خاطئة تلاحظ بعد تشغيل الجهاز ظهور برنامج تششيك القرص C وD ,...
1-1-4 إستغلال مفاتيح Winlogon
برنامـــج Winlogon مهـــم جـــداً فهــو يقوم بالتنسيق بين مستخدمي الجهاز من مدير ومستخدم عادي
ويقــوم بعملية التبـــديــل بيـــن المستخدمين,,, بالإضـــافة للتشيك علـــى نسخة النظام وكــــود التفعيـــل
وتلاحظ ذلك بالتوجهة لمسارWinlogon في برنامج الريجستري :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
لتجدة يحدد برنامج التشغيل الأول الذي يظهر للمستخدم تحت القيمة****l لتجدها تساوي Explorer.exe
بالإضافــة إلـــى القيمــــة Userinit التـــي تحدد البرنامـــج المســــؤل عــن خصائص جهاز المستخدم
الـــــذي سجــــــل الدخـــــــول ولـــــذلك يـــــــجب الإنتـبــــــاة علــــى القيمتيـــــن ****l وUserinit
وتـــوجد طــريقــــة أخــــرى لـــلإتستــــغلال عــــن طــــريق مكـــونـــات النـــظام فـــي هـــذا المســـار
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
و يمكن إستغلال شاشة التوقف لتشغيل الفايروس عن طــريق القيمة SCRNSAVE.EXE في المســار
HKEY_CURRENT_USER\Control Panel\Desktop
كما إنتشرت فايـــروســـات كثيــــرة تستغـــل Winlogon عـن طريق الحقن؟ تحت مستوى RootKit
وهذة الطرق معقدة بشكل كبير -- سنذكرها في نهاية الموضوع.
1-1-5 إستغلال مفاتيح خدمات النظام
خدمات النظام عبارة عن برامج تعمل على مستوى النظام , بمعنى أنها مختلفة عن بقية البرامج التي تراها
لهـــا أحقيــــه الوصــــول إلـــى أي مكـــان يصـــل إليـــه النظــام وكما ان لهـا أحقيــه الوصول للهاردوير
ولذلك تجد تعاريف الأجهزة الهاردوير تثبت هنا بالإمتداد sys او vxd,, كما أن أخطر الفايروسات تجدها
في هذا المكان ,,, مسار تواجدها في الريجستري
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es
تجد مســـار الملف التنفيذي = محتــــوى القيمــة ImagePath وسترى مثـــال لهـذة الفكرة في آخــر قســم
1-1-6 إستغلال مفاتيح مشغلات البرامج والسكربتات
وهـــــذه الفــايــروســـــات تقــــوم بالتغييــــر فـــي إعــــدادات الجهـــاز القيـــاسيـــة
تـقــــوم بوضــــع نفســـــها فــــي مــكـــان تــشغيــــل ســــكربت أو ملــــف آخـــــــر
أو تقوم بتغيير مشغلات الملفات الأصلية ,, لتضع نفسها في مكان مشغل برنامج معين
وتقــــوم بإستـــغـــلال أي مشغل لملف تنفيــــذي ,,, تجدهـــا فـــي هـذة المســـــارات
HKEY_CLASSES_ROOT\exefile\****l\Open\Command
HKEY_CLASSES_ROOT\vbsfile\****l\Open\Command
HKEY_CLASSES_ROOT\scrfile\****l\Open\Command
HKEY_CLASSES_ROOT\comfile\****l\Open\Command
HKEY_CLASSES_ROOT\batfile\****l\Open\Command
HKEY_CLASSES_ROOT\htafile\****l\Open\Command
HKEY_CLASSES_ROOT\piffile\****l\Open\Command
HKEY_CLASSES_ROOT\JSFile\****l\Open\Command
HKEY_CLASSES_ROOT\wshfile\****l\Open\Command
HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\****l\ open\command
HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\****l\ open\command
HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\****l\ open\command
HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\****l\ Open\Command
HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\****l\ open\command
وبقية السكربتات vbs....
HKEY_LOCAL_MACHINE\Software\CLASSES\****lScrap
-
كما توجد طريقة أخرى لتحديد برنامج إختبـارللنظام ويمكن إستغلالهـا مـن قبـل الفايــروس,, المسار التــالي
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
يمـــــكن ان تقــوم بإنشــــاء مفتــاح جديد وتعطيه اي إســــم
وبداخل المفتاح تقوم بكتــــابة قيـمة جديدة من نـــوع نصـــي
إسم القيمة Debugger ومحتواها = مسار تشغيل الفايروس
1-1-7 إستغلال مفاتيح إعدادات البرامج الأخرى
وهذة النقطة ليست لها نهاية ؟؟؟
برامــج الكمبيــــوتــر كثيـــرة جــداً بعضـها تعرفـــها وأغلبـــها لاتعرفهـــا
تقوم بعض هذة البرامج بإستخدام قاعـــــــدة بيــانات الريجستـــري لتقوم بأعمالـــهـا
فبعضـــها يقـــوم بتنفيـــذ برامــــج يخــــزن مسـارهــــا فــــي ملـــف الريجستــــري
مثـال علــى ذلك برنـــامـــج التلنـــت ( وهــذا البرنامج يعتبر ضمن النظــام ونــدوز)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentV ersion\Run
او
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Terminal Server\Wds\rdpwd
-
وتوجد برامج كثيرة تستخدم الريجستري لتشغيل برامج أخرى مثل برنامج المحادثة الشهير icq وغيــرهـــا
ولكن النقطة الأهم أن مبدأ صناعة الفايروسات لايعتمد على مثل هذة الطرق لأن البرنامج الذي سيعتمد عليه
لنشر الفايروس وليكن مثلاً icq لن تجدة في كل الأنظمة ولذلك تجد أن النقطة الأساسية لإنتشار أي فايروس
تكون من خلال ملف نظام أساسي يوجد في كل الأنظمة القياسية ,,, وهذا لا يعني تجاهل هــــذه النقطة !!!
وتوجد ملفات أخرى مسؤلة عن تشغيل البرامج في بداية تشغيل النظام وندوز
وهي:
1-2 الفايروسات التي تعمل عــــن طــريــــق ملـفـــات التــأسيـــس ini
ملفات التأسيس عبارة عن قاعدة معلومات مثلها مثل الريجستري regedit.exe
ولــــذلك تجـــد أن الفـــــايـــروســـات أستغلتــهـــا لتـــشغيــــــل ملـــفـــاتـــهـــا
1-2-1 ملف التأسيس Win.ini
تـــجد هـــذا الملــــف فــي مجلد النظام C:\WINDOWS
بداخــل هذا الملف تجد القســـم [windows] يمكن إستغــلال هذا القسم عن طريق
القيمتيـــن load و run لتـــشغيـــل أي فـــــايــــروس فــــي بــــدايـــة التــشــغيـــل
مثال: ستجد الفايروس بهذا الشكل
[windows]
load=C:\WINDOWS\Virus.exe
run=C:\WINDOWS\Virus.exe
1-2-2 ملف التأسيس System.ini
تجد هذا الملف في مجلد النظام C:\WINDOWS
القســـم الـــذي يتم إستغلاله هـو [boot] بإستــــخدام القيــــمة ****l
مثال
[boot]
****l=Explorer.exe C:\WINDOWS\Virus.exe
1-3 الفايروسات التي تعمل عن طريق الملفات الدفعية للنظام دوس bat
الملفات هي:
autoexec.bat وdosstatr.bat
config.nt و autoexec.nt
وهي عبارة عن تنفيذ مباشر لأوامر النظام دوس
1-4 الفايروسات التي تعمل عن طريـــق قائمــة البرامــج Start Menu
Start Menu->Programs->Startup
أوعن طريق جدول المهام Scheduled Tasks
Start Menu->Programs->Accessories->System Tools->Scheduled Tasks
--------------------------------------------------------------------------------------------------------------------
وبعــــد مــــا عرفنـــا الأماكـــن التـــي يمكـن أن تستغلــــها الفايـــروســـات
ندخـــل فــــي الأدوات والبرامـــج التي تسهـل علينا الشغل وتختصـر الوقت
-
وفــر النظام ونـــدوز بعض الأدوات التـــي يمكن أن تفيــدنا في هذا المجــال
منـها الأداة msconfig مـــن قائمــة start ثـــم Run وأكتـــب msconfig
لتظهر لك أهـــم الأمــاكن التي تستخـــدمها الفايروســات لتشغيــــل ملفاتهـــا
ومـــع ذلك فــإن الأداة msconfig لا تعتبـــر أداة كافية لكشف الفايروسـات
يوجـــــد في هــــذا المجال أدوات كثيرة ,, وسنعرض أهمها والمجانية منهـا
الأدوات هي : autoruns من شركة Sysinternals
والأداة a2hijackfree من شركة Emsi Software
1-الأداة AutoRuns
http://www.sysinternals.com2-الأداة: a2hijackfree
http://www.hijackfree.com/enوالآن ندخل في الموضــوع ونتعرف على طرق وأساليب فايروسات اليــــوم كيف تعمل وكيف تنتشر
1-5 الفايروسات التي تعمل عن طريق حقن الملفات viruses injecting
الفايروسات التي تنتشر وتبدأالتشغيل عن طريق الحقن injectingكثيرة وقد تكون الأصعب في الحذف
تتبـــــع كـــل هـــذه الفـــايــروســـات والديــــدان طريقـــــه الحقــن لعـــدة أسبـــاب - أهــم سـبب هــــو:
-
الفـــايروســـات المحقونـــه يصــعب إكتشــافها مـن قبـل المستخدم العادي لأنها تعمل وتتـكاثـر داخـــــل
الملفـــات التنفيذيــة للنــظام ولكـــي تــعرف أن مثــل هــذه الفايروســات قــد أصـابت جهــازك يلزمـــك
معــرفــة تامــة بلغات البرمجة وبالأخص لغـة الإسمبلي والتــي تعرف بلغة الآلـــة وفهم جيــد لطريقـــة
عمــل البــرامج وتعليمــات المعالــج كما ستـرى في بقية الموضوع , كما أن مجـــال حقن الفايروســات
يعطي الهكر المختصين في برمجة فايروسات الأنظمة,, يعطيهم مساحه واسعه جداً لخلق أفكار جديـــدة
لنشر فايروساتهم وملفات التجسس بشكل عام ,, لأننا نتحدث عن آلاف الملفات التــي يمكن إستغــلالهــا
في البداية مبدأ الحقن بسيط جداً ,, وهو كالتـالي:
كل الملفات التنفيذية التي في جهازك مكونة من أقسام مثـــل قسم الكـــود وقسم البيانات وقســم المصــادر
قسم الكود يمثل بداية تنفيذ البرنامــج وقســم المصـادر كــذلك يمثــل نــوافــذ وأيقونات البرنامــج وهكــذا
يقوم الفايروس بإستغلال هذه الأقسام بهذا الشكل:
اولاً: يقوم بإنشاء قسم جديد للشفرة وبأي إسم وبعد ذلك يغير عنوان بدايــة تنفيذ البــرنامج إلــى عنــــوان
القسم الجديد الذي قام بخلقه الفايروس وهو يمثل شفرة التشغيل للفايــروس وفــي نهايــه شفــرة التشغيـــل
يوجد كود بسيط لإعادة مجرى التنفيذ إلـى العنــوان الأصلي ليتــم مواصــلة تشغيــل البرنامــج المحقـــون
وهذه الصوره توضح لك طريقة إكتشاف فايروس يحقن نفسه في برنامج الماسنجر ليقـــوم بتشغيل نفســه
تلاحــظ في الصورة أقسام البرنامــج:- القسم text يمثل قسم الكود في البرنامج والقسم data يمثل
قسم البيانات في البرنامج وكذلك rsrc يمثل قسم المصادر,,, وتلاحــظ وجــود القســـم x5bn9W
وهذا القسم يمثل الفايـروس وهـو عبــارة عن كــود تنفيذي يعمــل علــى تشغيــل ونشر الفايـــروس
والآن بقــي أن نعــرف طريقـــة حذف الفايــروس وإعــادة البـــرنامــــج المصــــاب إلــى طبيعتـه
والشغلـــة ليــست بهـــذه البســاطــة سنحتـــاج برامــج إختبـــار Debugger وبرامـــج ديسمبــلي
وبرامج PE Editor وبعض أكـواد لغه الإسمبلي ولغــه السي ,سي++ ولذلك سنؤجل الموضــوع
إلى نهايه الدرس
1-6 الفايروسات التي تعمل عن طريق قطاع الإقلاع BOOT SECTOR
إنتــشر هــذا النـــــوع مــن الفايروســـــات فـــي زمـــن النظـام دوس وأنظمــة 16 بت والسبب فـي ذلك
بساطة تصميــم الأنظمـة فــي تلك الأيـــام لأن مبـــدأ عمل فايروســات BOOT SECTOR هو تسلــم
مهمــة القيــاده من نظــام الإدخال والإخـراج الأساسي ال BIOS وبعد ذلك تشغيل الفايروس ومن ثم نقـل
التحكـــم وتشغيـــل نظــام التشغيل وهو الدوس ,, قد تكون الفكــرة بسيطة فــي نظام دوس ولكنــها معقـدة
فــي نظام ونــدوز ولــذلك تجد الفايروســـات الحديثــه لنظام وندوز لا تستخدم هذا النوع لتشغيــل ملفاتهـا
طريقه عمل فايروسات BOOT SECTOR
اول خطـــوة تبــدأ بها هــي كتابــه شفــرة التنفيــذ في قطاع الإقلاع على الهاردسك وهو القطاع رقـــم 0
بمعنى أول قطاع علــى القرص,, وتـــم إختيــار هــذا القطاع بالذات لأنـك عندمــا تقوم بتشغيل الكمبيوتـر
أول شاشة تراهـا هي عبارة عن نظام يسمى BIOS بعد مايقــوم البيوس بفحص الهاردوير وتجهيز بيئــة
تشغيل الكمبيوتر يقوم بتسليم نظام التشغيل مهمة القيادة عن طريق قرائة القطاع رقم 0 وهو قطاع الإقلاع
يقـوم BIOS بعد قرائـــة القطــاع بتنفيــذ البرنامــج الموجـــود فـــــي هــــذا القطاع وحجمــة 512 بت
يقوم نظام التشغيل بكتابة برنامج بسيط لتحميل الملفات الأساسية لتشغيل النظام , بينمــا تقوم الفايروســات
بإستغلال هذا القطاع وكتابـــة شفرة التشغيل للفايــروس وهكذا يمكن تشغيـل الفايروس قبــل النظام تفســة
حذف فايروسات قطاع الإقلاع BOOT SECTOR
الـــطريقـــة الأولـــى بـــإستخــــدام قــــرص الطــــوراىء للنـــظــــام دوس وهـــــو مــايسمـى Startup
بداخــــل هــــذا القــــرص تجـــد برامــــــج كثيــــرة منـــها برنامــج format لإعــــادة تنسيـق القـــرص
وبــرامـــج fdisk لإعـــــادة التـقسيـــم وغيــــرها ,,, وتـجـــــد أيضـــــاً برنامـــج بإســـــم debug.com
هـــذا البرنامـج نادر الإستخدام ولكنه مفيد جدا ونستطيع من خلاله الوصول لبيانات قطاع الإقلاع وتعديلها
يمكــــن إستخــــدام نفـــس البرنامـج من داخـل نظام الونــدوز : من قائمــة start ثـــم run إكتـب debug
ستــظهر لك نافــذة فارغـة بهــا علامـــة "-" بجانب العـلامة اكتب ؟ ثم إنتر لتتعرف على برنامج debug
كما هو موضح في الصورة:
والآن سنقــوم بقرائـــة البرنامـــج المكتــوب بداخــل قطاع الإقـلاع ,, نفذ الأمر التالي في برنامـج debug
أكتـــب الأمـــــر التالي L 100 2 0 1 ثــــــم إضغــــــط علــــى مفتـــاح الإدخـــال " إنتــر " او Enter
معنى هذا الأمر كالتالي :حرف L يعني قرائــة من القرص ورقم 100 معنى ذلك ان بيانات القرائه ستكتب
إلى العنوان100 رقم 2 يرمز إلى القرص C وإذا كتبت 0 يعني A و 1 يعني B وهكـذا مع بقية الأقـراص
رقــــم 0 يعنــي قرائـــة من القطاع 0 وهو قطاع الإقلاع ,, الرقم 1 الأخير يعني عدد القطاعات التي ستقرأ
تستطيـــع مشــــاهدة بيانـــات قطـــــاع الإقــــلاع بصيغـــة الهكـــس بإستخدام أمر D بهذا الشكـل D 100
وتستطيــــع مشاهــــدة برنامـــج قطاع اللإقـــلاع بلغة الإسمبلـــي بإستخــدام الأمر U بهذا الشكـل U 100
وبذلك تستطيـع التعديــل في محتوى القطاع عن طريق الأمر E بهذا الشكل E 100 ثم إنتر وتقوم بعد ذلك
بالتغييــر والضغــط على مفتــاح المسافــة في لوحة المفاتيح إلــى أن تنتهي من التعديــل ثم تستخدم تعليمــة
الكتــابة إلـى القــرص وهــي W لكي نعيــد كتــابة قطــاع الإقـــلاع بهــذا الشكــل W 100 2 0 1 ثم إنتـر
-
وبهذا نكون قد أعدنا كتابة محتــوى القطاع ,, وتوجد طريقة أخــرى لكتابة القطاع من خـلال النظام ونـدوز
الخطـــوة الأولـــى هي إخــراج الهاردســـك الذي يحتــوي الفايروس ثـــم نقوم بوصلـــة مع كمبيــوتر آخـر
ونقوم بتثبيت أي برنامج diskeditor وهي كثيرة جدا,, منها مثلاً برنامج WinHex وهو سهل الإستخدام
بكــل بساطـــة نقوم بنســخ قطاع الإقـلاع من الهاردســك الحالي عن طريق الأمـــر copy ونقـــوم بإختيار
الهاردسك الذي قمنا بوصلــة مع الجهـاز وهو المصاب بالفايروس ومـن ثم أمر لصق paste وكأن العمليـة
نسخ ملف نصي بهذا الشكل :
ثانياً:- تحليل الأنظمة وإكتشاف الفايروسات وملفات التجسس
مجـــال تحليــــل الأنظمــــة عبـــــارة عـــن مــراقبــــة ملفـــــات النظــام ومعـرفتهــا وتحليـــل عملهــا
لكشــــف إذا كــــان هنـــالـــك أي بـــرامـــج أو فايــــروســــات تــدخــــــل فــي عمــل هــذة الملـــفـات
2-1 مراقبة الوصول إلى البيانات
مــن أهــم المجـــالات فــي تحليـــل الأنظمـــة وهــو البحـــث عــن البيــانــات ؟ أيــن تكتــب وأيـن تقرأ
ومــــن المســـــؤل عنهــــا وما هـــي البيـــانـات التــي تخــرج او تدخـــل إلى الكمبيــوتر بكـــل تفصيـل
بـــمعنــى تعـــرف كــــل بايـــــت مــــن المســـــؤل عنـــــة فـــي النظـــام وبـالتـحديــــد أي برنـــامـــج
ويمكــن تــقسيــــم بــرامـــج مــراقبـــــة الوصـــــول للبيــــانـــات إلـــــى ثلاث مجمــــوعـــات وهـــي:
مجموعة FileMon و DiskMon لمراقبة الهاردسـك – ومجموعـة RegMon لمـراقبـة الريجستري
والمجمـوعـة الثالثـة وهــي مراقبــة حــزم البيــانـــات المرسلـة بين الشبكات Ethereal & TcpMon
2-1-1 إستخدام أدوات FileMon و DiskMon
أدوات FileMon مهمة لكـشـف الفايروسات وبالتحديـد فايروسات حقـن الملفــات viruses injecting
لأن هـــذة الأدوات تراقـــب كـــل العمليـــات والبرامــج التـــي في الذاكـــرة وتخبــرك بأي عملية قرائـة
أو كتـــابـة أو وصــــول إلـــى أي ملـــف علـــى القـــرص وتخبــرك نتيجة هذا الوصول بشكل تفصـيلي
وبهــــذا نستطيـــع مراقبـــة فايروســات الحقن ونكتشــف طريقــة عملهــا وإلى أين وصلت فــي التنفيــذ
وتــوجـد أدوات كثيـرة ل FileMon وتجــد أشهرها علـى الموقع الشهير
www.Sysinternals.comلاحظ الصورة ,,, وهي تمثل الفكرة لإكتشاف فايروسات الحقن
أمــا عـــن أدوات DiskMon فهي تشبة الأداة السابقـــة FileMon إلــى أنها تراقــــب القرائــة والكتابـة
والوصـــول إلـــى أي قطــاع Sector علــى الهاردســك بمعنــى أنها تفصيلية أكثر وهـي مهمـــة لكشــف
فايروســات BOOT SECTOR وتستــخدم أيضـاً لمراقبــة بعض برامج التجسس التي تستخدم قطاعات
الهــاردســـك كمـخبـــأ لهــا وتـــخـــزن بهـــا البيــانــــات الحســاســـة لكــي يــصعـــب الوصــــول لهـــا
2-1-2 إستخدام أدوات RegMon
ومــن إســـم هــذة الأدوات فهـــي تراقـــب أي قرائـــة أو كتـــابة إلـــى قاعـــدة بيانـــات الريجـستـــري
وبالتــأكيــد كمــا شــاهدنـــا فـــي بـدايـــة الموضــــوع أن الريجستـــري هــــدف أغلــب الفايروســـات
2-1-3 إستخدام برامج مراقبة الشبكات Ethereal & TcpMon
وهـــذة الأدوات غنـيـــة عــن التعريـــف وهـــي أكثــر الأدوات إستــخــدام لكشـــف برامـــج التــجســس
علـــى المستــخــدم ومـــن أهمـهـــا ال Keylogger وتستــطيــــع بــواسطهـــا كشـــف أي معلــومــــــة
ترســـل مــن جهـــازك إلـــى أي جهـــاز علــى الإنترنـت أو الشبــكة ,, وتجــد بـرامــج كثيــر لمراقبـــة
الشبــكة مثــل برنامــج TcpMon وتجــد هذة الأداة في نفس موقع الأدوات السابقة وفــي نفـس الحزمــة
إلــى أننــي أفضــل أداة Ethereal كونهــا أكثــر شموليـة تجدهــا علـى موقـع
www.ethereal.comوهذة صورة من البرنامج لإكتشاف برنامج تجسس يرسل معلومات عن المستخدم لجهاز آخر عبر الشبكة
2-2 إختبار برامج النظام Debugger وتحليلها بإستخدام OLLY
قد تكتشف صعوبة موضــوع تحليـــل وإزالــة الفايروســـات في هــذا القســم لأن الأدوات السابقــة التي
رأيتها وضعت لتسهيل إكتشاف الفايروسات للمستخدمين الغير ملمين بلغات البرمجة ومبدأ عمل البرامج
بينمــا هــذا القســـم يغنيك عن أي برنامـــج أو أداة مساعــدة فقــط سنـــقوم بإستخـــدام برامــج الإختبــار
ملاحظة هـذا المجال لة إسم آخر وهوالهندسة العكسية وهو مجال واسع ما يهمنا هو تحليـل الفايروســات
برامج الإختبار يطلق عليهــا Debugger وهي في الأصل تستخدم لإختبار وتصحيح برامــج الكمبيوتر
تقوم برامج الإختبار بفك تجميع الملفات التنفيذية وتحويلها مــن لغــة الآلة وهـي0 و1 إلى لغة الإسمبلي
لأن لغة الإسمبلي هي لغة برمجة المعالج وبذلك تستطيع إكتشاف الأخطاء البرمجية في الملفات التنفيذية
كما يمكنك مراقبة عمل هذة الملفات التنفيذية بأدق التفاصيل من خــلال تشغيلها بإستخــدام Debugger
ومتابعتها تعليمة بتعليمة,,, كيف ؟
سنقــوم بالعـــودة لبدايــة الموضوع وبالتحديد فايروسات حقن الملفات تكلمنا عن طريقة عملها ولكن لم
نذكــر طريقة حذفها ولا طريقـة إصلاحها وإرجاع الملف المصاب كما كان في السابق, الآن سنذكـرها
تكلمنــا وقلنــا أن فايروســات الحقن تقــوم بعــدة خطــوات أهمــها: إنشاء قســم جديد لشفرة الفايـروس
والخطــوة الثانيــة تغييــر عنــوان بداية تنفيــذ كود البرنامـج الأصلي بهدف نقل التحكم لكود الفايروس
-
الحــل سيكــون كالتــالي بالنسبة للقسم الجديد للفايروس بكل بساطة وبإستخدام pe editor نقوم بحذفة!
أما القصــة الطويلة ستكـون تغيير عنــوان بدايــة التنفيذ لأننــا في الأصــل لا نعـرف العنوان الصحيح
ولذلك سنقــوم بإدخــال البرنامــج المصــاب إلى برنامج إختبــار لكي نقوم بتتبعة خطوة بخطوة إلى أن
نصــل إلى نقطة مهمــة ذكرناها سابقاً وهـي أن الفايـروس بعد ما يقوم بتنفيذ نفسة يقوم بالعودة للعنوان
الصحيـــح للبــرنامــج المصـــاب وبهـــذا نستطيــــع إيجــــاد العنــــوان الحقيـــقي لبـــدايــــة التنفيـــذ
نبـــدأ بتشغيـــل برنامـــج الإختبــــار Olly تجـــدة علـــى العنــوان التــالــي
http://www.ollydbg.de من قائمـــة File ثــم Open ونقــوم بإختيــار الملف المصــاب وفي موضوعنا هو برنامج الماسنجر
سيبــدأ برنامــج olly بفــك الضغــط عن البرنامــج وتحويلة إلى لغة الإسمبلي كما تشاهد في الصورة:-
وبعــد أن تنتهي عمليــة فك التجميع سيقوم برنامج olly بالإنتقال إلى عنـوان التنفيذ للبرنامــج المصــاب
وبالتأكيد فإنة غير حقيقي لأن الفــايروس قام بتغيير وبذلك فـــإن التنفيــذ سيبـــدأ داخــل كـــود الفايــروس
الآن نريد تتبع كود الفايروس خطوة خطوة بإستخدام مفتاح F8 إلى أن نصل إلى تعليمة العودة للبرنامـــج
الأصلي بعد تنفيذ الفايروس ,, ملاحظـة معرفــة وتحــديد العنــوان الحقيــقي محتــاج خبــرة في تعليمــات
الإسمبلي وخاصة تعليمة العودة وهيRENT وتعليمة القفز الغير مشروطJMP وتعليمات القفز المشروط
بالإضــافة إلى معرفة دوال API للغــة السي لكــي نستطيــع تحديد مكان تشغيل برنامج جديد على العموم
سأحــاول تلخيص الفكــرة ,, أغلب الفايروســـات تنهي التنفيذ وتنتـــقل بتعليمة JMP ,, حط تحتها خــــط
أغلب برامـــج الوندوز تبـــدأ بدالة API لتحديد عنوان بيئة البرنامج وهي الدالة GetModuleHandle
وبذلك نستطيـــع أن نقـــول أي تعليمـــة في كــود الفايروس من نوع JMP تنتقل لعنـــوان يبــــدأ ب دالـــة
GetModuleHandleA معنــى ذلك أن هذا العنـــوان هـــو عنوان كـود البرنامج الحقيقي وبهذا نكون قد
حددنا العنوان الفعلي كما تشاهد في الصورة:-
بهذا نكــون قـــد حددنا العنوان وهو 0015BCF4 نقوم بعد ذلك بتغيير عنوان بداية التنفيذ إما بواسطة
برنامجpe editor أو بواسطةolly نفسة من خلال الأمرM ويعني Memory وستجدPE للبرنامج
وبعد التغييــر نكــون قــد أرجعنــا الملف المصــاب إلى طبيعتـة وقمنــا بحــذف الفايــروس من الجهــاز
---------------------------------------
2-3 تحليل فايروسات RootKit بإستخدام برنامج Softic
آخــر التقنيــات التــي تستخــدمها الفـايروســــات مايــعــرف ب RootKit أو تقنيـــات أخفـــاء البرامـــج
خلـــونا نرجــع إلـــى مواضيــع برمجــة أنظمـــة التشغيـــل ونسترجع المعلومـــات حول إمتيـازات البرامج
الإمتيـــازات أو الحلقـــات مفهــوم متقدم جــداً في برمجـــة أنظمــة التشغيــل 32 بت مثــل وندوز ولينكـس
هــذا المفهــوم يعني أحقيــة الوصول للبرنامــج,,, هل تشــاهد كل البرامــج التي أمامــك في نظام وندوز ؟؟
مثــل برامــج الأوفيــس والملتميديـــا وبرامـــج الماسنجــر وكل البرامـــج التــي رأيتها في هذا الموضـــوع
كلها تعمـــل في الحلقــة 3 وتسمى مجال المستخدم بمعنى لا تستطيــع الوصول إلى مناطق متقدمة من نظام
التشغيل ولا تستطيع الوصول إلى الهاردويرلأن نظام التشغيل يعمل في الحلقة 0 ولة كل الإمتيازات للوصول
إلى أي مكان وبرمجـــة أي جهازبينما البرامـج العادية تعمل في الحلقة 3 ولا تستطيع الخروج عن إطار نظام التشغيل
لاحظ الصورة:-
ترى برامــج المستخدم باللــون الأزرق لا تستطيــع الوصول إلــى أي مكان إلى بإستخــدام نظام التشغيــل
-
مفهوم :RootKit قريب مــن موضـــوع الإمتيـــازات لأنة وبكل بساطــة محاولــة الوصــول إلى أماكن
متقدمــة في برمجــة الأنظمــة بهدف الأختفــاء عن أي برنامــج حماية أو مراقبــة ,, بمعنى الأدوات الــي
قـــرأنا عنــها وتعلمنــاها في بدايــــة الدرس قـــد لاتفيـــدنا فـــي كشـــف فـــايروســـات ال ROOT Kit
مفهــوم ROOT بشكل عام معروف في أنظمــة يونكس حول أحقيات الوصـــول للبرامج وأماكن عملهـا
في وندوز الأمر يختلف,,, كيف ؟
قــام مطوري فايروســـات الأنظمة بالبحث عن طرق لإخفـــاء الفايروسات وجعلها أكثر ثبـــات وخطورة
وبالفعــل وجدو طريقـــة للإستغـــلال عن طريق إستخــدام DDK أو مــا يعــرف ببرمجــة الهــاردويــر
تقـــوم شركــات إنتاج قطــع الكمبيــوتر بإرفــاق سي دي مع كل قطعة تحتوي على برنامج مرفق وظيفتة
الأساسيــة تعريف هــذة القطعــة أو الهاردوير على النـــظام وندوز,, تكون أغلب هــذة البرامــج من نوع
SYS أو VXD أو غيــرها من ملفــات النظام ,, هــذا النــوع من الملفات لــة إمتيازات كثيـرة في النظام
ونــــدوز تستـطيــع هـــذة الملفات برمجــة أي شيء لأن شغلتها الأساسيــة برمجــة الهاردويــر لتعريفهــا
وتعمـــل هــذة الملفات في بداية تشغيــل وندوز وقد تعمل قبـــل عمل ملفات النظــام وندوز وقد تعمل على
مراقبـــة النظــام نفســة وليس هــو من يراقبـــها ,,, وبهــذا نكون قد تعرفنــا على مايعرف ب RootKit
قــد تستغــرب من طريقـــة عمل هـــذة البرامـــج والأغــرب كيف سنقـــوم بحذف وإكتشـاف هذة الملفات
لأن المختصين في أمن المعلومات لم يستوعبوا الأمر بعد؟ لأن ال RootKit جديد في مجال الفايـروسات
على العمـوم ظهرت بــعض الأدوات الخفيفــة مثلRootkitRevealer في موقــع sysinternals.com
هــذة الأداة تقــوم بمســح الريجستــري وأقــراص التــخزين الهاردســك لإقتفاء أثــر أي برنامــج غامض
أو مخفي عن نظــام التشغيــل وهي مفيـــدة جـــداً وقد تكتشـــف بها أكثـــر فايـــروســــات ال RootKit
وهـــذا مثال بسيط أستطعت بواسطـــة الأداة كشف ملف يراقب الجهاز وتمكنت من حذفة,لاحظ الصورة:-
تلاحـــظ أن برنامـــج RootkitRevealer أظهر لك وصـــول برنامــج مخفي عن النظام إلى مســار في
الريجستري ,, وقمنا نحن بتحديد المســـار والإتجاة إلى الريجستـــري لنرى ملف Sys المســـؤل عن ذلك
هذا بالنسبــة لأبسط أنواع فايروسات RootKit , أما بالنسبة للأنواع الأخرى فسنحتاج برنامج softice
أكثــــر فايروســــات RootKit خطـــورة هـــي ما يعــــرف بالحقن على مستـــوى نـــواة نظام التشغيــل
سنأخـــذ مثال على هـــذة النقطة بداخــل نظام التشغيـــل ونـــدوز NT وبالـتــحديد ونـــدوز إكس بي XP
-
في البدايــة يجب أن نعرف كيف تعمــل هــذة الأنواع من الفايروســات ,, وهي في الحقيقة طرق متقدمـة
يبدأ نظام التشغيل وندوز في العمل ولا نريد أن ندخــل في تفاصيــل كثيرة يبدأ برنامــج OSLOADER
في العمل وهذا البرنامج أول برنامج يستلم التحكم من نظام BIOS
يبدأ هــذا البرنامج بمعالجة عمليــة الإقـــلاع BOOT لنظام وندوز ثم يتجة لتخطيط الصفحات الذاكريـة
لتبدأ البرامج في العمل ,,, ثم يبدأ بأهــم تعليمــة تخصنا في هــذا المجال وهي تحميــل ملفات خدمـــات
سواقــات الأجهــزة وهما الملفيــن HAL.DLL و NTOSKRNL.EXE هذة الملفات عــن طريقهـا
تعمــل سواقــات الأجهــزة وتستخدم خدماتها ,, بمعنى نستطيع مراقبة سواقات الأجهزة إذا راقبنا الدوال
المصـــدرة API من الملفيــن السـابقيـــن وتسمــى دوال API لمستــوى النــواة API Kernel-Mod
فايروسات RootKit تكون في نظام التشغيل على أساس أنها سواقات أجهزة
لاحظ مباشرة بعد تحميل الملفين السابقين يبدأ تحميل ملفات الريجستــري system32\config\system
بعـد ذلك يتـــم تحميــل سواقــات الأجهــزة وفـــي مثالنـــا الفايــروس يبـــدأ العمـــل فــي هــذة الخطـــوة
إذا عمل الفايروس في هذة المرحلة ولم يقم بأي خطوة إضافية ,, بكل بساطة بعد ظهور واجهة المستخدم
توجهة للريجستري وبالتحديد SYSTEM\CurrentControlSet\Services وأحذف مفتاح الفايروس
وبهــــذا نكـــون قــد أوقفناه عن العمــل وتمكنـــا من حذفـــة,,, ولكــن الشغلة أصعــب من كـــذا شـــوي
أكيــد فكر الي يبرمج الفايـــروس بهــذة المسألة السخيفة ووجد حل وهو ,, حقن الفايروس في أول عملية
تبـــدأ بعد تحميـــل سواقـــات الأجهــــزة وآخــــر عمليــــة تغلـــق بعد الخـــروج من مستـــوى المستخدم
هــل تعــرف لمـــاذا ؟ لكتابة مفتــاح الفايروس في الريجستري قبل ظهور واجهة المستخدم وبعد إختفائها
خلـــونا نفهم أكثـــر... بعد تحميـــل سواقات الأجهـــزة قلنا أن واجهـــة المستخـــدم تبدأ في العمــل وتظهر
نافذة "مرحبا" باللون الأزرق هذا الواجهة والتي تعرف بواجهة المستخدم المسؤل عنها برنامج Winlogon
هــذة نقطــة ,, والنقطـــة الثانية عندمـا تقوم بإغـلاق الجهاز وتظهر آخر نافذة للنظام وهـي نفسها الزرقـاء
المســؤل عنـــها هــو نفســـة برنامـــج Winlogon وبهـــذا وجدنـــا الطريقـــة وهـــي حقــن الفـايــروس
في برنامج Winlogon.exe وبالتحديد حقن كود لكتابة مفتاح تشغيل الفايروس في بداية تشغيل الكمبيوتر
وإذا حذفت القيمة سيقوم البرنامج المحقون في Winlogon بكتابة نفس الخطوة في نهاية تشغيل الكمبيوتـر
وستجــد نفسك وســط حلقـــة غير منتهيــة ولن تستطيـــع التخلص من الفايــروس,,إلى بواسطــة Softice
-
-
بنفس فكـــرة مراقبـــة البرامــج على مستـــوى المستخـــدم نراقــب السواقـــات علــى مستـوى نواة النظام
نضع نقاط توقف بواسطة السوفت آيس على دوال NTOSKRNL و HAL.DLL وبهذا نستطيع مراقبة سواقــات
الأجهــزة بقي الآن أن نعرف نراقب أي دالة ؟ بكل بساطة سنراقب دالة تشغيل سواقات الأجهزة
وهـــي الدالــة ZwLoadDriver او NtLoadDriver في المــلف NTOSKRNL.EXE
كيـــف تعرفنـــا عليهـــا,, عن طــــريق جـــدول الدوال المـــصدرة بهذا الشكــل :-
كيف نضــع نقطة توقف عليهـــا,, قم بتثبيت برنامج السوفت آيس ووضع خيــار تشغيل البرنامـج = BOOT
وأعد تشغيـــل الكمبيــوتر وفي بدايــة التشغيـــل ترى علامـــة الســـوفت آيــس قبـــل ظهـــور نظام التشغيــل
مباشرة إضغط على مفتاح Ctrl+D لتظهر نافذة البرنامج ,,, وعند مؤشر الأوامر
أكتب الأمر ZwLoadDriver bpx لتضع نقطة توقف على دالة تحميل السواقات وبعد ذلك F10 لإستمرار
التنفيــذ وستجد برنامــج softice يوقف التنفيـــذ عند تنفيذ كــل سواقـــة , بدورنا نتأكــد من السواقــة هل هي
الفايـــروس أو لا,, إذا كـــانت هــي نقوم بطمـــس تعليمـــة الإتصــالCall لتحميل السواقة عن طريق تعليمة
الإسمبــلي Nop's أو 0x90 بالهكس وبهــذا نكون منعنــا الفايـــروس من التحميـــل وبعد ذلك نتابــع التنفيــذ
إلــى أن يظهــر الدســك تــوب مباشــرة نتوجهـــة إلــى الريجستـــري ونحــذف مفتـــاح الفايــــروس علـــى
المسارSYSTEM\CurrentControlSet\Services وبعد هذة الخطوات نكون قد تخلصنا من الفايروس ,, الف مبروك