Skip to content

danielserbu/linux-security-tools-installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Linux Security Tools Installer v3.0.1 - Universal Edition

πŸ›‘οΈ Complete penetration testing environment for WSL and Native Linux distributions

Version Linux Kali Arch Fedora Mint License

πŸ†• What's New in v3.0.1

πŸ› Bug Fixes

  • FIXED: Nuclei and other Go-based tools not working on Linux Mint after installation
  • FIXED: Go tools PATH not persisting after script completion
  • FIXED: Duplicate IPv6 configuration entries
  • ADDED: Automatic Go PATH configuration in .bashrc
  • ADDED: Troubleshooting script to diagnose common issues
  • IMPROVED: Better verification and error messages for Go tools

πŸ“‹ What's New in v3.0.0

  • 🐧 Multi-Distribution Support - Now works on Arch, Fedora, Linux Mint, and more!
  • 🌐 Native Linux Support - No longer WSL-only, works on native installations
  • πŸ“¦ Multiple Package Managers - apt, pacman, and dnf/yum support
  • 🎨 Modern Web GUI - Beautiful, responsive web interface with real-time updates
  • 🎯 Installation Profiles - Choose Minimal, Standard, Full, or Custom installations
  • πŸ“¦ Category Selection - Install only the tool categories you need
  • πŸ”„ Update Manager - Automated tool update script
  • πŸ—‘οΈ Uninstaller - Clean removal of all tools
  • πŸ“Š Progress Tracking - Real-time progress with WebSocket support
  • 🎭 Interactive TUI - Dialog-based text user interface option
  • πŸ› οΈ Better Error Handling - Improved logging and error recovery

πŸ“‹ Table of Contents

πŸ” Overview

This comprehensive installer automatically deploys 300+ penetration testing tools across 10+ categories, supporting both WSL and native Linux environments. It features a modern web GUI, intelligent error handling, and flexible installation profiles.

Supported Distributions

Debian/Ubuntu Family (apt)

  • Kali Linux (WSL & Native)
  • Parrot Security OS (WSL & Native)
  • Linux Mint
  • Ubuntu
  • Debian

Arch Family (pacman)

  • Arch Linux
  • Manjaro
  • EndeavourOS
  • BlackArch (optional repository)

Red Hat Family (dnf/yum)

  • Fedora
  • RHEL / CentOS
  • Rocky Linux / AlmaLinux

Tool Count by Category

  • Network Tools: 30+ tools
  • Web Application Testing: 20+ tools
  • Password Attacks: 15+ tools
  • Exploitation Frameworks: 10+ tools
  • Digital Forensics: 20+ tools
  • Reverse Engineering: 15+ tools
  • OSINT Tools: 15+ tools
  • Go-based Tools: 8+ tools
  • Python Tools: 17+ tools
  • GitHub Repositories: 13+ repos

Installation Profiles

  • Minimal (~5GB) - Essential tools only
  • Standard (~15GB) - Most commonly used tools (Recommended)
  • Full (~25GB) - Complete tool suite
  • Custom - Select specific categories

✨ Features

Core Features

  • πŸ”§ WSL-specific optimizations (hostname, DNS, IPv6 fixes)
  • πŸ›‘οΈ Robust error handling (continues on package failures)
  • 🎯 Virtual package detection (handles netcat, dns-utils, etc.)
  • πŸ“Š Progress indicators with colored output
  • πŸ”„ Retry mechanisms for failed installations
  • πŸ“ 100+ aliases for quick tool access
  • πŸ” Automatic verification of installed tools
  • πŸ“¦ Multiple package sources (apt, pip, go install, git)

New in v3.0

  • 🌐 Modern Web GUI with real-time updates via WebSocket
  • 🎭 Interactive TUI with dialog-based menus
  • πŸ“¦ Installation Profiles for different use cases
  • βœ… Category Selection for granular control
  • πŸ”„ Update Manager to keep tools current
  • πŸ—‘οΈ Uninstaller for clean removal
  • πŸ“ˆ Better Progress Tracking with detailed logs
  • 🎨 Beautiful UI with responsive design

πŸš€ Quick Start

Fastest Way to Get Started

# Clone the repository
git clone https://github.com/danielserbu/linux-security-tools-installer.git
cd linux-security-tools-installer

# Option 1: Web GUI (Recommended - Most user-friendly)
cd web-gui
chmod +x start-gui.sh
./start-gui.sh
# Then open http://localhost:5000 in your browser

# Option 2: Interactive TUI
chmod +x installer-gui.sh
sudo ./installer-gui.sh --gui

# Option 3: Command Line (Auto-detects your distribution)
chmod +x installer.sh
sudo ./installer.sh --install

πŸ’» Installation Methods

1. Web GUI (Recommended)

The modern web interface provides the easiest installation experience with real-time progress tracking.

cd web-gui
chmod +x start-gui.sh
./start-gui.sh

Then open your browser to:

  • From WSL: http://localhost:5000
  • From Windows: http://<WSL-IP>:5000 (find IP with hostname -I)

Features:

  • Interactive profile selection
  • Real-time progress updates
  • Live installation logs
  • Tool status dashboard

See Web GUI Documentation for details.

2. Interactive TUI

Dialog-based text interface for server environments or SSH sessions.

chmod +x installer-gui.sh
sudo ./installer-gui.sh --gui

Features:

  • Profile selection menus
  • Category checkboxes
  • Progress indicators
  • No web browser required

3. Command Line

Traditional command-line installation for automation and scripting.

chmod +x installer.sh

# Basic installation (auto-detects distribution)
sudo ./installer.sh --install

# With options
sudo ./installer.sh --install --gpu-support      # Enable GPU
sudo ./installer.sh --install --no-wordlists     # Skip wordlists
sudo ./installer.sh --install --dry-run          # Test run (preview)

# Debug mode to see detected system info
./installer.sh --debug

πŸ“‹ Prerequisites

System Requirements

  • 4GB+ RAM (8GB recommended for Full profile)
  • 5-25GB free disk space (depends on profile)
  • Internet connection for downloads
  • sudo/root access for package installation

For WSL Users

  • Windows 10 (Build 19041+) or Windows 11
  • WSL2 enabled and configured
# Enable WSL2 (run in PowerShell as Administrator)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# Set WSL2 as default
wsl --set-default-version 2

# Install your preferred distribution from Microsoft Store

For Native Linux Users

Ensure you have a supported distribution:

  • Debian/Ubuntu family: Kali, Parrot, Mint, Ubuntu, Debian
  • Arch family: Arch, Manjaro, EndeavourOS
  • Red Hat family: Fedora, RHEL, CentOS, Rocky, AlmaLinux

Pre-Installation Check

# Check distribution
cat /etc/os-release

# Check available disk space
df -h /

# Verify internet connectivity
ping -c 3 google.com

# Run debug to see detected system info
./installer.sh --debug

πŸ“₯ Repository Setup

Download the Repository

# Clone repository
git clone https://github.com/danielserbu/linux-security-tools-installer.git
cd linux-security-tools-installer

# Make scripts executable
chmod +x installer.sh installer-gui.sh update-tools.sh uninstall-tools.sh

Installation Options (Command Line)

# Available options:
--install              # Start installation (auto-detects distribution)
--gui                  # Run interactive GUI mode (installer-gui.sh only)
--gpu-support          # Enable GPU acceleration support
--no-wordlists         # Skip wordlist installation
--skip-verification    # Skip tool verification
--quiet                # Suppress verbose output
--dry-run              # Show what would be installed
--debug                # Show system detection info
-h, --help             # Show help message
-v, --version          # Show version information

# Legacy options (deprecated, use --install instead):
--kali                 # Auto-redirects to --install
--parrot               # Auto-redirects to --install

Installation Profiles Explained

Profile Size Tools Included Best For
Minimal ~5GB Network tools, Web tools, Go tools Quick setup, Limited space
Standard ~15GB Common tools across most categories Most users, CTF players
Full ~25GB All available tools Professional pentesters
Custom Variable User-selected categories Specific needs

πŸ› οΈ Tool Management

Updating Tools

Keep your tools up-to-date with the update script:

chmod +x update-tools.sh
sudo ./update-tools.sh

The update script will:

  • βœ… Update system packages (apt)
  • βœ… Update Go-based tools
  • βœ… Update Python tools (pipx)
  • βœ… Pull latest GitHub repositories
  • βœ… Update Metasploit Framework
  • βœ… Update wordlists (SecLists)

Recommended: Run updates weekly or before major engagements.

Uninstalling Tools

To completely remove all installed tools:

chmod +x uninstall-tools.sh
sudo ./uninstall-tools.sh

The uninstaller will:

  • πŸ—‘οΈ Remove all APT packages
  • πŸ—‘οΈ Remove Go-based tools
  • πŸ—‘οΈ Remove Python tools
  • πŸ—‘οΈ Remove GitHub repositories
  • πŸ—‘οΈ Remove symbolic links
  • πŸ—‘οΈ Remove aliases
  • πŸ—‘οΈ Clean up configurations

Warning: This action cannot be undone! The script will ask for confirmation multiple times.

Note: Base system packages (git, curl, wget, Python, Go) are preserved.

πŸ“ Tool Categories & Locations

🌐 Network Scanning & Enumeration Tools

Location: /usr/bin/, /usr/local/bin/

Tool Location Description
nmap /usr/bin/nmap Network mapper and port scanner
masscan /usr/bin/masscan High-speed port scanner
unicornscan /usr/bin/unicornscan Efficient port scanner
zmap /usr/bin/zmap Internet-wide network scanner
netdiscover /usr/bin/netdiscover Network address discovery
arp-scan /usr/bin/arp-scan ARP-based network scanner
enum4linux /usr/bin/enum4linux SMB enumeration tool
smbclient /usr/bin/smbclient SMB client for Linux
smbmap /usr/bin/smbmap SMB share enumeration
nbtscan /usr/bin/nbtscan NetBIOS name scanner
onesixtyone /usr/bin/onesixtyone SNMP scanner
snmp-check /usr/bin/snmp-check SNMP enumerator
smtp-user-enum /usr/bin/smtp-user-enum SMTP user enumeration
dnsrecon /usr/bin/dnsrecon DNS enumeration script
fierce /usr/bin/fierce DNS reconnaissance tool
dnsenum /usr/bin/dnsenum DNS enumeration tool

🌐 Web Application Testing Tools

Location: /usr/bin/, /usr/local/bin/

Tool Location Description
sqlmap /usr/bin/sqlmap SQL injection testing tool
gobuster /usr/bin/gobuster Directory/file brute-forcer
dirb /usr/bin/dirb Web content scanner
wfuzz /usr/bin/wfuzz Web application fuzzer
nikto /usr/bin/nikto Web server scanner
whatweb /usr/bin/whatweb Web technology identifier
wapiti /usr/bin/wapiti Web application vulnerability scanner
skipfish /usr/bin/skipfish Web application security scanner
uniscan /usr/bin/uniscan Remote file include scanner
davtest /usr/bin/davtest WebDAV server tester
cadaver /usr/bin/cadaver WebDAV client
wafw00f /usr/bin/wafw00f Web application firewall detector
httprint /usr/bin/httprint Web server fingerprinting
xsser /usr/bin/xsser XSS testing tool
commix /usr/bin/commix Command injection testing
joomscan /usr/bin/joomscan Joomla vulnerability scanner
wpscan /usr/bin/wpscan WordPress security scanner
burpsuite /usr/bin/burpsuite Web application security testing

πŸ” Password Attack & Hash Cracking Tools

Location: /usr/bin/, /usr/local/bin/

Tool Location Description
hashcat /usr/bin/hashcat Advanced password recovery
john /usr/bin/john John the Ripper password cracker
hydra /usr/bin/hydra Network login cracker
medusa /usr/bin/medusa Parallel brute-force tool
crunch /usr/bin/crunch Wordlist generator
cewl /usr/bin/cewl Custom wordlist generator
cupp /usr/bin/cupp Common user passwords profiler
brutespray /usr/bin/brutespray Nmap gnmap brute forcer
crowbar /usr/bin/crowbar Brute forcing tool
patator /usr/bin/patator Multi-purpose brute-forcer
hashid /usr/bin/hashid Hash identifier
hash-identifier /usr/bin/hash-identifier Hash type identifier
fcrackzip /usr/bin/fcrackzip ZIP password cracker
pdfcrack /usr/bin/pdfcrack PDF password cracker
chntpw /usr/bin/chntpw Windows password editor

πŸ’₯ Exploitation Frameworks & Tools

Location: /usr/bin/, /usr/share/metasploit-framework/

Tool Location Description
msfconsole /usr/bin/msfconsole Metasploit console
msfvenom /usr/bin/msfvenom Payload generator
msfdb /usr/bin/msfdb Metasploit database
searchsploit /usr/bin/searchsploit Exploit database search
exploitdb /usr/share/exploitdb/ Exploit database
commix /usr/bin/commix Command injection exploiter
beef-xss /usr/bin/beef-xss Browser exploitation framework
set /usr/bin/setoolkit Social Engineer Toolkit

πŸ” Digital Forensics & Analysis Tools

Location: /usr/bin/, /usr/local/bin/

Tool Location Description
wireshark /usr/bin/wireshark Network protocol analyzer
tshark /usr/bin/tshark Terminal-based Wireshark
tcpdump /usr/bin/tcpdump Command-line packet analyzer
binwalk /usr/bin/binwalk Firmware analysis tool
foremost /usr/bin/foremost File carving tool
strings /usr/bin/strings Extract printable strings
hexedit /usr/bin/hexedit Hex editor
volatility3 /usr/bin/vol Memory forensics framework
autopsy /usr/bin/autopsy Digital forensics platform
sleuthkit /usr/bin/fls Digital investigation tools
dc3dd /usr/bin/dc3dd Enhanced dd for forensics
ddrescue /usr/bin/ddrescue Data recovery tool
scalpel /usr/bin/scalpel File carving tool
photorec /usr/bin/photorec File recovery software
testdisk /usr/bin/testdisk Partition recovery tool
steghide /usr/bin/steghide Steganography tool
outguess /usr/bin/outguess Steganographic tool
exiftool /usr/bin/exiftool Metadata reader/writer
yara /usr/bin/yara Malware research tool

πŸ”§ Reverse Engineering & Binary Analysis Tools

Location: /usr/bin/, /usr/local/bin/

Tool Location Description
radare2 /usr/bin/r2 Reverse engineering framework
gdb /usr/bin/gdb GNU debugger
objdump /usr/bin/objdump Object file dumper
strace /usr/bin/strace System call tracer
ltrace /usr/bin/ltrace Library call tracer
readelf /usr/bin/readelf ELF file reader
nm /usr/bin/nm Symbol table lister
objcopy /usr/bin/objcopy Object file copier
strip /usr/bin/strip Symbol stripper
file /usr/bin/file File type identifier
xxd /usr/bin/xxd Hex dump utility
hexdump /usr/bin/hexdump ASCII/decimal/hex dump
od /usr/bin/od Octal dump
upx /usr/bin/upx Executable packer
valgrind /usr/bin/valgrind Memory debugging tool
ghidra /usr/share/ghidra/ NSA reverse engineering suite

πŸ•΅οΈ OSINT & Information Gathering Tools

Location: /usr/bin/, /usr/local/bin/

Tool Location Description
theharvester /usr/bin/theHarvester Email/subdomain harvester
recon-ng /usr/bin/recon-ng Web reconnaissance framework
dmitry /usr/bin/dmitry Information gathering tool
fierce /usr/bin/fierce DNS reconnaissance
dnsrecon /usr/bin/dnsrecon DNS enumeration
dnsenum /usr/bin/dnsenum DNS information gatherer
whois /usr/bin/whois Domain information lookup
metagoofil /usr/bin/metagoofil Metadata extractor
exifprobe /usr/bin/exifprobe EXIF data probe
exiftool /usr/bin/exiftool Metadata tool

πŸš€ Modern Go-based Security Tools

Location: $HOME/go/bin/, /usr/local/go/bin/

Tool Location Description
ffuf ~/go/bin/ffuf Fast web fuzzer
nuclei ~/go/bin/nuclei Vulnerability scanner
subfinder ~/go/bin/subfinder Subdomain discovery
httpx ~/go/bin/httpx HTTP toolkit
assetfinder ~/go/bin/assetfinder Asset discovery
waybackurls ~/go/bin/waybackurls Wayback machine URLs
httprobe ~/go/bin/httprobe HTTP probe
amass ~/go/bin/amass Attack surface mapping

🐍 Python Security Tools & Frameworks

Location: ~/.local/bin/ (pipx), /usr/local/bin/ (pip3)

Tool Location Description
dirsearch ~/.local/bin/dirsearch Web path scanner
httpie ~/.local/bin/http HTTP client
shodan ~/.local/bin/shodan Shodan CLI
sherlock ~/.local/bin/sherlock Social media username search
photon ~/.local/bin/photon Web crawler
sublist3r ~/.local/bin/sublist3r Subdomain enumeration
paramspider ~/.local/bin/paramspider Parameter discovery
arjun ~/.local/bin/arjun HTTP parameter discovery
impacket ~/.local/bin/ Network protocol toolkit
crackmapexec ~/.local/bin/crackmapexec Network service exploitation
volatility3 ~/.local/bin/vol Memory forensics
hashid ~/.local/bin/hashid Hash identifier
pwntools Python library CTF toolkit
ropper ~/.local/bin/ropper ROP gadget finder
ropgadget ~/.local/bin/ROPgadget ROP gadget tool
frida-tools ~/.local/bin/frida Dynamic instrumentation
objection ~/.local/bin/objection Mobile security testing

πŸ“š GitHub Repositories & Scripts

Location: /opt/github-tools/

Repository Location Description
SecLists /opt/github-tools/SecLists/ Security testing lists
PayloadsAllTheThings /opt/github-tools/PayloadsAllTheThings/ Payload collection
PEASS-ng /opt/github-tools/PEASS-ng/ Privilege escalation scripts
LinEnum /opt/github-tools/LinEnum/ Linux enumeration script
linux-smart-enumeration /opt/github-tools/linux-smart-enumeration/ Smart Linux enum
PowerSploit /opt/github-tools/PowerSploit/ PowerShell post-exploitation
nishang /opt/github-tools/nishang/ PowerShell for pentesting
dirsearch /opt/github-tools/dirsearch/ Web path scanner
XSStrike /opt/github-tools/XSStrike/ XSS detection suite
sherlock /opt/github-tools/sherlock/ Social media OSINT
Photon /opt/github-tools/Photon/ Web crawler
nuclei-templates /opt/github-tools/nuclei-templates/ Vulnerability templates
linux-exploit-suggester /opt/github-tools/linux-exploit-suggester/ Exploit suggester

πŸ“ Wordlists & Dictionaries

Location: /usr/share/wordlists/, /usr/share/seclists/

Wordlist Location Description
rockyou.txt /usr/share/wordlists/rockyou.txt Common passwords
dirb common.txt /usr/share/wordlists/dirb/common.txt Common directories
dirb big.txt /usr/share/wordlists/dirb/big.txt Large directory list
SecLists /usr/share/seclists/ Comprehensive wordlists
Discovery /usr/share/seclists/Discovery/ Discovery wordlists
Fuzzing /usr/share/seclists/Fuzzing/ Fuzzing payloads
Passwords /usr/share/seclists/Passwords/ Password lists
Usernames /usr/share/seclists/Usernames/ Username lists

πŸ”§ Post-Installation Setup

1. Reload Shell Configuration

# Reload bash configuration
source ~/.bashrc

# Or restart your terminal
exit  # Then reopen WSL

2. Verify Tool Installation

# Check if aliases are loaded
alias | grep nmap

# Test a few tools
nmap --version
sqlmap --version
hashcat --version

# Check Go tools
ffuf -h
nuclei -version

3. Update Go PATH (if needed)

# Add to ~/.bashrc if not already present
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.bashrc
source ~/.bashrc

# Verify Go tools are accessible
which ffuf
which nuclei

4. Python Tools PATH

# Ensure pipx tools are in PATH
pipx ensurepath
source ~/.bashrc

# Check Python tools
which dirsearch
which sherlock

πŸ“– Usage Examples

Quick Start Commands

# Network scanning
nmap-quick 192.168.1.1
nmap-full 192.168.1.0/24

# Web enumeration
gobuster-common https://example.com
ffuf-quick https://example.com/FUZZ

# SQL injection testing
sqlmap-quick "http://example.com/page.php?id=1"

# Password attacks
john-wordlist /path/to/hashes.txt
hashcat-dict /path/to/hashes.txt /usr/share/wordlists/rockyou.txt

# Subdomain enumeration
subfinder-quick example.com
amass enum -d example.com

# Vulnerability scanning
nuclei-scan targets.txt

# Privilege escalation
linpeas
linenum

Directory Navigation

# Navigate to tool directories
cdtools          # cd /opt
cdgithub         # cd /opt/github-tools
cdwordlists      # cd /usr/share/wordlists
cdseclists       # cd /usr/share/seclists
cdpayloads       # cd /opt/github-tools/PayloadsAllTheThings

Help and References

# Show available aliases
cheatsheet

# Get tool locations
tools-help

# Show wordlist locations
wordlists-help

# Nuclei help
nuclei-help

# Privilege escalation help
privesc-help

πŸ” Tool Access Methods

1. Direct Binary Execution

# Tools installed via apt
/usr/bin/nmap 192.168.1.1
/usr/bin/sqlmap -u "http://example.com/?id=1"

# Tools in /usr/local/bin
/usr/local/bin/some-tool

2. Aliases (Recommended)

# Use predefined aliases for quick access
nmap-quick 192.168.1.1
gobuster-common https://example.com
sqlmap-quick "http://example.com/?id=1"

3. PATH-based Execution

# Tools should be in PATH after installation
nmap --version
hashcat --help
wireshark --version

4. Go Tools

# Go tools location
export PATH=$PATH:$(go env GOPATH)/bin

# Access Go tools
ffuf -h
nuclei -version
subfinder -h

5. Python Tools (pipx)

# Python tools via pipx
~/.local/bin/dirsearch -h
~/.local/bin/sherlock --help

# Or if in PATH
dirsearch -h
sherlock --help

6. GitHub Scripts

# Execute scripts from GitHub repositories
python3 /opt/github-tools/XSStrike/xsstrike.py
bash /opt/github-tools/PEASS-ng/linPEAS/linpeas.sh
python3 /opt/github-tools/dirsearch/dirsearch.py

πŸ“ Directory Structure

/
β”œβ”€β”€ usr/
β”‚   β”œβ”€β”€ bin/                          # Main system binaries
β”‚   β”‚   β”œβ”€β”€ nmap, sqlmap, hashcat     # Core pentesting tools
β”‚   β”‚   β”œβ”€β”€ wireshark, tcpdump        # Network analysis
β”‚   β”‚   └── radare2, gdb, objdump     # Reverse engineering
β”‚   β”œβ”€β”€ share/
β”‚   β”‚   β”œβ”€β”€ wordlists/                # Password lists
β”‚   β”‚   β”‚   β”œβ”€β”€ rockyou.txt           # Common passwords
β”‚   β”‚   β”‚   └── dirb/                 # Directory wordlists
β”‚   β”‚   β”œβ”€β”€ seclists/                 # SecLists collection
β”‚   β”‚   β”‚   β”œβ”€β”€ Discovery/            # Discovery lists
β”‚   β”‚   β”‚   β”œβ”€β”€ Fuzzing/              # Fuzzing payloads
β”‚   β”‚   β”‚   └── Passwords/            # Password lists
β”‚   β”‚   β”œβ”€β”€ metasploit-framework/     # Metasploit installation
β”‚   β”‚   └── exploitdb/                # Exploit database
β”‚   └── local/
β”‚       └── bin/                      # Locally compiled tools
β”œβ”€β”€ opt/
β”‚   └── github-tools/                 # GitHub repositories
β”‚       β”œβ”€β”€ SecLists/                 # Security wordlists
β”‚       β”œβ”€β”€ PayloadsAllTheThings/     # Payload collection
β”‚       β”œβ”€β”€ PEASS-ng/                 # Privilege escalation
β”‚       β”œβ”€β”€ PowerSploit/              # PowerShell tools
β”‚       β”œβ”€β”€ XSStrike/                 # XSS detection
β”‚       └── nuclei-templates/         # Nuclei templates
└── home/
    └── $USER/
        β”œβ”€β”€ .local/
        β”‚   └── bin/                  # Python tools (pipx)
        β”‚       β”œβ”€β”€ dirsearch         # Web scanner
        β”‚       β”œβ”€β”€ sherlock          # OSINT tool
        β”‚       └── httpie            # HTTP client
        β”œβ”€β”€ go/
        β”‚   └── bin/                  # Go tools
        β”‚       β”œβ”€β”€ ffuf              # Web fuzzer
        β”‚       β”œβ”€β”€ nuclei            # Vulnerability scanner
        β”‚       └── subfinder         # Subdomain finder
        └── .bash_aliases             # Tool aliases

🎯 Aliases Reference

Network Scanning

nmap-quick <target>           # Quick port scan
nmap-full <target>            # Full scan with OS detection
nmap-vuln <target>            # Vulnerability scan
nmap-stealth <target>         # Stealth scan
masscan-quick <target>        # Fast masscan

Web Testing

gobuster-common <url>         # Directory brute force
gobuster-big <url>            # Extended directory scan
ffuf-common <url>             # Web fuzzing
sqlmap-quick <url>            # SQL injection test
sqlmap-forms <url>            # Form-based SQL injection

Password Attacks

john-wordlist <hashfile>      # John with rockyou.txt
hashcat-dict <hashfile>       # Hashcat dictionary attack
hydra-ssh <target>            # SSH brute force

Modern Tools

ffuf-quick <url>              # Fast fuzzing
nuclei-scan <targets>         # Vulnerability scanning
subfinder-quick <domain>      # Subdomain discovery
httpx-check <targets>         # HTTP probing

System & Navigation

update-all                    # Update system packages
myip                          # Show external IP
ports                         # Show listening ports
cdtools                       # Go to /opt
cdwordlists                   # Go to wordlists

❗ Known Issues

1. XSStrike Not Found

Issue: xsstrike: command not found after installation

Solutions:

# Method 1: Use full path
python3 /opt/github-tools/XSStrike/xsstrike.py -u "http://example.com"

# Method 2: Create symbolic link
sudo ln -s /opt/github-tools/XSStrike/xsstrike.py /usr/local/bin/xsstrike
chmod +x /usr/local/bin/xsstrike

# Method 3: Add to PATH
echo 'export PATH=$PATH:/opt/github-tools/XSStrike' >> ~/.bashrc
source ~/.bashrc

2. Go Tools Not Found (Nuclei, FFuf, etc.)

Issue: Go tools like nuclei not accessible via command line, especially on Linux Mint

Root Cause: Go binary path not in system PATH after installation

Solutions:

# Quick fix - temporary (current session only)
export PATH=$PATH:$HOME/go/bin

# Permanent fix - add to .bashrc
echo 'export GOPATH="$HOME/go"' >> ~/.bashrc
echo 'export PATH="$PATH:$GOPATH/bin"' >> ~/.bashrc
source ~/.bashrc

# Verify Go tools are installed
ls -la ~/go/bin/

# Test nuclei
~/go/bin/nuclei -version

# After sourcing .bashrc, should work directly
nuclei -version

# If still not working, reinstall
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

Prevention: The installer now automatically adds Go paths to .bashrc. If you installed before this fix, manually add the PATH as shown above.

3. Python Tools Path Issues

Issue: Python tools installed but not accessible

Solutions:

# Ensure pipx path
pipx ensurepath
source ~/.bashrc

# Check pipx installations
pipx list

# Manual PATH addition
echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc

4. Permission Issues

Issue: Permission denied for certain tools

Solutions:

# Fix permissions for GitHub tools
sudo chmod +x /opt/github-tools/*/
sudo chmod +x /opt/github-tools/*/*.py
sudo chmod +x /opt/github-tools/*/*.sh

# Fix ownership if needed
sudo chown -R $USER:$USER /opt/github-tools/

5. Metasploit Database Issues

Issue: Metasploit database not initialized

Solutions:

# Initialize database
sudo msfdb init

# Start database
sudo msfdb start

# Check status
sudo msfdb status

# Reinitialize if needed
sudo msfdb delete
sudo msfdb init

πŸ”§ Troubleshooting

Quick Diagnosis Tool

Run the troubleshooting script to automatically diagnose common issues:

chmod +x troubleshoot-tools.sh
./troubleshoot-tools.sh

This script will check:

  • Go installation and PATH configuration
  • Python tools installation
  • APT-installed security tools
  • GitHub repositories
  • Wordlists availability
  • Common configuration issues

Installation Issues

Script Fails with Permission Errors

# Ensure script is executable
chmod +x installer.sh

# Run with proper sudo
sudo ./installer.sh --install

Package Not Found Errors

# Update package lists
sudo apt update

# Check if running on supported distribution
cat /etc/os-release

# Use debug mode
sudo ./wsl-pentest-installer-v2.3.0.sh --debug

Network Connectivity Issues

# Test connectivity
ping -c 3 google.com

# Check DNS
nslookup google.com

# Try different mirror
sudo sed -i 's/deb.parrot.sh/mirror.parrot.sh/g' /etc/apt/sources.list

Post-Installation Issues

Tools Not in PATH

# Check current PATH
echo $PATH

# Reload shell configuration
source ~/.bashrc

# Check if aliases file exists
cat ~/.bash_aliases

# Manually add missing paths
export PATH=$PATH:/usr/local/bin:~/.local/bin:~/go/bin

Aliases Not Working

# Check if aliases are loaded
alias | grep nmap

# Source aliases manually
source ~/.bash_aliases

# Check aliases file content
cat ~/.bash_aliases

# Reload completely
exit  # Exit WSL and restart

Go Tools Issues

# Check Go installation
which go
go version

# Check GOPATH
go env GOPATH

# List installed tools
ls -la ~/go/bin/

# Reinstall specific tool
go install github.com/ffuf/ffuf/v2@latest

Python Tools Issues

# Check pipx status
pipx --version
pipx list

# Reinstall specific tool
pipx install dirsearch --force

# Check Python path
python3 -m site --user-base

Performance Issues

Slow Installation

# Use faster mirrors
sudo sed -i 's/deb.parrot.sh/mirror.parrot.sh/g' /etc/apt/sources.list

# Clear package cache
sudo apt clean
sudo apt autoclean

# Increase WSL memory (Windows side)
# Create/edit C:\Users\<username>\.wslconfig
[wsl2]
memory=8GB
processors=4

High Memory Usage

# Check memory usage
free -h
htop

# Restart WSL
wsl --shutdown
# Then restart WSL

πŸ†˜ FAQ

Q: How do I update the tools?

A: Tools installed via different methods need different update commands:

# APT packages
sudo apt update && sudo apt upgrade

# Go tools
go install github.com/ffuf/ffuf/v2@latest

# Python tools
pipx upgrade-all

# GitHub repositories
cd /opt/github-tools/SecLists && sudo git pull

Q: Can I install additional tools manually?

A: Yes, you can install additional tools:

# APT packages
sudo apt install <package-name>

# Go tools
go install <package-url>@latest

# Python tools
pipx install <package-name>

# GitHub repositories
cd /opt/github-tools/
sudo git clone <repository-url>

Q: How do I remove tools?

A: Remove tools based on installation method:

# APT packages
sudo apt remove <package-name>

# Go tools
rm ~/go/bin/<tool-name>

# Python tools
pipx uninstall <package-name>

# GitHub repositories
sudo rm -rf /opt/github-tools/<repo-name>

Q: Why is XSStrike not working?

A: XSStrike is a Python script in a GitHub repository. Use one of these methods:

# Method 1: Full path
python3 /opt/github-tools/XSStrike/xsstrike.py --help

# Method 2: Create alias
echo "alias xsstrike='python3 /opt/github-tools/XSStrike/xsstrike.py'" >> ~/.bash_aliases

# Method 3: Navigate to directory
cd /opt/github-tools/XSStrike/
python3 xsstrike.py --help

Q: How do I access tools that need GUI in WSL?

A: For GUI tools in WSL:

# Install X server for Windows (VcXsrv, X410, etc.)
# Set DISPLAY variable
export DISPLAY=:0

# For specific tools like Wireshark
wireshark  # Should open GUI if X server is running

Q: Can I use this on other Linux distributions?

A: Yes! As of v3.0.0, this script supports multiple distributions:

  • Debian/Ubuntu family (apt): Kali, Parrot, Linux Mint, Ubuntu, Debian
  • Arch family (pacman): Arch Linux, Manjaro, EndeavourOS
  • Red Hat family (dnf/yum): Fedora, RHEL, CentOS, Rocky, AlmaLinux

The script auto-detects your distribution and uses the appropriate package manager. Some tools may not be available on all distributions.

Q: How do I backup my installation?

A: Backup important directories and configurations:

# Backup GitHub tools
tar -czf github-tools-backup.tar.gz /opt/github-tools/

# Backup wordlists
tar -czf wordlists-backup.tar.gz /usr/share/wordlists/ /usr/share/seclists/

# Backup configuration
cp ~/.bash_aliases ~/.bashrc ~/config-backup/

# Export WSL distribution (Windows side)
wsl --export kali kali-backup.tar

Q: How do I optimize performance?

A: Several optimization options:

# WSL configuration (Windows side - C:\Users\<username>\.wslconfig)
[wsl2]
memory=8GB
processors=4
swap=2GB

# Linux optimizations
# Disable IPv6 if causing issues
echo 'net.ipv6.conf.all.disable_ipv6 = 1' | sudo tee -a /etc/sysctl.conf

# Use faster DNS
echo 'nameserver 1.1.1.1' | sudo tee /etc/resolv.conf

πŸ“š Additional Resources

Documentation & Guides

Tool Documentation

Learning Resources

🀝 Contributing

Reporting Issues

If you encounter issues:

  1. Check the troubleshooting section
  2. Review the logs in /tmp/pentesting-installer-*.log
  3. Create an issue with:
    • WSL version (wsl --status)
    • Distribution version (cat /etc/os-release)
    • Error messages
    • Steps to reproduce

Suggesting Improvements

  • Tool additions or removals
  • Performance optimizations
  • Documentation improvements
  • Additional aliases or shortcuts

πŸ“œ License

This project is licensed under the MIT License. See LICENSE file for details.

⚠️ Disclaimer

This tool is intended for authorized penetration testing and educational purposes only. Users are responsible for complying with all applicable laws and regulations. The authors are not responsible for any misuse or damage caused by this tool.

πŸ”„ Version History

  • v3.0.1 (Current): Bug fixes and improvements

    • FIXED: Nuclei and Go tools not working on Linux Mint and other distributions
    • FIXED: Go binary path not persisting after installation
    • FIXED: Duplicate IPv6 configuration entries in sysctl.conf
    • ADDED: Automatic Go PATH configuration in .bashrc
    • ADDED: Troubleshooting script (troubleshoot-tools.sh)
    • IMPROVED: Better Go tools installation verification
    • IMPROVED: Enhanced error messages and post-installation instructions
    • IMPROVED: Update script now handles Go tools PATH correctly
  • v3.0.0: Universal edition with multi-distribution support (Arch, Fedora, Mint, etc.)

  • v2.3.0: Comprehensive edition with 200+ tools, enhanced error handling

  • v2.2.0: Added virtual package support, improved WSL fixes

  • v2.1.0: Enhanced tool collection, better progress indicators

  • v2.0.0: Major rewrite with robust error handling


Happy Hacking! πŸ›‘οΈβš‘

For support and updates, check the repository regularly and refer to this README for troubleshooting common issues.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors