Skip to content

Latest commit

 

History

History
98 lines (77 loc) · 2.63 KB

File metadata and controls

98 lines (77 loc) · 2.63 KB

PROJECT_SCOPE.md - gophish-installer

Overview

One-stop PowerShell script to deploy GoPhish phishing simulation platform on Windows machines for IT department security awareness testing.

Current Work

Active Task: None Status: All tasks complete Started: - Notes: Full implementation complete


Completed

1.1 Admin Elevation Check

  • Detect if running as administrator
  • Auto-elevate or prompt user

1.2 Chocolatey Detection/Install

  • Check if choco command available
  • Install Chocolatey if missing
  • Verify installation success

1.3 WSL2 Detection/Install

  • Check WSL version
  • Enable WSL feature if needed
  • Install WSL2 kernel update
  • Set WSL2 as default

1.4 Docker Desktop Detection/Install

  • Check if Docker daemon running
  • Install Docker Desktop via Chocolatey if missing
  • Wait for Docker service to start
  • Verify docker commands work

2.1 Pull GoPhish Container

  • Pull gophish/gophish Docker image
  • Show download progress
  • Handle timeout/retry

2.2 Create Docker Compose Config

  • Generate docker-compose.yml for GoPhish
  • Configure default volumes for persistence
  • Map ports 3333 and 80
  • Set appropriate resource limits

2.3 Start GoPhish Container

  • Run docker-compose up -d
  • Wait for services to initialize
  • Check container health status

3.1 Retrieve Admin Credentials

  • Extract initial admin password from container logs
  • Display credentials to user
  • Remind user to change password

3.2 Display Access Information

  • Show admin UI URL
  • Show phishing server URL
  • Provide first-campaign quick start guide

3.3 Create Status Check Function

  • -CheckOnly parameter support
  • Show container status
  • Show ports and volume info

3.4 Create Uninstall Function

  • -Uninstall parameter support
  • Stop and remove containers
  • Optionally remove volumes with confirmation
  • Clean up compose file

4.1 Error Handling

  • Try/catch blocks for all operations
  • Clear error messages
  • Exit codes on failure

4.2 Logging

  • Timestamped log output
  • Optional -LogPath parameter
  • Verbose mode support

4.3 README Documentation

  • Installation instructions
  • Usage examples
  • First campaign walkthrough
  • Compliance notes

Technical Notes

  • Image: gophish/gophish (official GoPhish image)
  • Ports: 3333 (admin UI - HTTPS), 80 (phishing server - HTTP)
  • Default admin: admin / (random password in logs)
  • Database: SQLite stored in Docker volume
  • Disk space: ~500MB for container + campaign data