
مُحمّل انعكاسي معرف من قبل المستخدم مبني على Rust لحمولات Cobalt Strike. يتجنب صفحات الذاكرة RWX لأمان OPSEC. يتضمن أداة استخراج لاستخراج قسم المُحمّل.

هذا مُحمّل انعكاسي معرّف من قبل المستخدم (User-Defined Reflective Loader) لبرنامج Cobalt Strike، مكتوب بالكامل بلغة Rust. أردت فقط معرفة مدى صعوبة بناء هذا الشيء. واتضح أنه ليس بتلك الصعوبة. قد أضيف ميزة إخفاء السكون (Sleep Obfuscation) في وقت ما. حاليًا، هو مجرد مُحمّل أساسي بدون أي ميزات خاصة. الميزة الوحيدة المتعلقة بأمان العمليات (OPSEC) هي أنه لا يستخدم صفحات RWX في أي مرحلة.
قم بتنزيل الإصدار ثم قم باستيراد ملف .cna.
يمكنك تجميعه بنفسك. تأكد من استخدام سلسلة أدوات MSVC والبروفايل release. يمكنك استخدام extractor المرفق لاستخراج القسم .text من المُحمّل. على سبيل المثال:
cd extractor
cargo run --release -- ../target/release/crabloader.exe ../bin/crabloader.bin
استخدمت هذا البروفايل للاختبار: https://github.com/BC-SECURITY/Malleable-C2-Profiles/blob/master/APT/apt1_virtuallythere.profile
لا يحتوي على إعدادات لتغيير مؤشرات الذاكرة، بل يتعلق بالشبكة فقط. لذا أظن أن جميع الإعدادات الافتراضية ستعمل. إذا غيّرت ترويسة MZ باستخدام magic_mz_x64، فلن يعمل المُحمّل لأنه يبحث عن تلك الترويسة.