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).
Shellab requires Radare2 and dependencies provided in requirements.txt
file, you should install it running this command:
$ sudo apt-get install radare2 && python3 -m pip install -r requirements.txt
- 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
- Create more encoders
- Implement generation of fully alphanumeric shellcode
- Add shellcode comparison mechanism
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.
If you have an idea for a new encoder, egghunter or stager, or just want to improve this tool, simply create a pull request :)
This software is under MIT License