
تضمين وإخفاء أي ملف داخل ملف HTML
المؤلف: Arno0x0x - @Arno0x0x
ما تفعله هذه الأداة هو أخذ ملف (أي نوع من الملفات)، تشفيره، وتضمينه في ملف HTML كمورد، مع روتين تنزيل تلقائي يحاكي نقر المستخدم على المورد المضمّن.
ثم، عندما يتصفح المستخدم ملف HTML، يتم فك تشفير الملف المضمّن مباشرة، وحفظه في مجلد مؤقت، ثم يتم تقديم الملف للمستخدم كما لو كان يتم تنزيله من الموقع البعيد. اعتمادًا على متصفح المستخدم ونوع الملف المقدم، يمكن للمتصفح فتح الملف تلقائيًا.
تأتي هذه الأداة بنسختين، توفران نفس الوظيفة العامة ولكن مع بعض التغييرات الطفيفة في طريقة الاستخدام:
نص بايثون يقوم بإنشاء ملف HTML الناتج بناءً على قالب، باستخدام روتينات تشفير RC4، وتضمين مفتاح فك التشفير داخل ملف الإخراج. يمكن للمستخدم المستهدف تصفح HTML الناتج أو إرساله كمرفق.
HTML/جافا سكريبت يمكنك سحب الملف إليه ليتم تشفيره، والذي يقوم بإنشاء ملف HTML الناتج، باستخدام WebCrypto API، ولكن دون تضمين مواد فك التشفير (المفتاح والعداد). بدلاً من ذلك، يتم عرض مواد فك التشفير كمجموعة من معلمات URL التي ستضاف إلى عنوان URL يشير إلى ملف HTML الناتج: http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter. وبالتالي لا يمكن إرسال ملف HTML الناتج كمرفق.
الميزة الرئيسية لهذه التقنية هي أن مواد فك التشفير غير مضمّنة في الملف نفسه، مما يمنع التحليل وحتى استرجاع الحمولة بواسطة أي نظام لا يملك عنوان URL الكامل (مثل: بروكسي اعتراض).
ملاحظات جانبية:
تم استلهام هذه الأداة واشتقاقها من الأداة الرائعة 'demiguise': https://github.com/nccgroup/demiguise
دالة b64AndRC4 المستخدمة على الإدخال الثنائي (من ملف XLL) هي مزيج من: https://gist.github.com/borismus/1032746 و https://gist.github.com/farhadi/2185197
تحقق من https://gist.github.com/Arno0x/f71a9db515ddea686ccdd77666bebbaa لإنشاء XLL ضار بسهولة وهو مثال مثالي لوثيقة ضارة يمكن محاولة تسليمها بهذه الطريقة.
في قالب HTML (ملف html.tpl) يُنصح بإدراج دالة اشتقاق مفتاح بيئي خاص بك بدلاً من 'keyFunction'. يجب اشتقاق المفتاح من البيئة بحيث يعمل فقط على الهدف المقصود (وليس في صندوق حماية).
يتم توفير عدد قليل من ملفات أمثلة الحمولات في مجلد payloads_examples. على سبيل المثال، calc.xll هو ملف إضافة Excel (XLL) يحتوي على شيل كود metasploit لعمليات x86 لتشغيل عملية calc.exe.
استخدام نص بايثون
1/ قم بإنشاء ملف HTML ضار من ملف XLL، مع مفتاح سري:
python embedInHTML.py -k mysecretkey -f example_calc.xll -o index.html
2/ عرض ملف HTML على خادم ويب (يمكن تشغيله اختياريًا لك باستخدام العلم -w)
استخدام HTML/جافا سكريبت
1/ افتح ملف embedInHTML.html داخل متصفح
2/ قم ببساطة بسحب ملف الحمولة إلى الصفحة (يمكنك تغيير اسم ملف الإخراج اختياريًا)
3/ احفظ الملف الناتج ولاحظ مواد فك التشفير كمعلمات URL لتضاف إلى اسم الملف بالشكل: http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter
في النهاية...
وجّه متصفح الهدف إلى ملف HTML ودع السحر يحدث:
هذه الأداة مخصصة للاستخدام بطريقة قانونية ومشروعة فقط:
نقلاً عن مؤلفي Empire: لا توجد طريقة لبناء أدوات هجومية مفيدة لصناعة أمن المعلومات الشرعية بينما يتم في نفس الوقت منع الجهات الخبيثة من إساءة استخدامها.