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.