| name | performing-phishing-simulation-with-gophish |
| description | Deploy and run authorized phishing awareness campaigns with GoPhish, covering admin panel setup, SMTP sending profiles, email template and landing page creation, target user groups, and campaign reporting to measure click and credential-submission rates. Use when planning or executing a phishing simulation for employee security-awareness testing or measuring susceptibility to social engineering. |
| domain | cybersecurity |
| subdomain | phishing-defense |
| tags | ["phishing","email-security","social-engineering","dmarc","awareness","gophish","simulation"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
| nist_csf | ["PR.AT-01","DE.CM-09","RS.CO-02","DE.AE-02"] |
| mitre_attack | ["T1566","T1598","T1534","T1036"] |
| mitre_f3 | {"version":"1.1","tactics":["resource-development","initial-access","reconnaissance"],"techniques":[{"id":"T1660","name":"Phishing","tactic":"initial-access","source":"attack"},{"id":"T1598","name":"Phishing for Information","tactic":"reconnaissance","source":"attack"},{"id":"F1020.002","name":"Create Fake Materials: Fake Website","tactic":"resource-development","source":"f3"},{"id":"T1583.001","name":"Acquire Infrastructure: Domains","tactic":"resource-development","source":"attack"},{"id":"T1557","name":"Adversary-in-the-Middle","tactic":"initial-access","source":"attack"},{"id":"F1031","name":"Impersonate Account Holder","tactic":"initial-access","source":"f3"}]} |
Performing Phishing Simulation with GoPhish
Overview
GoPhish is an open-source phishing simulation framework used by security teams to conduct authorized phishing awareness campaigns. It provides campaign management, email template creation, landing page cloning, and comprehensive reporting. This skill covers deploying GoPhish, creating realistic phishing scenarios, and analyzing campaign results to measure and improve organizational resilience.
When to Use
- When conducting security assessments that involve performing phishing simulation with gophish
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing
Prerequisites
- GoPhish binary or Docker image (https://github.com/gophish/gophish)
- SMTP server or relay for sending test emails
- Written authorization from management for phishing simulation
- Target email list (HR-approved)
- SSL/TLS certificate for landing pages
- Python 3.8+ for automation scripts
Key Concepts
GoPhish Architecture
- Admin Panel: Web UI for campaign management (default port 3333)
- Phishing Server: Serves landing pages and tracks clicks (default port 80/443)
- SMTP Configuration: Outbound email sending profile
- Campaign Engine: Orchestrates email delivery, tracking, and reporting
Campaign Components
- Sending Profile: SMTP server configuration for outbound email
- Email Template: The phishing email content with tracking
- Landing Page: The fake page users are directed to
- User Group: Target recipients for the campaign
- Campaign: Combines all components with scheduling
Workflow
Step 1: Deploy GoPhish
docker pull gophish/gophish
docker run -d --name gophish -p 3333:3333 -p 8080:80 gophish/gophish
wget https://github.com/gophish/gophish/releases/latest/download/gophish-v0.12.1-linux-64bit.zip
unzip gophish-v0.12.1-linux-64bit.zip
chmod +x gophish
./gophish
Step 2: Configure Sending Profile