Overview
GTFOBins CLI is a command-line interface for GTFOBins, providing instant access to Unix binary exploitation techniques. This tool helps security professionals and system administrators identify and understand how legitimate Unix binaries can be misused to bypass security restrictions.
Key Features
- 🔍 Quick Binary Lookup: Search exploitation techniques for any Unix binary
- 🔎 Fuzzy Search: Find binaries with partial name matching
- 🏷️ Filter by Type: Filter binaries by exploitation type (shell, suid, sudo, etc.)
- 🖥️ Interactive Mode: fzf-style autocomplete for quick navigation
- 🎨 Syntax Highlighting: Color-coded output for better readability
- 📦 Offline Database: No internet connection required
- 🚀 Instant Access: Fast, local searches with zero latency
- 💻 Cross-Platform: Works on Linux, macOS, and Windows
Installation
From pipx (Recommended)
pipx install git+https://github.com/kasem545/gtfobins-cli
From Source
git clone https://github.com/kasem545/gtfobins-cli
cd gtfobins-cli
pip install -e .
Usage
Basic Usage
gtfo <binary>
Examples
# Search for sudo exploitation techniques
gtfo sudo
# Search for python exploitation techniques
gtfo python
# Fuzzy search binaries by name
gtfo -s pyth
# Filter binaries by exploitation type
gtfo -f shell
gtfo -f suid
gtfo -f sudo
# Show only specific technique for a binary
gtfo python -f sudo
# Interactive mode with autocomplete
gtfo -i
# List all available binaries
gtfo -l
# Check version
gtfo --version
Command Line Options
| Option | Description |
|---|---|
binary |
Unix binary to search for exploitation techniques |
-s, --search TERM |
Fuzzy search binaries by name |
-f, --filter TYPE |
Filter binaries by exploitation type |
-i, --interactive |
Interactive mode with autocomplete |
-l, --list |
List all available binaries |
-v, --version |
Show version |
-h, --help |
Show help message |
Exploitation Categories
The tool provides information about various exploitation techniques:
- Shell: Spawn an interactive shell
- Command: Execute system commands
- Reverse Shell: Establish a reverse shell connection
- Non-interactive Reverse Shell: Create a non-interactive reverse shell
- Bind Shell: Set up a bind shell
- Non-interactive Bind Shell: Create a non-interactive bind shell
- File Upload: Transfer files to the target system
- File Download: Extract files from the target system
- File Write: Write data to files
- File Read: Read file contents
- Library Load: Load shared libraries
- SUID: Exploit SUID permissions
- Sudo: Exploit sudo permissions
- Capabilities: Exploit Linux capabilities
- Limited SUID: Work with limited SUID permissions
Screenshots
Development
Setting up Development Environment
# Clone the repository
git clone https://github.com/kasem545/gtfobins-cli
cd gtfo
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
Running Tests
# Install test dependencies
pip install pytest pytest-cov
# Run tests
pytest
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Credits
- Binary exploitation data from GTFOBins
- Original GTFOBins project contributors
- Created by t0thkr1s
- maintained by kasem545
Security Notice
⚠️ Important: This tool is designed for authorized security testing and educational purposes only. Users must:
- Only use this tool on systems they own or have explicit permission to test
- Comply with all applicable laws and regulations
- Understand that misuse of this tool may result in criminal charges
The developers assume no liability and are not responsible for any misuse or damage caused by this tool.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Support
If you encounter any issues or have questions:
- Open an issue
- Check existing issues for solutions
- Consult the GTFOBins website for additional information
Metadata
Release files for gtfobins-cli 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gtfobins_cli-1.1.0.tar.gz | 423.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gtfobins_cli-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 953.2 kB
Release files / gtfobins_cli-1.1.0.tar.gz
| Download URL | gtfobins_cli-1.1.0.tar.gz |
|---|---|
| Size | 423.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5527b6ea083a31d1dc57408fc91729c1e6ccde32b3ae43bf2b0a83a81198f05f
|
|
BLAKE2b-256 checksum How to use checksums |
f0f65d8f94b50e70056ea0bdf22f36be7a8fffb0d996cf90aa1f4c1214396f8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 4, 2026.
Transparency logRelease files / gtfobins_cli-1.1.0-py3-none-any.whl
| Download URL | gtfobins_cli-1.1.0-py3-none-any.whl |
|---|---|
| Size | 529.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ad4b74fdc6cafdaa3717dd5bf3379b0d7327d9981baf79c48a3d88442baa520
|
|
BLAKE2b-256 checksum How to use checksums |
4363924a121ce315191a8507595f9e70a0604c0d7a3ba4271d9bf13b3f12e141
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 4, 2026.
Transparency log