How to Install Z4nzu/hackingtool on Kali Linux and Arch: Complete Setup Guide

Install Z4nzu/hackingtool by cloning the repository, executing sudo python3 install.py to run the interactive installer, and launching the framework with sudo hackingtool.

The Z4nzu/hackingtool repository is a comprehensive, menu-driven penetration testing suite that aggregates over 30 security utilities into a single Python application. Installing this framework requires root privileges and follows a three-phase automated process handled by install.py, which manages system dependencies, virtual environment creation, and system-wide launcher generation. This guide covers both the native installation process and Docker deployment methods.

Prerequisites and System Requirements

The installer enforces strict environment checks before proceeding. You must run the installation as root—the check_root() function (lines 28–32 in install.py) aborts execution immediately if the effective user ID is not zero. Additionally, the script verifies internet connectivity via check_internet() (lines 63–76) to ensure it can download system packages and Python dependencies.

Supported distributions include:

  • Kali Linux and Parrot OS (apt-based package management)
  • Arch Linux (pacman-based package management)

The interactive installer prompts you to select your distribution via choose_distro() (lines 57–61), which determines whether the script runs apt-get or pacman commands during the system update phase.

Step-by-Step Installation Process

Clone and Prepare the Repository

First, clone the repository to your local machine and set appropriate permissions:

git clone https://github.com/Z4nzu/hackingtool.git
chmod -R 755 hackingtool
cd hackingtool

While the installer will eventually clone the repository again into /usr/share/hackingtool, obtaining the source first allows you to inspect the installation logic in install.py before execution.

Execute the Interactive Installer

Run the installer with root privileges to trigger the automated deployment sequence:

sudo python3 install.py

The script executes three distinct phases defined in the source code:

  1. Environment Validation: Calls check_root() to verify privileges and check_internet() to confirm network access.
  2. System Preparation: Invokes system_update_and_install() (lines 79–102) to update package lists and install OS-specific dependencies including git, python3-pip, python3-venv, figlet, boxes, php, curl, xdotool, and wget.
  3. Application Deployment:
    • prepare_install_dir() (lines 6–14) creates /usr/share/hackingtool
    • git_clone() (lines 17–25) clones the repository into this directory
    • create_venv_and_install() (lines 28–48) builds a Python virtual environment and installs dependencies from requirements.txt
    • create_launcher() (lines 49–61) generates a wrapper script at /usr/bin/hackingtool that activates the virtual environment and executes hackingtool.py

Launch the Framework

Once installation completes, start the tool from any terminal:

sudo hackingtool

The command invokes the launcher script, activates the virtual environment, and displays the interactive menu system defined in hackingtool.py (lines 20–94), providing access to the bundled penetration testing modules.

Docker Installation Alternative

For containerized execution, the repository includes a Dockerfile and docker-compose.yml that eliminate the need for native system modifications:

docker build -t z4nzu/hackingtool .
docker-compose up -d
docker exec -it hackingtool bash

This method bypasses the root privilege requirements of the native installer but requires Docker daemon access. The container encapsulates all Python dependencies and system packages specified in the native installation logic.

Programmatic Installation Example

To automate deployment in CI/CD pipelines or configuration management scripts, invoke the installer programmatically:

import subprocess
import sys

def deploy_hackingtool():
    result = subprocess.run(
        ["python3", "install.py"],
        cwd="/path/to/hackingtool",
        check=True
    )
    if result.returncode == 0:
        print("HackingTool installed successfully")
    else:
        sys.exit("Installation failed")

if __name__ == "__main__":
    deploy_hackingtool()

This Python script mirrors the interactive flow of the manual installation while enabling unattended deployment, provided it is executed with sufficient privileges.

Summary

  • Root access is mandatory: The check_root() function in install.py enforces this requirement at lines 28–32.
  • Three-phase automation: The installer handles system updates, virtual environment creation via create_venv_and_install(), and launcher generation via create_launcher().
  • Distribution-specific logic: The choose_distro() function selects between apt (Kali/Parrot) and pacman (Arch) package managers.
  • System-wide installation: The framework installs to /usr/share/hackingtool with a global launcher at /usr/bin/hackingtool.
  • Docker alternative available: Containerized deployment requires no permanent system modifications.

Frequently Asked Questions

Do I need to run the installer as root?

Yes. The check_root() function in install.py (lines 28–32) explicitly verifies root privileges using os.geteuid() and terminates with an error message if you execute the script as a non-privileged user. The tool requires root access to install system packages, create directories in /usr/share, and write the launcher to /usr/bin.

Can I install hackingtool on Ubuntu or other Debian variants?

While the installer officially supports Kali Linux and Parrot OS via the choose_distro() function, you can manually adapt the installation for Ubuntu by selecting the "Kali/Parrot" option and ensuring the required packages (figlet, boxes, php, xdotool) are available in your repositories. The Python virtual environment setup remains distribution-agnostic.

What happens if the internet connection drops during installation?

The check_internet() function (lines 63–76) attempts to connect to Google’s DNS servers to verify connectivity before proceeding. If the check fails, the installer halts immediately. Resuming installation requires restoring connectivity and re-running sudo python3 install.py, which will detect the partially completed state and continue from the system update phase.

How do I completely remove hackingtool from my system?

To uninstall, remove the installation directory, virtual environment, and system launcher: delete /usr/share/hackingtool (which contains the cloned repository and venv), remove the launcher script at /usr/bin/hackingtool, and optionally purge the system packages installed during system_update_and_install() (lines 79–102) if they are no longer needed by other applications.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →