ShenCode

A versatile tool for working with shellcodes.

Features

ShenCode is a framework for developing, analyzing and testing shellcodes. It supports the following operating modes:

  • Argument mode
    • shencode core output -i file.raw -s inspect
  • Interactive Mode
    • shencode$ load output
    • shencode::core::output$
  • Task Mode
    • Automate modules in different steps with json

Version 0.8.6

General usage

Check out ShenCode Docs and the starter tutorial for more information.

Modules

CategoryDescriptionModules
coreShencode core functionsdownload - extract- minidump - output - subproc - task
encoderShellcode encoderalphanum - bytebert - byteswap1 - multicoder - xor - xorchain - xorpoly2
injectProcess injection modulesdll - injection - linject - ntinjection - psoverwrite3
obfuscateShellcode obfuscation techniquesfeed4 - qrcode - rolhash - uuid
payloadModules to generate payloadsmsfvenom - winexec
stagerStage loadersmeterpreter - sliver

How to use

Install
git clone https://github.com/psycore8/shencode
cd shencode
python -m venv .venv
<! ACTIVATE-VENV-SEE-BELOW !>
pip install .
shencode -h

To activate the virtual environment use the following command:

  • Windows - .venv\bin\activate
  • Linux - source .venv/bin/activate

Release Notes

  • general - code cleanup
  • dependencies - updated
  • encoder/alphanum - padding and nasm fix
  • encoder/bytebert - padding fix
  • encoder/xorchain - new encoder module
  • obfuscate/qrcode - added --reverse option to convert the qr code back to raw binary
  • utils/interactive - changed the config command to config_print, config_restore and config_save

References

Footnotes

  1. Byteswapping Blog Post

  2. Polymorphic XOR decoder Blog Post

  3. hasherezade

  4. feed uses a diceware wordlist