Shellab

Linux and Windows shellcode development/enrichment utility.

Shellab is a tool that can be used to improve existing shellcodes and adapt them for personal needs. Developed to provide an alternative to msfvenom with new functionalities. Suitable for both Windows and Linux shellcode (32 and 64 bit).

Requirements

Shellab requires Radare2, you should install it running this command:
$ sudo apt-get install radare2

Features

  • Encode shellcode with custom encoder
  • Generate stagers and egghunters (including sandwich and omelette egghunter)
  • Inject shellcode into PE files
  • Run shellcode on Linux
  • Remove bad characters and null-bytes
  • Perform experimental size reduction (by instructions replacement)
  • Export shellcode in different executable formats (C, C#, Python, Powershell, hex, raw etc.)
  • Add custom instructions, NOP slides and specific system calls

TODO

  • [ ] Create more encoders
  • [ ] Implement generation of fully alphanumeric shellcode
  • [ ] Add shellcode comparison mechanism

Usage

This example will encode the input shellcode with "rot_xor" encoder, insert "xor eax, eax" instruction and 100 non-canonical NOP instructions in front of it, generate a bind stager (that will listen for the incoming shellcode on port 4444) and prepend the shellcode with exit() syscall.

Show help message:

help_screenshot

List available components:

list_screenshot

Generate the shellcode:

example

GitHub