Skip to content

MrEx-Right/exploitlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExploitLab 🧪

A modern, lightweight, and robust exploit development library designed for vulnerability research, CTFs, and exploit engineering.

Built for speed and simplicity, bypassing the bloated features of other libraries while keeping the core functionality you need to pop shells.

License: GPLv3 PyPI version

🚀 Features

  • Tubes (Process, Remote) — Seamless I/O communication with local binaries and remote network sockets. Includes non-blocking .interactive() shells.
  • ELF Analysis — Fast parsing of binary symbols, GOT/PLT addresses, and memory searching using pyelftools.
  • Assembly & Shellcoding — On-the-fly assembly compilation using keystone-engine and ready-to-use shellcode templates.
  • Memory Packing — Robust p32, p64, u32, u64 conversions.
  • Pattern Generation — De Bruijn cyclic pattern generators (cyclic, cyclic_find) to instantly find buffer overflow offsets.
  • Context Management — Global architecture (amd64, i386) and colored logging configuration.

📦 Installation

pip install exploitlab

🛠️ Quick Start

Here is a quick example of how to use ExploitLab to solve a classic buffer overflow challenge:

from exploitlab import *

# 1. Set global context (Auto-adjusted if ELF is loaded)
context.arch = 'amd64'

# 2. Analyze the binary
e = ELF('./target_binary')
log.info(f"Target 'win' function is at: {hex(e.symbols['win'])}")

# 3. Start the process (or use Remote('10.10.10.10', 1337))
p = Process('./target_binary')

# 4. Craft the payload
offset = 40
payload = b"A" * offset
payload += p64(e.symbols['win'])  # Convert address to bytes

# 5. Exploit!
p.recvuntil(b"Enter payload: ")
p.sendline(payload)

# 6. Enjoy your shell
p.interactive()

About

A modern, lightweight, and robust exploit development library for CTFs and vulnerability research.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages