Skip to content

Another shellcode runner ๐Ÿฆ€ ๐Ÿš

Notifications You must be signed in to change notification settings

wintermute101/rs-shellcode

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

27 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

rs-shellcode

A shellcode runner write in Rust.

how to use it

Install rustup.

rustup default

Use msfvenom generate shellcode for test.

msfvenom -p windows/x64/exec CMD=calc.exe  --platform win -f raw -o calc64.raw

XOR obfuscated payload.

msfvenom --platform windows --arch x64  -p windows/x64/exec CMD=calc.exe -f raw --encrypt xor --encrypt-key "\x55"

XOR obfuscated payload for linux.

msfvenom --platform linux --arch x64  -p linux/x64/exec  -f raw --encrypt xor --encrypt-key "\x55"

Build:

cargo build --release

On linux using cross:

cross build -r --target=x86_64-pc-windows-gnu

Usage:

Usage: rs_shellcode [OPTIONS] --file <file>

Options:
  -f, --file <file>      shellcode path
  -b, --breakpoint       set breakpoint in debugger
  -o, --offset <offset>  shellcode offset
  -x, --xor <xor>        deobfuscate with XOR encoding
  -s, --stealth          removes shell code and itself
  -h, --help             Print help
  -V, --version          Print version

Run:

./target/debug/rs_shellcode.exe -f <SHELLCODE_PATH>

When your shellcode not start at offset 0, you can specify the offset use -o:

./target/debug/rs_shellcode.exe -f <SHELLCODE_PATH> -o 0x30

Run with breakpoint flag (-b):

./target/debug/rs_shellcode.exe -f <SHELLCODE_PATH> -b

use this flag, you can break just before your shellcode in the debugger, which will make your life easier.

breakpoint in windbg

About

Another shellcode runner ๐Ÿฆ€ ๐Ÿš

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%