| name | performing-phishing-simulation-with-gophish |
| description | 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 pag |
| 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"] |
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
Most Often Missed & How to Confirm
- Deliverability kills the test silently: if the SEG quarantines the sim, low click rates reflect filtering, not user behavior - allowlist the GoPhish sending IP/domain (or a custom header) in the gateway and confirm delivery to a seed mailbox first.
- Sending profile authentication: a from-domain with
-all SPF and DMARC reject will bounce or junk the sim unless the GoPhish relay is authorized - send through an authenticated relay and verify SPF/DKIM pass.
- Tracking pixel and link wiring: omitting
{{.Tracker}} or {{.URL}} means opens/clicks never register; link-wrappers (Safe Links) auto-detonate {{.URL}} and inflate click counts - confirm a wrapper isn't pre-fetching the landing page.
- Landing page must serve over HTTPS: browsers/SEGs block mixed-content or invalid-cert pages, suppressing submits - install a valid TLS cert and test the full open->click->submit->redirect flow.
- Credential capture for authorized testing only: confirm capture is scoped, data is handled per the written authorization, and users redirect to training after submit.
- Confirm before launch: send a single test to a seed user and verify the email lands in inbox (not junk), the open registers, the click registers, the landing page renders over HTTPS, the submit is captured, and the API report reflects all four events. Stagger sends so volume doesn't trip rate-based filtering.
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)