الكود الذي تشغله على الهدف
الـ payload هو قطعة الكود التي تحدد الأفعال التي يريد المهاجم القيام بها على الجهاز المستهدف بعد نجاح الاستغلال.
1. الـ Payloads غير المرحلية (Non-Staged/Single-Stage)
- التعريف: يتم إرسال الـ payload بالكامل (shell code) دفعة واحدة، في كتلة واحدة.
- المميزات: أبسط، اتصالات أقل، وغالباً ما تكون أكثر موثوقية على الأهداف غير المستقرة.
- العيوب: يجب أن يكون الكود صغيراً بما يكفي ليناسب حدود حجم المخزن المؤقت/الاستغلال.
- مثال:
windows/shell_reverse_tcp(وهو shell بسيط لموجه الأوامر).
2. الـ Payloads المرحلية (Staged Payloads)
- التعريف: يتم تسليم الـ payload على جزأين: مرحلة أولية صغيرة (الـ stager) تفتح اتصالاً، والمرحلة الثانية الأكبر (الـ payload الفعلي، مثل Meterpreter) التي يتم تحميلها عبر الاتصال الذي تم إنشاؤه.
- المميزات: بصمة أولية أصغر، تسمح بـ payloads معقدة مثل Meterpreter.
- العيوب: تتطلب مرحلتي اتصال ناجحتين، ويمكن أن تكون أقل موثوقية إذا انقطع اتصال الشبكة.
- مثال:
windows/meterpreter/reverse_tcp(يتطلب stager).