A comprehensive, interactive installation script for setting up an Ubuntu system with security testing tools, offensive security applications, and bug hunting utilities. This script automates the installation of 87+ packages including Kali Linux tools, penetration testing frameworks, and other third-party tools useful for CTFs, hacking, and security research.
✅ Interactive Menu System - Choose what to install or install everything at once
✅ Auto-Detection - Automatically detects system architecture (x86_64, i386, arm64)
✅ Dynamic Go Version Detection - Fetches and installs the latest Go version automatically
✅ Tool Updates - Easy updating of all installed tools and packages
✅ Colored Output - Enhanced readability with color-coded logging
✅ Progress Tracking - Real-time progress indicators for all installations
✅ Error Handling - Comprehensive error checking and recovery
✅ Backup & Recovery - Automatic backups before updates with rollback support
git clone https://github.com/0xRyuk/offensive-ubuntu.git
cd offensive-ubuntu
chmod +x install.sh
sudo ./install.sh- Ubuntu 18.04 LTS or later
- Internet connection
- sudo privileges (required for package installation)
- At least 50GB free disk space (recommended)
Run the script to access the interactive menu:
╔════════════════════════════════════════════╗
║ OFFENSIVE UBUNTU INSTALLER ║
╚════════════════════════════════════════════╝
Installation Components:
1) Install system packages (apt)
2) Install tools from snap
3) Install golang and go tools
4) Install tools from GitHub repositories
5) Install additional security tools (Metasploit, WPScan, etc)
6) Install ALL components
Maintenance & Updates:
7) Check and update this script
8) Update installed tools
9) Exit
Installs 60+ essential packages including:
- Programming tools (python3, python2, perl, ruby, build-essential)
- Networking tools (nmap, net-tools, traceroute, dnsmap, dnsenum, dnsrecon)
- Penetration testing (aircrack-ng, hashcat, sqlmap, wfuzz, ettercap)
- Forensics & analysis (binwalk, steghide, foremost, sleuthkit, autopsy)
- Web testing (burp, ffuf, recon-ng, wafw00f, mitmproxy)
- Development (git, curl, wget, vim, sublime-text, openvpn)
- And many more specialized tools
Installs tools from the Snap store:
- John the Ripper
- Volatility Framework
- Chromium Browser
- Amass (OWASP)
- Automatically detects the latest Go version from go.dev
- Installs/updates Go to the latest version
- Installs popular Go security tools:
- aquatone - Web screenshot tool
- httprobe - HTTP prober
- unfurl - URL parsing
- waybackurls - Wayback Machine URLs
- gobuster - Directory and DNS brute-forcing
- ffuf - Fast web fuzzer
- nuclei - Vulnerability scanner with templates
Clones and installs tools from GitHub repositories into ~/arsenal:
- JSParser - JavaScript parser
- Sublist3r - Subdomain enumeration
- dirsearch - Directory brute-forcing
- lazys3 - S3 bucket enumeration
- virtual-host-discovery - Virtual host discovery
- knock - Knockpy subdomain scanner
- lazyrecon - Automated reconnaissance
- massdns - DNS mass resolution
- asnlookup - ASN lookup tool
- crtndstry - Certificate transparency
- enum4linux - Linux/Samba enumeration
- SecLists - Common security lists
- Spiderfoot - OSINT automation framework (v4.0 latest)
Installs advanced security frameworks:
- Metasploit Framework - Penetration testing framework
- Maltego - OSINT tool
- WPScan - WordPress vulnerability scanner
- Social Engineer Toolkit - Social engineering framework
Executes all installation options sequentially.
- Checks GitHub for newer versions of the script
- Compares versions automatically
- Creates timestamped backups before updating
- Updates and restarts with the latest version
Opens a submenu to selectively update:
- System packages (apt upgrade)
- Snap packages
- Go and Go-based tools (with version checking)
- GitHub repositories (git pull + dependency reinstall)
- All tools at once
After installation, tools are organized as follows:
~
├── arsenal/ # GitHub-cloned tools
│ ├── JSParser/
│ ├── Sublist3r/
│ ├── dirsearch/
│ ├── SecLists/
│ ├── spiderfoot-4.0/
│ └── ... (other repositories)
│
├── go-workspace/ # Go workspace
│ ├── bin/ # Go binaries
│ │ ├── aquatone
│ │ ├── ffuf
│ │ ├── gobuster
│ │ ├── nuclei
│ │ └── ... (other go tools)
│ ├── src/ # Go source code
│ └── pkg/ # Go packages
│
└── .bash_aliases # Environment variables
After installation, source the aliases to apply Go environment variables:
source ~/.bash_aliasesOr add to your shell profile (~/.bashrc, ~/.zshrc):
export GOROOT=/usr/local/go
export GOPATH=$HOME/go-workspace
export PATH=$GOPATH/bin:$GOROOT/bin:$PATHThe script provides color-coded output:
- [INFO] - Informational messages and successful operations
- [WARN] - Warnings and non-critical issues
- [ERROR] - Error messages
- [STATUS] - Status updates
Each installation shows progress: [current/total] with ✓ for success and ✗ for failures.
recordmydesktop, python3, python2, vim, python3-pip, python-setuptools, build-essential, perl, ruby-full, git, curl, wget, rename, jq
net-tools, traceroute, nmap, aircrack-ng, dnsmap, dnsenum, dnsrecon, dnswalk, netdiscover, netmask, nbtscan, xprobe, masscan, iputils-arping, arping, netsniff-ng
burp, wfuzz, wafw00f, mitmproxy, ffuf, dirbuster, sqlmap, recon-ng, httrack, httpprobe, unfurl, waybackurls
hashcat, john-the-ripper, openjdk-11-jre, openjdk-8-jdk
reaver, wifite, pixiewps, cowpatty, ettercap-graphical, btscanner
hydra-gtk, steghide, binwalk, stegoveritas, libimage-exiftool-perl, backdoor-factory, chkrootkit, sleuthkit, foremost, recoverjpeg
hexedit, smbmap, dsniff, dmitry, beef, hashdeep, autopsy, libldns-dev, libcurl4-openssl-dev, libssl-dev, libffi-dev, libxml2, libxml2-dev, libxslt1-dev, libgmp-dev, zlib1g-dev
openvpn, openssh, wireshark-qt
sublime-text, chromium, amass, volatility-phocean, metasploit-framework, maltego, wpscan, spiderfoot (v4.0), crt.sh
If Go installation fails, check:
- Internet connection:
ping go.dev - Available disk space:
df -h /usr/local - Permissions: Ensure sudo access
Some packages may fail due to:
- Missing dependencies: Install manually with
sudo apt-get install <package> - Repository issues: Update repositories with
sudo apt-get update - Deprecated packages: Check if they're still maintained
Python 2 is deprecated. If installation fails:
- This is expected on newer Ubuntu versions
- The script will skip Python 2 pip if unavailable
- Use Python 3 alternatives when possible
If snap packages fail:
- Ensure snapd is installed:
sudo apt-get install snapd - Check snap permissions:
sudo usermod -aG snap $USER
- Run on fresh Ubuntu install - Fewer conflicts and faster installation
- Use SSD - Significantly faster than HDD for installations
- Close other applications - Free up system resources
- Run during off-peak hours - Better download speeds
- Use
screenortmux- Keeps installation running if SSH disconnects
screen -S install
sudo ./install.sh
# Press Ctrl+A then D to detach
screen -r install # To reattachThe script checks for updates on GitHub. To manually check:
./install.sh
# Select option 7./install.sh
# Select option 8
# Then select option 5 for all updatesUpdate individual categories without full reinstallation:
- Option 8.1 - APT packages
- Option 8.2 - Snap packages
- Option 8.3 - Go tools
- Option 8.4 - GitHub repositories
To remove tools:
# Remove system packages
sudo apt-get remove <package-name>
# Remove Go tools
rm ~/go-workspace/bin/<tool-name>
# Remove GitHub tools
rm -rf ~/arsenal/<repo-name>
# Remove Go
sudo rm -rf /usr/local/go| Component | Minimum | Recommended |
|---|---|---|
| OS | Ubuntu 18.04 LTS | Ubuntu 20.04 LTS+ |
| RAM | 2GB | 8GB+ |
| Disk Space | 20GB | 50GB+ |
| Internet | 1Mbps | 10Mbps+ |
| CPU | 2 cores | 4+ cores |
- ✅ Ubuntu 18.04 LTS
- ✅ Ubuntu 20.04 LTS
- ✅ Ubuntu 22.04 LTS
- ✅ Debian 10+
⚠️ WSL 2 (requires some adaptations)- ✅ ARM64 (Raspberry Pi, Apple Silicon via UTM)
- ✅ x86_64
- ✅ i386
- Never use these tools for unauthorized access
- Ensure proper authorization before testing
- Follow responsible disclosure guidelines
- Check local laws and regulations
Found a bug or want to add a tool? Please create an issue or pull request on GitHub.
This project is open source and available under the MIT License.
Ryuk - GitHub
For issues, questions, or suggestions:
- Check existing issues on GitHub
- Create a new issue with detailed information
- Include your Ubuntu version and error messages
Last Updated: December 6, 2025
Version: 2.0
Status: Active & Maintained