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.5

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 - xorpoly2
injectProcess injection modulesdll - injection - linject - ntinjection - psoverwrite3
obfuscateShellcode obfuscation techniquesfeed - 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 - fixed some fstring errors
  • core/minidump - dump a process from memory to disk with WinAPI
  • inject/linject - Linux based injection method
  • inject/psoverwrite - Fixed NoCFG setting
  • obfuscate/feed - open file optimizations
  • stager/sliver - save the stage to disk
  • stager/sliver - testing linux support
  • utils/interactive - print config in json format
  • utils/style - moved style settings from helper to style

References

Footnotes

  1. Byteswapping Blog Post

  2. Polymorphic XOR decoder Blog Post

  3. hasherezade