
إطار عمل ما بعد الاستغلال قيد التطوير مصمم خصيصًا للمشرفات الافتراضية.
Reave هو إطار عمل لمرحلة ما بعد الاختراق (post-exploitation) مصمم خصيصًا لنقاط نهاية الهايبرفايزر، مكتوب بلغة Python. وهو قيد التطوير حاليًا.
يتبع Reave نموذج المستمع/الوكيل التقليدي، حيث يمكن للمستخدم إعداد عدة مستمعين يقبلون أي عدد من الوكلاء. يوفر الإطار حاليًا وكيل Python ويدعم الأهداف التالية:
الهدف من Reave هو توفير إطار يمكن الاستفادة منه لأتمتة وتسريع حملات اختبار الاختراق في البيئات التي تكون إما شديدة الافتراضية، أو حيث تكون البنية التحتية المستهدفة/الحرجة مستضافة على منصات هايبرفايزر مثل ESXi وProxmox.
على الخادم، قم ببساطة بتشغيل app.py:
python3 reave/app.py
على نقطة النهاية المستهدفة، قم بتحميل وكيل Python الموجود في agents/client.py وقم بتشغيله. تتوفر خيارات التهيئة التالية:
_LISTENER_HOST اسم المضيف/IP للخادم_LISTENER_PORTS قائمة المنافذ التي سيحاول الوكيل الاتصال بها بطريقة round-robin_LISTENER_SECRET مفتاح الارتباط الخاص بالمستمع الذي سيرتبط به الوكيل_AGENT_LOGLEVEL مستوى تسجيل التصحيحBEACON_INTERVAL الفاصل الزمني الذي سيرسل عليه الوكيل الإشاراتBEACON_JITTER عامل التشتت العشوائي المضاف إلى فاصل الإشارةSTART_TIME وقت اليوم الذي سيبدأ فيه الوكيل بإرسال الإشاراتEND_TIME وقت اليوم الذي سيتوقف فيه الوكيل عن إرسال الإشاراتSOCKET_TIMEOUT المهلة الزمنية لمقبس الوكيلPID_FILE ملف PID الذي يستخدمه الوكيل لضمان عدم تشغيله بالفعل على نقطة النهايةTRANSFER_BLOCK_SIZE حجم الكتلة الذي سيستخدمه الوكيل عند نقل الملفات إلى الخادمعندما يرتبط الوكيل بنجاح بمستمع، يمكنك عرضه عن طريق الدخول إلى سياق agent وتنفيذ الأمر list (أو ls). لعرض جميع المعلومات التي قام Reave بتعدادها تلقائيًا من نقطة النهاية، قم بتنفيذ الأمر info <معرف الوكيل>. على سبيل المثال، إذا كان معرف الوكيل الخاص بك هو 18ab، فستستخدم info 18ab.
لجلب ملف عشوائي من الوكيل، يمكنك تنفيذ get 18ab /my/test/file.
لتشغيل قشرة تفاعلية على نقطة النهاية، يمكنك تنفيذ interact 18ab.
يحتوي سطر الأوامر على ثلاثة سياقات متميزة يمكنك من خلالها التحكم في عمليات منفصلة:
لدخول سياق المستمع، استخدم الأمر listener. من هناك، تتوفر عدة خيارات:
list عرض جميع المستمعين النشطين
add <host> <port> <secret> إضافة مستمع
remove <uuid> إزالة مستمع
اخرج من هذا السياق باستخدام الأمر back
لدخول سياق الوكيل، استخدم الأمر agent. من هناك، تتوفر عدة خيارات:
list عرض جميع الوكلاء (الاسم المستعار: ls)
info <uuid> عرض معلومات الوكيل، بما في ذلك أي بيانات تم تعدادها تلقائيًا
interact <uuid> جلسة طرفية تفاعلية مع الوكيل.
'quit' للخروج.
get <uuid> <file> نقل ملف من نقطة نهاية الوكيل إلى دليل التحميلات
اخرج من هذا السياق باستخدام الأمر back
لدخول سياق payload، استخدم الأمر payload. من هناك، تتوفر عدة خيارات:
list عرض جميع الحمولات المحملة
info <name> الحصول على معلومات حول حمولة
use <name> تحديد حمولة للاستخدام
set <option> <value> تعيين خيار الحمولة إلى قيمة
run agent <uuid> تشغيل الحمولة على وكيل فردي
اخرج من هذا السياق باستخدام الأمر back
يدعم Reave أيضًا تحديد التنسيق الذي ترغب في عرض بيانات التعداد به. للتبديل إلى تنسيق معين:
format json عرض المعلومات بتنسيق جدول.
format table عرض المعلومات بتنسيق JSON.