
RustベースのCobalt Strikeペイロード用のユーザー定義リフレクティブローダー。OPSEC安全性のためにRWXメモリページを回避します。ローダーセクション抽出のための抽出ツールを含みます。

完全にRustで記述されたCobalt Strikeのユーザー定義リフレクティブローダーです。これを構築するのがどの程度難しいか知りたかっただけです。それほど難しくないことがわかりました。いつかスリープ難読化機能を追加するかもしれません。現時点では、特別な機能のない基本的なローダーです。唯一の「opsec安全性」機能は、どの時点でもRWXページを使用しないことです。
リリースをダウンロードして、.cna ファイルを読み込んでください。
自分でコンパイルすることもできます。MSVCツールチェーンとリリースプロファイルを使用してください。含まれている 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
メモリインジケータを変更する設定は含まれておらず、ネットワーク関連のみです。そのため、デフォルト設定で動作すると思います。magic_mz_x64 でMZヘッダを変更すると、ローダーはそのヘッダを検索するため動作しません。