Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PackMyPayload — برهان مفهوم يقوم بتغليف الحمولات في حاويات إخراج لتجنب علامة Mark-of-the-Web وإظهار المخاطر المرتبطة بتنسيقات ملفات الحاويات. يدعم: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX | Kitploit
أدوات/GitHubGitHub/mgeeky/packmypayload
أدوات التصيدأمن الحاوياتأطر الاستغلالتوليد الحمولةالفريق الأحمرتطوير الحمولات
GitHubmgeeky/packmypayload

PackMyPayload

برهان مفهوم يقوم بتغليف الحمولات في حاويات إخراج لتجنب علامة Mark-of-the-Web وإظهار المخاطر المرتبطة بتنسيقات ملفات الحاويات. يدعم: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX

عرض المستودع
1.2k1715منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

PackMyPayload - التهديد الناشئ للبرامج الضارة المعبأة في حاويات

انتقل إلى الصيغ المدعومة

هذه الأداة تأخذ ملفًا أو دليلاً كمدخل وتضمّنهم في ملف إخراج يعمل كأرشيف/حاوية. يمكن أن تخدم غرض إثبات المفهوم لتقديم المخاطر الناشئة عن صيغ ملفات الحاوية مع البرامج الضارة المضمنة، بالإضافة إلى مساعدة لمشغلي الفرق الحمراء المحترفين لتحسين مناورات الوصول الأولي الخاصة بهم.

حاليًا، من المعروف أن الجهات الفاعلة للتهديدات تقوم بتهريب برامجها الضارة المؤرشفة في صيغ ملفات حاوية مختلفة، على سبيل المثال لا الحصر:

  • 7zip
  • zip
  • ISO
  • IMG

يفعلون ذلك لتجاوز ماسحات محتوى الملفات، ولكن الأهم من ذلك لتجنب وجود علامة Web of the Mark على ملفاتهم. هناك دوافع مختلفة لعدم رغبة الخصوم في وجود MOTW على ملفاتهم: عرض محمي في Microsoft Office كان دائمًا من بينها.

إذا قدموا ملف حاوية لضحاياهم، فيمكن تجاوز أساس تعطيل ماكرو VBA في مستندات Office القادمة من الإنترنت.

الخلفية

في 7 فبراير، أعلنت Microsoft تغيير التكوين الافتراضي لحظر ماكرو VBA القادم من الإنترنت. هذه خطوة لا تصدق نحو تعزيز التكوين الأساسي لمحطة عمل المستخدم والبرامج العميلة المثبتة بداخلها. يمكن القول إنها متأخرة، لكنها مع ذلك خطوة مهمة تؤثر بشكل كبير وإيجابي على إعدادات تثبيت Windows+Office النموذجية.

يتم شرح السلوك المنفذ على أنه يعمل عن طريق تمييز مستندات Office الممكّنة للماكرو بناءً على علامة MOTW (Mark of the Web). تعمل هذه العلامة كملصق ملوث متاح للبرامج العميلة (المتصفحات، عملاء البريد، برامج الأرشفة، إلخ) لوضع علامة على الملفات القادمة من مناطق غير موثوقة مثل الإنترنت.

ألقى Outflank مزيدًا من الضوء على MOTW، في عام 2020 من خلال الإشارة إلى المجالات التي لا يتم فيها نشر علامة MOTW بشكل موحد. تعمل هذه المجالات كدور فجوة دفاعية ويتم إساءة استخدامها بشكل شائع من قبل الجهات الفاعلة للتهديدات منذ سنوات حتى الآن.

كشف بحثهم أن بعض صيغ ملفات الحاوية - وهي ISO، VHD/VHDX - لا تنشر علامة التلوث MOTW إلى الملفات الداخلية عند التحميل التلقائي أو الاستخراج التلقائي. علاوة على ذلك، فإن Windows 8+ قادر على فتح هذه الصيغ تلقائيًا عند النقر المزدوج، مما يجعلها ناقلات عدوى سيئة السمعة، ربما تقلل من قيمة MOTW في دورها كإجراء أمني.

عرض توضيحي - كيف تتجنب الجهات الفاعلة للتهديدات MOTW وتهرب الماكرو

دعنا نعرض كيف تبدو علامة Mark of the Web عمليًا:

1. قم بتنزيل ملف عادي باستخدام متصفحك

1.gif

بعد تنزيل ملف، انقر بزر الماوس الأيمن عليه وراجع خصائصه.

سترى رسالة تطلب إلغاء حظر الملف، لأنه قادم من منطقة غير موثوقة:

motw

يتم تخزين هذه المعلومات في NTFS ADS (تدفق البيانات البديل) المسمى Zone.Identifier والذي يبدو كما يلي:

zone-identifier

يلعب ZoneId=3 دور وضع علامة على الملف على أنه ملوث.

2. قم بتعبئة هذا الملف في ISO

باستخدام PackMyPayload.py، ضع الملف في قرص ISO Joliet بسهولة باستخدام الأمر:

root@kitploit:~
PS> py PackMyPayload.py 7z2107-x64.exe 7z2107-x64.iso

2.gif

3. قم بتقديم الملف باستخدام خادم HTTP بسيط، قم بتنزيله، افتح ISO، راجع MOTW

بعد إنشاء ملف ISO، قم بمحاكاة خادم HTTP باستخدام Python:

root@kitploit:~
PS> py -m http.server 80

ثم قم بتنزيل ملف ISO باستخدام متصفحك.

3.gif

عند مراجعة خصائص ملف ISO هذا، سترى أنه موسوم بعلامة MOTW.

marked

ومع ذلك، ملف المثبت 7zip الداخلي EXE غير موسوم بـ MOTW!

not-marked


الأساس المنطقي

باستخدام الفرصة التي تركز فيها أعين الصناعة على قرار Microsoft الشجاع بحظر ماكرو VBA، نحن، باحثو الأمن المحترفون الذين يضعون في الاعتبار الأهمية القصوى لزيادة مرونة تقنيات العالم ضد إساءة استخدامها، نريد إضافة الرؤية التالية إلى TTPs الحالية للجهات الفاعلة للتهديدات:

الجهات الفاعلة للتهديدات تدرك جيدًا تأثير MOTW على حمولات التصيد الخاصة بها. لقد تكيفوا منذ فترة طويلة وهم الآن يهربون برامجهم الضارة داخل الحاويات. من بين أكثرها شيوعًا يمكننا تسليط الضوء على ISO، IMG، CAB.

أنا الآن أصدر هذه الأداة لزيادة الزخم المبني على موقف Microsoft وللمساعدة في تكثيف المناقشات حول هذه السبل للتهرب.

يُنصح باحتواء (و/أو حظر) الملفات ذات الامتدادات المذكورة أعلاه عندما تأتي من مناطق غير موثوقة وحيثما ينطبق ذلك:

  • الوكلاء (Proxies) على الويب
  • محركات فحص البريد الإلكتروني
  • عوامل حماية نقطة النهاية - EDRs، XDRs، AVs
  • نماذج رفع الملفات ووظائفها

نأمل أن تمكن الأداة التي تم إصدارها المزيد من الفرق الحمراء من محاكاة المخاطر التي تمت مناقشتها ومساعدتهم في تحديد فجوات الكشف داخل دفاعات شركائهم بسهولة أكبر.


الميزات

يقدم هذا البرنامج النصي المزايا والهدايا التالية:

  • يحزم ملف الإدخال أو الدليل في حاوية الإخراج
  • يمكنه إدخال باب خلفي في الحاويات الموجودة أو إنشاء حاويات جديدة.
  • يوفر تشفير كلمة المرور للصيغ المدعومة

الصيغ المدعومة:

  • في حالة ZIP، يمكن إزالة MOTW عند إساءة استخدام CVE-2022-41091. PackMyPayload بشكل افتراضي يضع علامة على الملفات ZIP الداخلية للقراءة فقط ما لم يتم إعطاء --zip-noreadonly.

التثبيت

  • استنساخ هذا المستودع
  • تثبيت المتطلبات:
root@kitploit:~
cmd> pip3 install -r requirements.txt

مثال على الاستخدام

  1. حزم دليل مع ملفات إلى ISO:
root@kitploit:~
PS> py PackMyPayload.py C:\my\dir malicious.iso -v

+      o     +              o   +      o     +              o
    +             o     +           +             o     +         +
    o  +           +        +           o  +           +          o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------,      o
   :: PACK MY PAYLOAD (1.2.0)       -_-_-_-_-_-_-|   /\_/\
   for all your container cravings   -_-_-_-_-_-~|__( ^ .^)  +    +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-''  ''
+      o         o   +       o       +      o         o   +       o
+      o            +      o    ~   Mariusz Banach / mgeeky    o
o      ~     +           ~          <mb [at] binary-offensive.com>
    o           +                         o           +           +

[.] Packaging input file to output .iso (iso)...
Burning files onto ISO:
    Adding file: //malicious.lnk
    Adding file: //malicious.docm
[INFO] [+] File packaged into ISO.
[INFO] Successfully packed input file.

[+] Generated file written to (size: 69632): malicious.iso
  1. لحزم الملفات إلى VHD/VHDX، يجب تشغيل هذا البرنامج النصي على Windows من سياق مستخدم مرتفع (مثل مسؤول محلي). وذلك بسبب أن DISKPART يتطلب وصول المسؤول إلى كائنات/مساحة أسماء الأجهزة الفعلية. أفضل تجربة يحصل عليها المرء عند تشغيل البرنامج النصي على Windows Terminal (wt) أو ConEmu حيث يدعمان ألوان ANSI. وإلا، إذا كان الإخراج يبدو سيئًا، فقم بتعطيل هذه الألوان باستخدام العلم -N:
root@kitploit:~
PS> py PackMyPayload.py .\evil.lnk .\evil.vhd -v -N

+      o     +              o   +      o     +              o
    +             o     +           +             o     +         +
    o  +           +        +           o  +           +          o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------,      o
   :: PACK MY PAYLOAD (1.2.0)       -_-_-_-_-_-_-|   /\_/\
   for all your container cravings   -_-_-_-_-_-~|__( ^ .^)  +    +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-''  ''
+      o         o   +       o       +      o         o   +       o
+      o            +      o    ~   Mariusz Banach / mgeeky    o
o      ~     +           ~          <mb [at] binary-offensive.com>
    o           +                         o           +           +

[.] Packaging input file to output .vhd (vhd)...
[INFO] Drive letters currently occupied:
    X
    C
    Z
    D
[INFO] Will create VHD of size:    1024MB (Dynamic)
[INFO] Will assign VHD letter :    V:
[INFO] Will format VHD with   :    FAT32
[INFO] Creating VHD file...
[+] Created & mounted VHD file on V:\
[.] Packing files into created VHD...
[INFO] Packaged file:
[INFO]     evil.lnk => V:\
[.] Detaching VHD file...
[+] Detached VHD file from V:\
[INFO] [+] File packaged into VHD.
[INFO] Successfully packed input file.

[+] Generated file written to (size: 6311936): evil.vhd

الاستخدام الكامل

root@kitploit:~
usage:
+      o     +              o   +      o     +              o
    +             o     +           +             o     +         +
    o  +           +        +           o  +           +          o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------,      o
   :: PACK MY PAYLOAD (1.3.0)       -_-_-_-_-_-_-|   /\_/\
   for all your container cravings   -_-_-_-_-_-~|__( ^ .^)  +    +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-''  ''
+      o         o   +       o       +      o         o   +       o
+      o            +      o    ~   Mariusz Banach / mgeeky    o
o      ~     +           ~          <mb [at] binary-offensive.com>
    o           +                         o           +           +

Usage: PackMyPayload.py [options] <infile> <outfile>

options:
  -h, --help            show this help message and exit

Required arguments:
  infile                Input file/directory to be packaged into output archive/container
  outfile               Output file with extension pointing at output format

Options:
  -v, --verbose         Verbose mode.
  -d, --debug           Debug mode.
  -N, --nocolor         Dont use colors in text output.
  -i BACKDOOR, --backdoor BACKDOOR
                        Instead of generating blank new output container/archive, will backdoor existing input one.
  -n NAME, --filename NAME
                        Package input file into archive/container under this filename (may contain relative path).
  -p PASSWORD, --password PASSWORD
                        If output archive/container format supports password protection, use this password to protect
                        output file.
  --out-format {zip,7z,iso,img,cab,pdf,vhd,vhdx}
                        Explicitely define output format disregarding output file's extension. Can be one of
                        following: zip, 7z, iso, img, cab, pdf, vhd, vhdx
  -H HIDE, --hide HIDE  (Supported in ISO/IMG, ZIP) Set hidden attribute on file(s). Cannot be repeated, only comma-
                        separated. Example: --hide icon.ico,evil.exe . Supports wildcards: --hide icon?.*

ZIP specific options:
  --zip-noreadonly      DISABLE ZIP MOTW bypass that is used by default. By default, PackMyPayload marks Office files
                        as Read-Only making ZIP software unable to set MOTW flag on them when extracted. This option
                        disables that behavior.

VHD specific options:
  --vhd-size SIZE       VHD dynamic size in MB. Default: 1024
  --vhd-letter LETTER   Drive letter where to mount VHD drive. Default: will pick unused one at random.
  --vhd-filesystem FS   Filesystem to be used while formatting VHD. Default: FAT32. Supported: fat, fat32, ntfs

=====================================================

Supported container/archive formats:

        - zip
        - 7z
        - iso
        - img
        - cab
        - pdf
        - vhd
        - vhdx

=====================================================

المشكلات المعروفة

  • لا يمكن إنشاء أدلة أثناء نسخ الملفات إلى وحدات التخزين المركبة VHD/VHDX.

المهام المستقبلية

  • إضافة دعم لملفات MSI

  • تضمين الملفات في مستندات MS Office 2007+: word -> embeddings -> oleObject1.bin (دفق OLE) + ضبط

  • التفكير في إضافة دعم لصيغ أرشيف غريبة أخرى (لا تتعامل حقًا مع MOTW أو مدعومة خارج الصندوق بواسطة Windows):

    • tar
    • cpio
    • pax
    • xar
    • ar
    • mtree
    • shar
    • tar
    • cpgz
    • uu

تافهة

أطلب منك بلطف قراءة السطر التالي بصوت عالٍ وبأسرع ما يمكنك أمام المرآة:

root@kitploit:~
py Pack My Payload dot py

يقول البعض أن التعويذة تستحضر DAEMON القديم والأغنام ( ͡~ ͜ʖ ͡°)


المساهمون

تصفيق حار وشكر للمساهمين التاليين الذين ساعدوا في تحسين هذه الأداة:

  • @ChoiSG (@_choisec) - أضاف العلم --hide لإخفاء الملفات في حاويات ISO/IMG
  • Daniel Hauenstein (@dhauenstein) - أصلح مشكلة مع العلم --hide

☕ أظهر الدعم ☕

هذا المشروع وغيره هي نتاج ليالٍ بلا نوم والكثير من العمل الشاق. إذا أعجبك ما أفعله وتقدر أنني دائمًا أعود إلى المجتمع، فكر في شراء قهوة لي (أو أفضل: بيرة) فقط لتقول شكرًا! 💪


root@kitploit:~
Mariusz Banach / mgeeky, (@mariuszbit)
<mb [at] binary-offensive.com>
تنزيل الأداة
الصيغةهل تزيل MOTW؟هل مدعومة من Windows خارج الصندوق؟هل يلزم رفع الامتيازات؟ملاحظات
Zipلا/نعم*نعملا(MOTW تمت إزالتها مع CVE-2022-41091)
7zipجزئيًالالاMOTW تُزال فقط عند استخراج الملفات يدويًا
ISOنعمنعملا
IMGنعمنعملا
PDF?نعملايعتمد على دعم Javascript في قارئ PDF
CABلانعملايتطلب بضع نقرات إضافية من جانب الضحية
VHDنعمنعمنعمهذا البرنامج النصي لا يمكنه حاليًا عمل أدلة
VHDXنعمنعمنعمهذا البرنامج النصي لا يمكنه حاليًا عمل أدلة
  • lha
  • WinZip Pro يدعم أيضًا استخراج الصيغ التالية - ربما يستحق إضافتها أيضًا:

    • B64, BHX, BZ, BZ2, GZ, HQX, LHA, LZH, MIM, TAZ, TBZ,
    • TBZ2, TGZ, TXZ, TZ, UU, UUE, VMDK, XXE, XZ, Z, ZIPX,