0799bfbae8
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.
393 lines
13 KiB
Bash
Executable File
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
|