من أكبر المشاكل التي تواجه أي مختبر إختراق اثناء قيامه في عملية إختبار إختراق لنظام معين وإستخدام هجمات CSA , Client Side Attack أو ما يعرف بالهجمات من جانب العميل هي مشكلة برامج الحماية الموجوده على الأنظمة المراد عمل إختبار إختراق لها وهنا أخص بالذكر مكافحات الفايروسات التي بالغالب توجد بأي جهاز موجود بأي جهه سواء كانت حكومية أما خاصة.

من فترة كنت أقوم ببعض البحوث عن تحويل بعض الصيغ الخاصة ببرمجيات معينه وإمكانية تشغيل ملفات python على نظام windows دون اللجوء إلى مفسر python , وبالطبع قمت بالتوجه إلى py2exe الذي يشكل حل لهذه المشكلة التي واجهتني ووجدته حل لا بأس به ويعتمد عليه , وأثناء قيام بالبحث أحببت أن أقوم بتجربة تحويل ملف بايثون خاص بي يقوم بعمل إتصال عكسي مع هدف معين وتنفيذ أوامر على هذا الهدف , ونجحت العملية حيث إستطعت أن أقوم بعمل إتصال عكسي مع جهاز يعمل بنظام windows من خلال ملف تنفيذي بصيغة exe بكود يعمل بلغة python , فأحببت ان أقوم بمزيد من التطوير على هذه الألية وقمت بعمل reverse shell payload بلغة python من خلال Msfpayload وقمت بتحويله إلى ملف تنفيذي وتمت عملية الإتصال بنجاح , وبعد ما قمت بفحص الملف بأكثر من مكافح فايروسات النتيجه كانت ممتازه جداً وهي عدم كشف البرنامج من أي برنامج مكافحة فايروسات حسب موقع virustotal !

سوف نتعرف الأن على ألية التنفيذ وكيفية تنفيذ ما سبق خطوه بخطوه بإذن الله تعالى 🙂

في البداية دعونا نجهز المختبر الخاص بنا ونقوم بتنصيب python 2.5 على جهاز windows xp وهمي لدينا كما يظهر بالصورة التالية :

python25_windows

 

إخترت python 2.5 لأنها متوافقه مع برنامج py2exe المخصص بتحويل كود لغة python إلى ملف تنفيذي exe لأنظمة windows ولأنها كانت متوافره بشكل مسبق لدي 🙂 تستطيع كذلك تنفيذها على نسخ مختلفه من python وتجدها ضمن المعلومات في الموقع الخاص بالبرنامج, ويجب علينا الأن تحميل py2exe للإصدار 2.5 حسب الصورة التالية :

py2exe_install

 

حسناً بعد القيام بعملية التنصيب يجب علينا عمل مجلد جديد لكي نقوم بإضافة سكربت التحويل بالإضافة للسكربت التي نود تحويله لملف تنفيذي , سوف أقوم بعمل مجلد جديد يحمل إسم iSecur1ty على سطح المكتب كما بالصورة التالية :

py2exe_isecur1ty

 

الأن سوف نقوم بصنع ملف يحمل الإسم setup.py يحتوي على الأكواد التالية :

setup.py

هذا السكربت سوف يقوم بإستدعاء المكتبات المسؤولة عن تحويل سكربت python الخاص بنا والذي يحمل الإسم a2.py إلى ملف تنفيذي مع العلم أنك تستطيع تغير إسم الملف إلى أي إسم تريده.

بعد الإنتهاء من تجهيز المختبر الخاص بنا لا بد أن نقوم الان بإعداد العملية الهجومية التي سوف تقودنا إلى إختراق النظام , في البداية دعونا نقوم بتنفيذ الأمر msfpayload -l | grep python لكي نقوم بإستخراج جميع Metasploit payloads الخاصة بلغة Python وسوف تكون النتيجه كالتالي :

msfpayload_py2exe_shell

حسناً سوف نقوم بإختيار python/shell_reverse_tcp ونقوم بوضع الإعدادات الخاصة بنا من خلال msfpayload وهي كالتالي :

 

 

 

 

python_shell_reverse

 

كما نرى قمنا بوضع الإعدادات الخاصة بنا وأخبرنا السكربت بأننا نريد التوصل بالهوست 192.168.1.4 وعلى المنفذ 6666 , وسوف نقوم بتصدير السورس كود إلى الملف iSecur1ty.py.

الأن دعونا نلقي نظرة على الملف الناتج “iSecur1ty.py”.

 

 

 

 

exec

 

كما نرى هنالك تشفير من نوع base64 داخل السكربت ويتم تنفيذ من خلال exec , دعونا الأن نقوم بفك السورس كود لكي تكون النتيجه كالتالي :

code_base64_none

جميل جداً ! سوف نقوم الأن بوضع هذا الكود في المجلد iSecur1ty الذي قمنا بعمله في المختبر الخاص بنا ونعطيه الإسم isec.py كما في الصورة التالية :

code_windows_py2exe

 

جميل الأن دعونا نقوم بالتعديل على ملف setup.py وإستبدال a2.py  ب isec.py , وبعد تغير الإسم سوف نقوم بتطبيق الأمر setup.py py2exe من خلال شاشة cmd كما في الصورة التالية :

setup_install

 

تمام كما نلاحظ تم إنشاء ملفين build , dist , سوف نقوم الأن بالدخول إلى dist لكي نرى التالي :

py2exe_dist

 

لدينا الملف isec.exe مع العديد من الملفات الأخرى التي سوف يستخدمها الملف التنفيذي , دعونا نقوم بإعداد metasploit لكي تقوم بالتنصت على المنفذ 6666 ومن ثم تشغيل الملف ونرى ماذا سوف يحصل 😀

done_exploit

كما نرى تمكنا بشكل صحيح من الحصول على shell على النظام دون وجود أي مشاكل ! والأن دعونا نستعرض نتيجة الفحص الخاصة بالمجلد dist حيث قمت بضغطه وفحصه بإستخدام virustotal وكانت هذه النتيجه 🙂

virus_total

 

لم يتمكن أي مكافح للفايروسات من كشف البرنامج الخاص بنا وعليه تمت العملية بنجاح 🙂 ولكن يجب أن ننوه بأنه يجب تشغيل البرنامج ضمن المجلد الخاص مع الملفات المرفقه ولكن لا شيء يقف في وجه الإبداع 🙂