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.
105 lines
3.0 KiB
Bash
Executable File
105 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Attack Box - Go Tools Installation Script
|
|
# Installs security tools via go install with enhanced feedback
|
|
|
|
# Get OPERATOR_DIR from environment or use default
|
|
OPERATOR_DIR="${OPERATOR_DIR:-/root/operator}"
|
|
|
|
export GOPATH="$OPERATOR_DIR/tools/go"
|
|
export PATH="/root/.local/bin:/usr/local/go/bin:$GOPATH/bin:$PATH"
|
|
mkdir -p "$GOPATH"
|
|
|
|
echo "================================================================"
|
|
echo "GO TOOLS INSTALLATION STARTED"
|
|
echo "================================================================"
|
|
echo "Installing Go tools to $GOPATH/bin..."
|
|
echo "Each tool has a 5-minute timeout"
|
|
echo "================================================================"
|
|
|
|
GO_TOOLS=(
|
|
"github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest"
|
|
"github.com/projectdiscovery/httpx/cmd/httpx@latest"
|
|
"github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest"
|
|
"github.com/projectdiscovery/naabu/v2/cmd/naabu@latest"
|
|
"github.com/projectdiscovery/dnsx/cmd/dnsx@latest"
|
|
"github.com/projectdiscovery/katana/cmd/katana@latest"
|
|
"github.com/tomnomnom/waybackurls@latest"
|
|
"github.com/tomnomnom/assetfinder@latest"
|
|
"github.com/tomnomnom/httprobe@latest"
|
|
"github.com/tomnomnom/gf@latest"
|
|
"github.com/lc/gau/v2/cmd/gau@latest"
|
|
"github.com/hakluke/hakrawler@latest"
|
|
"github.com/ropnop/kerbrute@latest"
|
|
)
|
|
|
|
TOOL_NAMES=(
|
|
"subfinder"
|
|
"httpx"
|
|
"nuclei"
|
|
"naabu"
|
|
"dnsx"
|
|
"katana"
|
|
"waybackurls"
|
|
"assetfinder"
|
|
"httprobe"
|
|
"gf"
|
|
"gau"
|
|
"hakrawler"
|
|
"kerbrute"
|
|
)
|
|
|
|
TOTAL=${#GO_TOOLS[@]}
|
|
CURRENT=0
|
|
FAILED=0
|
|
SUCCESS=0
|
|
|
|
for i in "${!GO_TOOLS[@]}"; do
|
|
CURRENT=$((CURRENT + 1))
|
|
tool="${GO_TOOLS[$i]}"
|
|
name="${TOOL_NAMES[$i]}"
|
|
|
|
echo ""
|
|
echo "[$CURRENT/$TOTAL] Installing $name..."
|
|
echo "Repository: $tool"
|
|
echo "Progress: $(( CURRENT * 100 / TOTAL ))%"
|
|
echo "Started: $(date '+%H:%M:%S')"
|
|
echo "Working directory: $GOPATH"
|
|
|
|
if timeout 300 bash -c "go install -v $tool 2>&1 | while read line; do echo '[GO] $line'; done"; then
|
|
if [ -f "$GOPATH/bin/$name" ]; then
|
|
SUCCESS=$((SUCCESS + 1))
|
|
echo "✓ $name installed successfully at $GOPATH/bin/$name"
|
|
ls -la "$GOPATH/bin/$name"
|
|
else
|
|
FAILED=$((FAILED + 1))
|
|
echo "✗ $name binary not found after installation"
|
|
fi
|
|
else
|
|
FAILED=$((FAILED + 1))
|
|
echo "✗ $name installation failed or timed out"
|
|
fi
|
|
|
|
echo "Completed: $(date '+%H:%M:%S')"
|
|
echo "Status: $SUCCESS successful, $FAILED failed"
|
|
echo "Remaining: $(( TOTAL - CURRENT )) tools"
|
|
echo "================================================================"
|
|
done
|
|
|
|
echo ""
|
|
echo "GO TOOLS INSTALLATION SUMMARY:"
|
|
echo "=============================="
|
|
echo "Total attempted: $TOTAL"
|
|
echo "Successful: $SUCCESS"
|
|
echo "Failed: $FAILED"
|
|
echo "Success rate: $(( SUCCESS * 100 / TOTAL ))%"
|
|
echo ""
|
|
echo "Installed Go tools:"
|
|
ls -la "$GOPATH/bin/" || echo "No Go tools installed"
|
|
echo ""
|
|
echo "Go environment:"
|
|
echo "GOPATH: $GOPATH"
|
|
echo "Go version: $(go version 2>/dev/null || echo 'Go not found')"
|
|
echo "Go executable: $(which go || echo 'Go not in PATH')"
|
|
|
|
exit 0
|