pwncli  by RoderickChan

CLI tool for pwn challenges, streamlining debugging and exploitation

created 4 years ago
382 stars

Top 75.9% on sourcepulse

GitHubView on GitHub
Project Summary

pwncli is a Python-based command-line tool designed to streamline the debugging and exploitation of binary vulnerabilities, primarily for CTF (Capture The Flag) competitions. It aims to reduce repetitive tasks during binary exploitation, allowing users to focus on crafting exploit payloads. The tool supports three modes: command-line interaction, script encapsulation, and library import, catering to both interactive debugging and automated exploit development.

How It Works

pwncli employs a main command-subcommand structure, similar to Git, with commands like debug, remote, config, misc, patchelf, and qemu. It leverages click for command-line interface generation and pwntools for core exploitation functionalities. The tool's extensibility is a key feature, allowing users to add custom commands by creating new Python files in a specific directory. It also offers features like prefix matching for commands and integrates with debugging environments like tmux and WSL.

Quick Start & Requirements

  • Installation: pip3 install --editable . after cloning the repository, or pip3 install pwncli.
  • Prerequisites: Python 3, click, pwntools, ropper. For specific features like patchelf, patchelf and glibc-all-in-one are needed. WSL is recommended for enhanced debugging on Windows.
  • Setup: Local installation via pip3 install --editable . is recommended for easy updates. Ensure the installation path is added to your system's PATH environment variable.

Highlighted Details

  • Multi-mode Support: Seamlessly switch between command-line, script, and library usage.
  • Extensible Architecture: Easily add custom commands and functionalities.
  • Integrated Debugging: Supports tmux and WSL for enhanced local debugging experiences.
  • Cross-Architecture Debugging: Facilitates debugging for various architectures via QEMU.

Maintenance & Community

The project is maintained by RoderickChan. Users can reach out via email (roderickchan@foxmail.com) or submit issues and pull requests on GitHub. Links to personal blogs are provided for updates and discussions.

Licensing & Compatibility

The repository does not explicitly state a license in the provided README. Compatibility for commercial use or closed-source linking would require clarification on the licensing terms.

Limitations & Caveats

Windows support is limited, with the debug command being unavailable and remote only partially functional. The README strongly recommends using Ubuntu or WSL for the best experience, particularly for the debug command's WSL-specific features.

Health Check
Last commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
14 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.