Files
CoM-c2itall/modules/attack-box/files/manual_testing_menu.sh
T
Operator 0799bfbae8 Initial public portfolio release
Sanitized version of red team infrastructure automation platform.
Operational content (implant pipelines, lures, credential capture)
replaced with documented stubs. Architecture and infrastructure
automation code intact.
2026-06-23 16:12:14 -04:00

393 lines
13 KiB
Bash
Executable File

#!/bin/bash
# Manual Testing Menu for Attack Box
# Interactive interface for manual penetration testing tasks
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# ASCII Banner
show_banner() {
echo -e "${CYAN}"
cat << "EOF"
╔═══════════════════════════════════════╗
║ ATTACK BOX MENU ║
║ Manual Testing Interface ║
╚═══════════════════════════════════════╝
EOF
echo -e "${NC}"
}
# Main menu
show_main_menu() {
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Attack Box Manual Testing Menu ${NC}"
echo -e "${GREEN}========================================${NC}"
echo
echo -e "${BLUE}1.${NC} Target Reconnaissance"
echo -e "${BLUE}2.${NC} Network Scanning"
echo -e "${BLUE}3.${NC} Web Application Testing"
echo -e "${BLUE}4.${NC} Vulnerability Assessment"
echo -e "${BLUE}5.${NC} Exploitation Framework"
echo -e "${BLUE}6.${NC} Post-Exploitation"
echo -e "${BLUE}7.${NC} Password Attacks"
echo -e "${BLUE}8.${NC} Wireless Testing"
echo -e "${BLUE}9.${NC} Social Engineering"
echo -e "${BLUE}10.${NC} OSINT Tools"
echo -e "${BLUE}11.${NC} Custom Scripts"
echo -e "${BLUE}12.${NC} Tool Status & Updates"
echo -e "${BLUE}13.${NC} Generate Reports"
echo -e "${BLUE}0.${NC} Exit"
echo
echo -ne "${YELLOW}Select an option [0-13]: ${NC}"
}
# Reconnaissance menu
recon_menu() {
clear
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Reconnaissance Tools ${NC}"
echo -e "${GREEN}========================================${NC}"
echo
echo -e "${BLUE}1.${NC} Domain Enumeration (theHarvester)"
echo -e "${BLUE}2.${NC} Subdomain Discovery (Subfinder + Amass)"
echo -e "${BLUE}3.${NC} DNS Enumeration (dnsrecon)"
echo -e "${BLUE}4.${NC} WHOIS Lookup"
echo -e "${BLUE}5.${NC} Shodan Search"
echo -e "${BLUE}6.${NC} Google Dorking (Pagodo)"
echo -e "${BLUE}7.${NC} Certificate Transparency"
echo -e "${BLUE}8.${NC} Automated Recon Script"
echo -e "${BLUE}0.${NC} Back to Main Menu"
echo
echo -ne "${YELLOW}Select an option [0-8]: ${NC}"
read -r choice
case $choice in
1) domain_enum ;;
2) subdomain_discovery ;;
3) dns_enum ;;
4) whois_lookup ;;
5) shodan_search ;;
6) google_dorking ;;
7) cert_transparency ;;
8) automated_recon ;;
0) return ;;
*) echo -e "${RED}Invalid option!${NC}"; sleep 2; recon_menu ;;
esac
}
# Network scanning menu
network_menu() {
clear
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Network Scanning Tools ${NC}"
echo -e "${GREEN}========================================${NC}"
echo
echo -e "${BLUE}1.${NC} Nmap Host Discovery"
echo -e "${BLUE}2.${NC} Nmap Port Scan (Top 1000)"
echo -e "${BLUE}3.${NC} Nmap Full Port Scan"
echo -e "${BLUE}4.${NC} Nmap Service Detection"
echo -e "${BLUE}5.${NC} Nmap Vulnerability Scripts"
echo -e "${BLUE}6.${NC} Masscan Fast Scan"
echo -e "${BLUE}7.${NC} Automated Port Scan Script"
echo -e "${BLUE}8.${NC} Network Mapper (netdiscover)"
echo -e "${BLUE}0.${NC} Back to Main Menu"
echo
echo -ne "${YELLOW}Select an option [0-8]: ${NC}"
read -r choice
case $choice in
1) nmap_discovery ;;
2) nmap_port_scan ;;
3) nmap_full_scan ;;
4) nmap_service_detection ;;
5) nmap_vuln_scripts ;;
6) masscan_scan ;;
7) automated_port_scan ;;
8) network_discovery ;;
0) return ;;
*) echo -e "${RED}Invalid option!${NC}"; sleep 2; network_menu ;;
esac
}
# Web application testing menu
web_menu() {
clear
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Web Application Testing Tools ${NC}"
echo -e "${GREEN}========================================${NC}"
echo
echo -e "${BLUE}1.${NC} Directory/File Enumeration (Gobuster)"
echo -e "${BLUE}2.${NC} Technology Detection (WhatWeb)"
echo -e "${BLUE}3.${NC} Vulnerability Scanner (Nikto)"
echo -e "${BLUE}4.${NC} Web Crawler (Hakrawler)"
echo -e "${BLUE}5.${NC} Parameter Discovery (Arjun)"
echo -e "${BLUE}6.${NC} SQL Injection (SQLMap)"
echo -e "${BLUE}7.${NC} XSS Testing (XSStrike)"
echo -e "${BLUE}8.${NC} Automated Web Enum Script"
echo -e "${BLUE}9.${NC} Launch Burp Suite"
echo -e "${BLUE}0.${NC} Back to Main Menu"
echo
echo -ne "${YELLOW}Select an option [0-9]: ${NC}"
read -r choice
case $choice in
1) directory_enum ;;
2) tech_detection ;;
3) web_vuln_scan ;;
4) web_crawler ;;
5) param_discovery ;;
6) sql_injection ;;
7) xss_testing ;;
8) automated_web_enum ;;
9) launch_burp ;;
0) return ;;
*) echo -e "${RED}Invalid option!${NC}"; sleep 2; web_menu ;;
esac
}
# Vulnerability assessment menu
vuln_menu() {
clear
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Vulnerability Assessment Tools ${NC}"
echo -e "${GREEN}========================================${NC}"
echo
echo -e "${BLUE}1.${NC} Nuclei Scanner"
echo -e "${BLUE}2.${NC} OpenVAS Scan"
echo -e "${BLUE}3.${NC} SearchSploit (ExploitDB)"
echo -e "${BLUE}4.${NC} CVE Search"
echo -e "${BLUE}5.${NC} Vulnerability Database Lookup"
echo -e "${BLUE}6.${NC} Custom Vulnerability Scripts"
echo -e "${BLUE}0.${NC} Back to Main Menu"
echo
echo -ne "${YELLOW}Select an option [0-6]: ${NC}"
read -r choice
case $choice in
1) nuclei_scan ;;
2) openvas_scan ;;
3) searchsploit_search ;;
4) cve_search ;;
5) vuln_db_lookup ;;
6) custom_vuln_scripts ;;
0) return ;;
*) echo -e "${RED}Invalid option!${NC}"; sleep 2; vuln_menu ;;
esac
}
# Functions for each tool category
domain_enum() {
echo -e "${YELLOW}[*] Domain Enumeration with theHarvester${NC}"
echo -ne "Enter target domain: "
read -r domain
echo -e "${GREEN}[+] Running theHarvester against $domain${NC}"
theHarvester -d "$domain" -b all -l 500
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
recon_menu
}
subdomain_discovery() {
echo -e "${YELLOW}[*] Subdomain Discovery${NC}"
echo -ne "Enter target domain: "
read -r domain
echo -e "${GREEN}[+] Running Subfinder...${NC}"
subfinder -d "$domain" -o "subdomains_$domain.txt"
echo -e "${GREEN}[+] Running Amass...${NC}"
amass enum -d "$domain" -o "amass_$domain.txt"
echo -e "${BLUE}[*] Results saved to subdomains_$domain.txt and amass_$domain.txt${NC}"
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
recon_menu
}
nmap_port_scan() {
echo -e "${YELLOW}[*] Nmap Port Scan (Top 1000)${NC}"
echo -ne "Enter target IP/range: "
read -r target
echo -e "${GREEN}[+] Scanning $target...${NC}"
nmap -sS -T4 --top-ports 1000 -oN "nmap_top1000_$target.txt" "$target"
echo -e "${BLUE}[*] Results saved to nmap_top1000_$target.txt${NC}"
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
network_menu
}
directory_enum() {
echo -e "${YELLOW}[*] Directory/File Enumeration${NC}"
echo -ne "Enter target URL: "
read -r url
echo -e "${GREEN}[+] Running Gobuster against $url${NC}"
gobuster dir -u "$url" -w /usr/share/wordlists/dirb/common.txt -o "gobuster_$(echo $url | sed 's|https\?://||g' | tr '/' '_').txt"
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
web_menu
}
automated_recon() {
echo -e "${YELLOW}[*] Running Automated Reconnaissance Script${NC}"
echo -ne "Enter target domain/IP: "
read -r target
echo -e "${GREEN}[+] Executing recon automation script...${NC}"
if [ -f "/root/operator/tools/scripts/recon_automation.sh" ]; then
/root/operator/tools/scripts/recon_automation.sh "$target"
else
echo -e "${RED}[-] Recon automation script not found!${NC}"
fi
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
recon_menu
}
automated_port_scan() {
echo -e "${YELLOW}[*] Running Automated Port Scan Script${NC}"
echo -ne "Enter target IP/range: "
read -r target
echo -e "${GREEN}[+] Executing port scan automation script...${NC}"
if [ -f "/root/operator/tools/scripts/port_scan_automation.sh" ]; then
/root/operator/tools/scripts/port_scan_automation.sh "$target"
else
echo -e "${RED}[-] Port scan automation script not found!${NC}"
fi
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
network_menu
}
automated_web_enum() {
echo -e "${YELLOW}[*] Running Automated Web Enumeration Script${NC}"
echo -ne "Enter target URL: "
read -r url
echo -e "${GREEN}[+] Executing web enumeration automation script...${NC}"
if [ -f "/root/operator/tools/scripts/web_enum_automation.sh" ]; then
/root/operator/tools/scripts/web_enum_automation.sh "$url"
else
echo -e "${RED}[-] Web enumeration automation script not found!${NC}"
fi
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
web_menu
}
# Tool status and updates
tool_status() {
clear
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Tool Status & Updates ${NC}"
echo -e "${GREEN}========================================${NC}"
echo
# Check key tools
tools=("nmap" "gobuster" "nuclei" "subfinder" "amass" "sqlmap" "nikto" "whatweb")
for tool in "${tools[@]}"; do
if command -v "$tool" &> /dev/null; then
echo -e "${GREEN}[✓]${NC} $tool - Installed"
else
echo -e "${RED}[✗]${NC} $tool - Not Found"
fi
done
echo
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
}
# Generate reports
generate_reports() {
clear
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Generate Reports ${NC}"
echo -e "${GREEN}========================================${NC}"
echo
WORKSPACE="/root/operator"
DATE=$(date +%Y%m%d_%H%M%S)
REPORT_DIR="$WORKSPACE/reports/manual_testing_$DATE"
mkdir -p "$REPORT_DIR"
echo -e "${YELLOW}[*] Generating comprehensive report...${NC}"
# Collect all scan results
find "$WORKSPACE" -name "*.txt" -type f -exec cp {} "$REPORT_DIR/" \; 2>/dev/null
find "$WORKSPACE" -name "*.html" -type f -exec cp {} "$REPORT_DIR/" \; 2>/dev/null
find "$WORKSPACE" -name "*.json" -type f -exec cp {} "$REPORT_DIR/" \; 2>/dev/null
# Create summary report
cat > "$REPORT_DIR/summary_report.md" << EOF
# Manual Testing Report
**Generated:** $(date)
**Operator:** $(whoami)
## Engagement Summary
This report contains results from manual penetration testing activities.
## Files Included
$(ls -la "$REPORT_DIR" | grep -v "^total")
## Key Findings
- Review individual tool outputs for detailed findings
- Cross-reference results across multiple tools
- Validate findings manually before reporting
## Next Steps
1. Analyze all collected data
2. Prioritize findings by severity
3. Prepare client deliverables
4. Archive results securely
EOF
echo -e "${GREEN}[+] Report generated: $REPORT_DIR${NC}"
echo -e "${BLUE}[*] Press Enter to continue...${NC}"
read -r
}
# Main execution loop
main() {
while true; do
clear
show_banner
show_main_menu
read -r choice
case $choice in
1) recon_menu ;;
2) network_menu ;;
3) web_menu ;;
4) vuln_menu ;;
5) echo -e "${YELLOW}[*] Exploitation Framework - Launch Metasploit${NC}"; msfconsole ;;
6) echo -e "${YELLOW}[*] Post-Exploitation - Launch custom shells/tools${NC}"; sleep 2 ;;
7) echo -e "${YELLOW}[*] Password Attacks - Hydra, John, Hashcat${NC}"; sleep 2 ;;
8) echo -e "${YELLOW}[*] Wireless Testing - Aircrack-ng suite${NC}"; sleep 2 ;;
9) echo -e "${YELLOW}[*] Social Engineering - SET toolkit${NC}"; setoolkit ;;
10) echo -e "${YELLOW}[*] OSINT Tools - Various intelligence gathering tools${NC}"; sleep 2 ;;
11) echo -e "${YELLOW}[*] Custom Scripts - Run user-defined scripts${NC}"; sleep 2 ;;
12) tool_status ;;
13) generate_reports ;;
0) echo -e "${GREEN}[+] Goodbye!${NC}"; exit 0 ;;
*) echo -e "${RED}Invalid option! Please try again.${NC}"; sleep 2 ;;
esac
done
}
# Check if running as root
if [[ $EUID -eq 0 ]]; then
echo -e "${YELLOW}[!] Running as root - be careful!${NC}"
sleep 2
fi
# Create operator structure if it doesn't exist
mkdir -p "/root/operator/"{tools,scans,logs,loot,payloads,targets,screenshots,reports,notes,exploits,wordlists,pcaps}
# Start the main menu
main