




السمعة:
- إنضم11 ديسمبر 2023
- المشاركات 184
- الحلول 10
- مستوى التفاعل 281
- النقاط 63
السلام عليكم ورحمة الله وبركاته
في البداية آسف على الغياب , درسنا اليوم عن كسر حماية UPx ولدينا طريقتين الأولى سهلة هي باستعمال الpacker upx وإعطاءه أمر بسيط
لكن نحن في الشل لا نحب السهل هههه
لذا سنقوم بفكها يدوياً و السبب الحقيقي وراء دلك هو لتقريب مفهوم هذه الحماية و كلما أوسّخنا أيدينا في فك شيء يدويًا نتعلم أكثر لكي نواجه حمايات أقوى و أعند دون خوف.
الفرق بين الضاغط و المشفر:
سأستعمل كلمة packer كثيراً والذي يجب أن يفهمه البعض أن هذا الباكر يستعمله الهاكرز للتشفير لكن كلمة تشفير هنا ليست في محلها لأن UPX ليس crypter بل packer
والباكر يا أصدقاء طريقة لضغط الملف (executable file) ودمج البيانات المضغوطة مع رمز إلغاء الضغط (unpacking stub) في ملف واحد. لذلك، عند تنفيذ الملف، يقوم stub بفك نفسه وإعادة إنشاء الكود الأصلي من الكود المضغوط قبل تنفيذه.
نبدة عن UPX :
UPX (Universal Packer for Executables)
هو أحد هذه البرامج مفتوحة المصدر، ومجانية وسهلة الاستخدام، والمتوفرة اليوم على الإنترنت ويستخدمها في الغالب malware authors لضغط برامجهم الضارة, بحيث يمكنها تجاوز الكشف عن طريق توقيعات مكافحة الفيروسات. يدعم UPX جميع أنظمة التشغيل الرئيسية ومنصتي x86 وx64
بداية نقوم بتحميل UPX نسخة 4.2.4 32bit
لدينا برنامج صغير باسم SH3ll هو عبارة عن تمرين صغير للكسر غير مضغوط
بعد فحصه نرى أنه غير محمي ومكتوب بلغة ASSEMBLY
بعدها نقوم بضغطه باستعمال الأمر التالي:
في البداية آسف على الغياب , درسنا اليوم عن كسر حماية UPx ولدينا طريقتين الأولى سهلة هي باستعمال الpacker upx وإعطاءه أمر بسيط
لكن نحن في الشل لا نحب السهل هههه
لذا سنقوم بفكها يدوياً و السبب الحقيقي وراء دلك هو لتقريب مفهوم هذه الحماية و كلما أوسّخنا أيدينا في فك شيء يدويًا نتعلم أكثر لكي نواجه حمايات أقوى و أعند دون خوف.

سأستعمل كلمة packer كثيراً والذي يجب أن يفهمه البعض أن هذا الباكر يستعمله الهاكرز للتشفير لكن كلمة تشفير هنا ليست في محلها لأن UPX ليس crypter بل packer
والباكر يا أصدقاء طريقة لضغط الملف (executable file) ودمج البيانات المضغوطة مع رمز إلغاء الضغط (unpacking stub) في ملف واحد. لذلك، عند تنفيذ الملف، يقوم stub بفك نفسه وإعادة إنشاء الكود الأصلي من الكود المضغوط قبل تنفيذه.

UPX (Universal Packer for Executables)
هو أحد هذه البرامج مفتوحة المصدر، ومجانية وسهلة الاستخدام، والمتوفرة اليوم على الإنترنت ويستخدمها في الغالب malware authors لضغط برامجهم الضارة, بحيث يمكنها تجاوز الكشف عن طريق توقيعات مكافحة الفيروسات. يدعم UPX جميع أنظمة التشغيل الرئيسية ومنصتي x86 وx64
بداية نقوم بتحميل UPX نسخة 4.2.4 32bit
لدينا برنامج صغير باسم SH3ll هو عبارة عن تمرين صغير للكسر غير مضغوط
بعد فحصه نرى أنه غير محمي ومكتوب بلغة ASSEMBLY
بعدها نقوم بضغطه باستعمال الأمر التالي:
upx.exe -9 SH3LL.EXE -o SH3LL-packed.exe
كما في الصورة:
ملاحظة: يجب أن يكون البرنامج كبير نوعاً ما أكثر من 10kb على الأقل لكي يتم ضغطه
بالنسبة لأمر cmd و الرقم 9 هناك مستويات للضغط يمكنك الاختيار بينها من 1 الى 9 , نحن استعملنا 9 و نفضل ذلك الـ compression ratio على السرعة
نرى أن حجم الملف أصبح أصغر.
نقوم بفحص الملف الجديد:
الملف محمي
هناك طريقة أُخرى لفحص بعد الـ packers هو بالبحث عن import table الخاصة به .البعض منهم يختارها كما في حالة UPX

نفتح الآن البرنامج بأي مُنقح:
نرى أن أول تعليمة هي PUSHAD و بما أننا نستعمل نسخة 32 بيت
هذه التعليمة سنقوم بدفع كل ال32 bit registers إلى stack ويبدأ عمل UPX هنا , وسنرى هذا الpattern يتكرر في كل نسخ هذا الباكر
نقوم بوضع breakpoint في ااentry point وبعدها نذهب للتعليمة الثانية و نقوم بـ dump لESP register
نقوم بعدها بوضع HARDWARE BREAKPOINT لDWORD لنقف عندما نصل لتعليمة POPAD التي دائماً تأتي بعد PUSHAD لنسترجع الregisters
والتي غالبًا سنجد بعدها ملفنا الأصلي بعد أن قام UPX بسحره المعتاد
نقوم باستكمال التنقيح وسنجد أنفسنا بعد تعليمة popad , جميل
نرى تعليمة قفز غير مشروطة و بعدها instructions بدون معنى و هذه القفزة لمكان بعيد
غالباً ستكون هي الentry point الأصلية نتبع القفزة و نجد انفسنا هنا
هذا هو البرنامج الأصلي سنقوم بعمل DUMP للملف باستعمال OLLYDUMP
الملف بعدها:
لن يشتغل الملف لأنه الـ Import Address Table غير مُصلحة, نقوم بتشغيل البرنامج المحمي لنجد الimports الأصلية بscylla
نقوم باختيار البروسس الخاص بالبرنامج المحمي و نضغط ونختار ملفنا الذي سبق و عملنا له dump
ونشغل برنامجنا ومبروك لقد قمت بفك الحماية manually
أي تساؤل أنا جاهز
والسلام عليكم و رحمة الله و بركاته
التعديل الأخير بواسطة المشرف: