مقال : إستخدام py2exe في تشفير Metasploit Reverse Shell وتخطي مكافحات الفايروسات
من أكبر المشاكل التي تواجه أي مختبر إختراق اثناء قيامه في عملية إختبار إختراق لنظام معين وإستخدام هجمات CSA , Client Side Attack أو ما يعرف بالهجمات من جانب العميل هي مشكلة برامج الحماية الموجوده على الأنظمة المراد عمل إختبار إختراق لها وهنا أخص بالذكر مكافحات الفايروسات التي بالغالب توجد بأي جهاز موجود بأي جهه سواء كانت حكومية أما خاصة.
من فترة كنت أقوم ببعض البحوث عن تحويل بعض الصيغ الخاصة ببرمجيات معينه وإمكانية تشغيل ملفات python على نظام windows دون اللجوء إلى مفسر python , وبالطبع قمت بالتوجه إلى py2exe الذي يشكل حل لهذه المشكلة التي واجهتني ووجدته حل لا بأس به ويعتمد عليه , وأثناء قيام بالبحث أحببت أن أقوم بتجربة تحويل ملف بايثون خاص بي يقوم بعمل إتصال عكسي مع هدف معين وتنفيذ أوامر على هذا الهدف , ونجحت العملية حيث إستطعت أن أقوم بعمل إتصال عكسي مع جهاز يعمل بنظام windows من خلال ملف تنفيذي بصيغة exe بكود يعمل بلغة python , فأحببت ان أقوم بمزيد من التطوير على هذه الألية وقمت بعمل reverse shell payload بلغة python من خلال Msfpayload وقمت بتحويله إلى ملف تنفيذي وتمت عملية الإتصال بنجاح , وبعد ما قمت بفحص الملف بأكثر من مكافح فايروسات النتيجه كانت ممتازه جداً وهي عدم كشف البرنامج من أي برنامج مكافحة فايروسات حسب موقع virustotal !
سوف نتعرف الأن على ألية التنفيذ وكيفية تنفيذ ما سبق خطوه بخطوه بإذن الله تعالى 🙂
في البداية دعونا نجهز المختبر الخاص بنا ونقوم بتنصيب python 2.5 على جهاز windows xp وهمي لدينا كما يظهر بالصورة التالية :
إخترت python 2.5 لأنها متوافقه مع برنامج py2exe المخصص بتحويل كود لغة python إلى ملف تنفيذي exe لأنظمة windows ولأنها كانت متوافره بشكل مسبق لدي 🙂 تستطيع كذلك تنفيذها على نسخ مختلفه من python وتجدها ضمن المعلومات في الموقع الخاص بالبرنامج, ويجب علينا الأن تحميل py2exe للإصدار 2.5 حسب الصورة التالية :
حسناً بعد القيام بعملية التنصيب يجب علينا عمل مجلد جديد لكي نقوم بإضافة سكربت التحويل بالإضافة للسكربت التي نود تحويله لملف تنفيذي , سوف أقوم بعمل مجلد جديد يحمل إسم iSecur1ty على سطح المكتب كما بالصورة التالية :
الأن سوف نقوم بصنع ملف يحمل الإسم setup.py يحتوي على الأكواد التالية :
هذا السكربت سوف يقوم بإستدعاء المكتبات المسؤولة عن تحويل سكربت python الخاص بنا والذي يحمل الإسم a2.py إلى ملف تنفيذي مع العلم أنك تستطيع تغير إسم الملف إلى أي إسم تريده.
بعد الإنتهاء من تجهيز المختبر الخاص بنا لا بد أن نقوم الان بإعداد العملية الهجومية التي سوف تقودنا إلى إختراق النظام , في البداية دعونا نقوم بتنفيذ الأمر msfpayload -l | grep python لكي نقوم بإستخراج جميع Metasploit payloads الخاصة بلغة Python وسوف تكون النتيجه كالتالي :
حسناً سوف نقوم بإختيار python/shell_reverse_tcp ونقوم بوضع الإعدادات الخاصة بنا من خلال msfpayload وهي كالتالي :
كما نرى قمنا بوضع الإعدادات الخاصة بنا وأخبرنا السكربت بأننا نريد التوصل بالهوست 192.168.1.4 وعلى المنفذ 6666 , وسوف نقوم بتصدير السورس كود إلى الملف iSecur1ty.py.
الأن دعونا نلقي نظرة على الملف الناتج “iSecur1ty.py”.
كما نرى هنالك تشفير من نوع base64 داخل السكربت ويتم تنفيذ من خلال exec , دعونا الأن نقوم بفك السورس كود لكي تكون النتيجه كالتالي :
جميل جداً ! سوف نقوم الأن بوضع هذا الكود في المجلد iSecur1ty الذي قمنا بعمله في المختبر الخاص بنا ونعطيه الإسم isec.py كما في الصورة التالية :
جميل الأن دعونا نقوم بالتعديل على ملف setup.py وإستبدال a2.py ب isec.py , وبعد تغير الإسم سوف نقوم بتطبيق الأمر setup.py py2exe من خلال شاشة cmd كما في الصورة التالية :
تمام كما نلاحظ تم إنشاء ملفين build , dist , سوف نقوم الأن بالدخول إلى dist لكي نرى التالي :
لدينا الملف isec.exe مع العديد من الملفات الأخرى التي سوف يستخدمها الملف التنفيذي , دعونا نقوم بإعداد metasploit لكي تقوم بالتنصت على المنفذ 6666 ومن ثم تشغيل الملف ونرى ماذا سوف يحصل 😀
كما نرى تمكنا بشكل صحيح من الحصول على shell على النظام دون وجود أي مشاكل ! والأن دعونا نستعرض نتيجة الفحص الخاصة بالمجلد dist حيث قمت بضغطه وفحصه بإستخدام virustotal وكانت هذه النتيجه 🙂
لم يتمكن أي مكافح للفايروسات من كشف البرنامج الخاص بنا وعليه تمت العملية بنجاح 🙂 ولكن يجب أن ننوه بأنه يجب تشغيل البرنامج ضمن المجلد الخاص مع الملفات المرفقه ولكن لا شيء يقف في وجه الإبداع 🙂
تسلم اخى محمد عسكر على ما تقدمه من شروحات لتوعية المستخدم العربى وتفيد ايضا رجل امن المعلومات
ولكن لدى نقطه لم افهما ماذا فعلت فى ال CMD
وكم يبلغ حجم البايلود بعد التلاعب فيه !
شكراً جزيلاً لك عزيزي 🙂 .. حجم البايلود من الممكن أحياناً أن يصل إلى 2 ميجا بايت أو أقل قليلاً
ارجو لك دوام التوفيق والتقدم بالعمل الذي تحب
مبروك بعد فحص في virustotal رح تكشف تشفيرة -_-
chokran 🙂
اخي الكريم .. الدفاع الاستباقي؟
أخي الكريم لدي سؤال لك . هل استطيع تشفير ال bind shill أيضا وتخطي الجدار الناري لويندوز 7 ؟
بالطبع عزيزي تستطيع تشفير Bind Shell أيضاً .. بخصوص الجدار الناري قم بتجربة التقنية وشاركنا تجربتك 🙂
كل الاحترام والتقدير الك اخ محمد.
صراحة انت شخص مبدع
تحياتي
ما رأيك لو قمت بفحص جميع الملفات المربوطة مع البرنامج
و التي لايشتغل بدونها
(ألن تكون حينها أكثر ذكاء)
على كل شكرا على الدروس التي تقدمونها
اما عن الفحص في فيروس توتال فسوف يكشف
يجب الفحص في موقع لا يرسل قيم
الملفات الناتجة عزيزي هي مكتبات وبعض الأمور بالطبع يستخدمها البرنامج ولا يعمل من دونها ، ولكن لا شيء بعالم الحماية يأتي على طبق من ذهب ، فكر قليلاً كيف سوف تستطيع تشغيل جميع هذه الملفات مره واحده وحينها سوف تخرج بفكرة رائعة لتشغيل الملف مع المرفقات بشكل خفي ولا يُثير الشبهات
مدهش و رائئئئئع
الاحترام للأستاذ محمد
لكن هذا يكون هجوم داخلي كيف اجعله هجوم خارجي