Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CrabLoader — Rust-based User-Defined Reflective Loader for Cobalt Strike payloads. Avoids RWX memory pages for OPSEC safety. Includes an extractor tool for loader section extraction. | Kitploit
Tools/GitHubGitHub/qmadev/crabloader
Penetration Testing FrameworksExploit FrameworksShellcodeCommand and ControlRed TeamingPayload Development
GitHubqmadev/crabloader

CrabLoader

Rust-based User-Defined Reflective Loader for Cobalt Strike payloads. Avoids RWX memory pages for OPSEC safety. Includes an extractor tool for loader section extraction.

View Repository
3335 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CrabLoader

A Cobalt Strike User-Defined Reflective Loader written entirely in Rust. I just wanted to figure out how hard it would be to build this. Turns out it's not that hard. I might add a sleep obfuscation feature at some point. Right now, it is just a basic loader without any special features. The only "opsec safety" feature is that it does not use RWX pages at any point.

Usage

Download the release and load the .cna file.

You could compile it yourself. Make sure you use the MSVC toolchain and the release profile. You can use the extractor that is included to extract the .text section of the loader. For example:

root@kitploit:~
cd extractor
cargo run --release -- ../target/release/crabloader.exe ../bin/crabloader.bin

Cobalt Strike C2 Profile

I used this profile for testing: https://github.com/BC-SECURITY/Malleable-C2-Profiles/blob/master/APT/apt1_virtuallythere.profile

It does not contain settings to change memory indicators, only network stuff. So I'm guessing all the defaults work. If you change the MZ header with magic_mz_x64, the loader will not work as it searches for that header.

Credits

  • For the loader part: https://github.com/fancycode/MemoryModule
  • For the CNA: https://github.com/kyleavery/AceLdr
Download Tool