Skip to content

osirislab/Shellcode

Repository files navigation

#Shellcode This is a repository of Shellcode written by students in NYU-Polytechnic's ISIS lab. This repository came about as a need for trustworthy and reliable 32/64 bit Intel shellcode for CTF style exploitation.

This repository also contains the isis python library that has a handful of useful functions for exploitation.

##Dependencies In order to assemble and link(for testing) you will need to install:

  • GCC
  • GCC-multilib
  • Nasm
  • ia32-libs

To install:

sudo apt-get install gcc gcc-multilib nasm ia32-libs

##Usage Each folder containing shellcode has at least two files. A .s file containg the assembly and a makefile. Typing make in a folder will assemble the shellcode as a raw binary file called shellcode and generate an ELF binary for testing called testShellcode. Shellcode that cannot be tested by running testShellcode alone will have other instructions. You can also test the shellcode by incorporating it into a working exploit. If you would like to hardcode the shellcode into your exploit instead of reading it from the shellcode file you can use the shellcode as array python script.

####Configuring The behaviour of most shellcode instances can be configured with %defines. Here are some examples:

##Writing one-off/special purpose shellcode There are many macros in the include folder that make writing new shellcode easier or modifying shellcode for different operating systems possible.

##Contributing Please feel free to contribute by submitting feature requests and bug reports to the issue tracker. Commit bits(for ISIS students only) and pull requests will be handled on a case by case basis.