AutoRecon/scripts/install-tools-debian.sh

67 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Debian/Ubuntu Tool Installation Script
# Usage: ./scripts/install-tools-debian.sh [WSL_DETECTED]
WSL_DETECTED=${1:-$WSL_DETECTED}
install_debian_tools() {
local OS_ID=${OS_ID:-$(grep '^ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"')}
echo "📦 Installing security tools for $OS_ID (Debian-based)..."
echo "🔄 Updating package cache..."
sudo apt update -qq
echo "🐍 Installing Python venv package (fixes ensurepip issues)..."
sudo apt install -y python3-venv python3-pip
echo "📦 Installing core security tools..."
sudo apt install -y curl wget git nmap nikto whatweb sslscan smbclient
echo "📦 Installing available enumeration tools..."
local FAILED_TOOLS=""
local tools="seclists dnsrecon enum4linux feroxbuster gobuster impacket-scripts nbtscan onesixtyone oscanner redis-tools smbmap snmp sipvicious tnscmd10g"
for tool in $tools; do
if ! sudo apt install -y $tool 2>/dev/null; then
echo "⚠️ $tool failed via apt, checking snap..."
FAILED_TOOLS="$FAILED_TOOLS $tool"
fi
done
# Try snap for failed tools in WSL
if [ -n "$FAILED_TOOLS" ] && [ "$WSL_DETECTED" = "yes" ]; then
echo "🫰 Installing snap for WSL compatibility..."
sudo apt install -y snapd
sudo systemctl enable snapd 2>/dev/null || true
for tool in $FAILED_TOOLS; do
case $tool in
feroxbuster)
echo "Installing feroxbuster via snap..."
sudo snap install feroxbuster 2>/dev/null || echo "⚠️ feroxbuster snap install failed"
;;
gobuster)
echo "Installing gobuster via snap..."
sudo snap install gobuster 2>/dev/null || echo "⚠️ gobuster snap install failed"
;;
*)
echo "⚠️ No snap alternative for $tool"
;;
esac
done
fi
echo "✅ Tool installation complete"
}
# Main execution
main() {
install_debian_tools
}
# Run if script is executed directly
if [ "${BASH_SOURCE[0]}" = "${0}" ]; then
main "$@"
fi