
Rust-basierter benutzerdefinierter Reflective Loader für Cobalt Strike Payloads. Vermeidet RWX-Speicherseiten aus OPSEC-Sicherheitsgründen. Enthält ein Extractor-Tool zur Extraktion von Loader-Sektionen.

Ein benutzerdefinierter Reflective Loader für Cobalt Strike, vollständig in Rust geschrieben. Ich wollte nur herausfinden, wie schwierig es ist, so etwas zu bauen. Es stellt sich heraus, dass es nicht so schwer ist. Irgendwann werde ich vielleicht eine Schlaf-Obfuskationsfunktion hinzufügen. Derzeit ist es nur ein einfacher Loader ohne besondere Funktionen. Die einzige 'Opsec-Sicherheits'-Funktion besteht darin, dass er zu keinem Zeitpunkt RWX-Seiten verwendet.
Laden Sie das Release herunter und laden Sie die .cna-Datei.
Sie können es selbst kompilieren. Stellen Sie sicher, dass Sie die MSVC-Toolchain und das Release-Profil verwenden. Sie können den enthaltenen extractor verwenden, um den .text-Abschnitt des Loaders zu extrahieren. Beispiel:
cd extractor
cargo run --release -- ../target/release/crabloader.exe ../bin/crabloader.bin
Ich habe dieses Profil zum Testen verwendet:
Es enthält keine Einstellungen zur Änderung von Speicherindikatoren, nur Netzwerkzeugs. Ich gehe also davon aus, dass alle Standardeinstellungen funktionieren. Wenn Sie den MZ-Header mit magic_mz_x64 ändern, funktioniert der Loader nicht, da er nach diesem Header sucht.