
Cobalt Strike पेलोड्स के लिए Rust-आधारित उपयोगकर्ता-परिभाषित रिफ्लेक्टिव लोडर। OPSEC सुरक्षा के लिए RWX मेमोरी पेज से बचता है। लोडर सेक्शन निकालने के लिए एक एक्सट्रैक्टर टूल शामिल है।

एक Cobalt Strike उपयोगकर्ता-परिभाषित रिफ्लेक्टिव लोडर जो पूरी तरह से Rust में लिखा गया है। मैं बस यह जानना चाहता था कि इसे बनाना कितना मुश्किल होगा। पता चला कि यह उतना मुश्किल नहीं है। मैं किसी समय स्लीप ऑब्सफस्केशन (sleep obfuscation) सुविधा जोड़ सकता हूँ। अभी, यह बिना किसी विशेष सुविधा के एक बुनियादी लोडर है। एकमात्र "opsec सुरक्षा" सुविधा यह है कि यह किसी भी बिंदु पर RWX पृष्ठों का उपयोग नहीं करता है।
रिलीज़ डाउनलोड करें और .cna फ़ाइल लोड करें।
आप इसे स्वयं संकलित कर सकते हैं। सुनिश्चित करें कि आप MSVC टूलचेन और रिलीज़ प्रोफ़ाइल का उपयोग करते हैं। आप .text सेक्शन को निकालने के लिए शामिल extractor का उपयोग कर सकते हैं। उदाहरण के लिए:
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
इसमें मेमोरी संकेतक बदलने की सेटिंग्स नहीं हैं, केवल नेटवर्क चीज़ें हैं। तो मुझे लगता है कि सभी डिफ़ॉल्ट काम करते हैं। यदि आप magic_mz_x64 के साथ MZ हेडर बदलते हैं, तो लोडर काम नहीं करेगा क्योंकि वह उस हेडर की खोज करता है।