Skip to content

osirislab/Shellcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
CodeKevin
Apr 30, 2016
794875f · Apr 30, 2016
Jun 23, 2014
Jan 20, 2014
May 18, 2014
Dec 24, 2013
Jun 18, 2014
May 7, 2015
Mar 11, 2013
Jan 27, 2014
Jan 21, 2014
Jun 18, 2014
Jun 18, 2014
Apr 30, 2016
Dec 20, 2013
Dec 19, 2013
Jan 21, 2014
Jan 20, 2014
Jan 24, 2014
Dec 24, 2013
Oct 19, 2013
Jun 21, 2014

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.