
أداة استخراج RunPE (و MapViewOfSection) المستندة إلى Frida.re
FridaExtract هي أداة استخراج RunPE تعتمد على Frida.re. RunPE هي تقنية حقن شائعة يستخدمها البرامج الضارة لإخفاء الكود داخل عملية أخرى. وهي أيضًا المرحلة الأخيرة في العديد من أدوات التغليف : )
ملاحظة: تدعم Frida الآن أيضًا استخراج ملفات PE المحقونة باستخدام تقنية "MapViewOfSection" الموضحة بشكل أفضل هنا.
باستخدام FridaExtract يمكنك استخراج وإعادة بناء ملف PE تم حقنه باستخدام طريقة RunPE تلقائيًا... وتجاوز أدوات التغليف هذه!
هناك العديد من الأدوات الرائعة التي تستخرج بالفعل كود RunPE المحقون، وFridaExtract ليست أفضل من هذه. لكنها أسهل في التثبيت، وأسهل في البناء (lol)، وأسهل في التشغيل، وأسهل في التعديل. لا حاجة لمترجمات أو بيئات بناء، فقط pip install بسيطة ويمكنك البدء.
الكود مُعَلَّق ومنظم بشكل خاص ليكون نموذجًا لبناء مشاريع Frida الخاصة بك. هذا أكثر من إثبات مفهوم يوضح كيفية إعداد الخطافات في بيئة Windows. يُرجى نسخ ولصق وتعديل هذا بأي طريقة تريدها!
تحذير: FridaExtract يعمل فقط تحت Windows 32 بت. يوجد حاليًا بعض الأخطاء الغامضة مع wow64 لذا نوصي بالالتزام بـ Windows7 32 بت أو Windows Server 2008 32 بت.
pip install frida في cmdFridaExtract قادر فقط على استخراج ملفات PE المحقونة بطريقة RunPE، لذا فهي محدودة إلى حد ما. إذا كنت تستخدم جهازًا افتراضيًا سهل التقاط اللقطة وتشغيلها والتراجع عنها، فيمكنك تجربة FridaExtract بشكل أعمى على كل عينة برنامج ضار ورؤية النتائج، لكننا لا نوصي بذلك. بدلاً من ذلك، FridaExtract مكمل جيد لصندوق الرمل (نحن <3 malwr). أولاً قم بتشغيل العينة في صندوق الرمل ولاحظ استدعاءات API.
بالنسبة لتقنية RunPE إذا رأيت استدعاءات API التالية فقد تكون FridaExtract الأداة المناسبة لك:
بالنسبة لتقنية MapViewOfSection إذا رأيت استدعاءات API التالية فقد تكون FridaExtract الأداة المناسبة لك:
بشكل افتراضي، ستحاول FridaExtract استخراج ملف PE المحقون تلقائيًا وإعادة بنائه وحفظه في ملف باسم dump.bin.
python FridaExtract.py bad.exe
يمكن تحديد ملف الحفظ باستخدام الأمر --out_file.
python FridaExtract.py bad.exe --out_file extracted.exe
إذا كان ملف PE المعبأ الذي تحاول استخراجه يتطلب وسائط، يمكنك تمريرها باستخدام الأمر --args. يمكن تمرير وسائط متعددة مفصولة بفاصلة.
python FridaExtract.py bad.exe --args password
ستحاول FridaExtract تلقائيًا إعادة بناء الذاكرة المحفوظة إلى ملف PE. إذا لم ينجح ذلك وتريد حفظًا خامًا لكل الذاكرة المكتوبة إلى العملية الفرعية، يمكنك استخدام الأمر --raw. بدلاً من كتابة PE المعاد بناؤه إلى ملف الحفظ، سيتم كتابة أجزاء الذاكرة الخام بترتيب العناوين.
python FridaExtract.py bad.exe --raw
تستخدم FridaExtract خطافات على واجهات برمجة التطبيقات التالية لاستخراج ملف PE المحقون:
لتتبع واجهات برمجة التطبيقات هذه وطباعة النتائج استخدم الأمر -v أو --verbose.
python FridaExtract.py bad.exe --verbose
تستخدم Frida خطافات على مستوى المستخدم يمكن تجاوزها بسهولة. إذا كنت بحاجة إلى أداة DBI أكثر قوة، جرب PIN! مثال رائع على استخدام PIN لاستخراج RunPE مقدم هنا.
تقوم Frida بحقن بيئة تشغيل JavaScript في العملية التي تحللها، وهي ليست خفية. للحصول على نظرة عامة جيدة حول كيفية اكتشاف Frida بواسطة البرامج الضارة، تحقق من هذا.