sploit: binary analysis and exploitation tool in Go
sploit
Sploit is a Go package that aids in binary analysis and exploitation. The motivating factor behind the development of sploit is to be able to have a well-designed API with functionality that rivals some of the more common Python exploit development frameworks while taking advantage of the Go programming language. Excellent cross-compiler support, goroutines, powerful crypto libraries, and static typing are just a few of the reasons for choosing Go.
This project is inspired by pwntools and other awesome projects. It is still early in development. Expect this project to be focused heavily on shellcoding, binary patching, ROP stack construction, and general binary analysis. It will focus less heavily on socket communication and server/client development.
Installation
git clone https://github.com/aquynh/capstone.git –branch 4.0.2 –single-branch
cd capstone
make
sudo make installsudo apt install gcc gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu gcc-mips-linux-gnu \
gcc-mipsel-linux-gnu gcc-powerpc-linux-gnugit clone https://github.com/zznop/sploit.git
Use
Example 1 – Compiling assembly code to bytes
Example 2 – Disassembling code in an ELF executable
Example 3 – Query ROP gadgets and display those with a sub-string match against “pop rbp”
Copyright (c) 2020 Brandon Miller <@zznop>
Source: https://github.com/zznop/