performing-phishing-simulation-with-gophish
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.
- License 许可
- Apache-2.0
- 最近更新
- 2026-08-31
- Stars
- ★ 3.6w
- Forks
- 4.4k
01 前言 Front Matter
- name
- performing-phishing-simulation-with-gophish
- tags
- [ "phishing", "email-security", "social-engineering", "dmarc", "awareness", "gophish", "simulation" ]
- author
- mahipal
- domain
- cybersecurity
- license
- Apache-2.0
- version
- 1.0
- mitre_f3
- { "tactics": [ "resource-development", "initial-access", "reconnaissance" ], "version": "1.1", "techniques": [ { "id": "T1660", "name": "Phishing", "source": "attack", "tactic": "initial-access" }, { "id": "T1598", "name": "Phishing for Information", "source": "attack", "tactic": "reconnaissance" }, { "id": "F1020.002", "name": "Create Fake Materials: Fake Website", "source": "f3", "tactic": "resource-development" }, { "id": "T1583.001", "name": "Acquire Infrastructure: Domains", "source": "attack", "tactic": "resource-development" }, { "id": "T1557", "name": "Adversary-in-the-Middle", "source": "attack", "tactic": "initial-access" }, { "id": "F1031", "name": "Impersonate Account Holder", "source": "f3", "tactic": "initial-access" } ] }
- nist_csf
- [ "PR.AT-01", "DE.CM-09", "RS.CO-02", "DE.AE-02" ]
- subdomain
- phishing-defense
- 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.
- mitre_attack
- [ "T1566", "T1598", "T1534", "T1036" ]
02 资源文件 7
- 资产文件assets/template.md2.5 KB
- 许可证LICENSE11.0 KB
- 参考文档references/api-reference.md1.6 KB
- 参考文档references/standards.md2.7 KB
- 参考文档references/workflows.md3.5 KB
- 脚本scripts/agent.py7.5 KB
- 脚本scripts/process.py20.0 KB
03 SKILL.md 正文
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 deployment
docker pull gophish/gophish
docker run -d --name gophish -p 3333:3333 -p 8080:80 gophish/gophish
# Or binary deployment
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
- Name: "Internal Mail Server"
- SMTP From: awareness-test@yourdomain.com
- Host: smtp.yourdomain.com:587
- Username/Password: Service account credentials
- Enable TLS
Step 3: Create Email Template
- Use realistic scenarios: password reset, IT notification, HR update
- Include GoPhish tracking pixel:
{{.Tracker}} - Include phishing link:
{{.URL}} - Personalize with
{{.FirstName}},{{.LastName}},{{.Position}}
Step 4: Create Landing Page
- Clone legitimate login page using GoPhish's import feature
- Enable credential capture (for authorized testing only)
- Configure redirect to training page after submission
- Add SSL certificate for HTTPS
Step 5: Import Users and Launch Campaign
- Import CSV with: First Name, Last Name, Email, Position
- Set campaign schedule (stagger sends to avoid detection)
- Launch and monitor in real-time
Step 6: Analyze Results with process.py
Use the automation script to pull campaign data via GoPhish API and generate detailed analytics reports.
Tools & Resources
- GoPhish: https://getgophish.com/
- GoPhish API Docs: https://docs.getgophish.com/api-documentation/
- GoPhish GitHub: https://github.com/gophish/gophish
- Evilginx2 (for advanced AiTM testing): https://github.com/kgretzky/evilginx2
- King Phisher: https://github.com/rsmusllp/king-phisher
Validation
- Successfully deploy GoPhish and access admin panel
- Create and send a test phishing email to a test mailbox
- Capture simulated credentials on landing page
- Generate campaign report with open/click/submit rates
- Redirect users to awareness training after interaction
04 同仓库更多 Skills
verifying-build-provenance-with-slsa-sigstore
Verifies artifact signatures and SLSA provenance using Sigstore's cosign (verify, verify-attestation, verify-blob-attestation) and slsa-verifier (verify-artifact), enforcing keyless OIDC builder identity and source repo against SLSA Build levels. Use in CI/CD before deploying artifacts, when consuming third-party attestations, establishing a SLSA Build L3 pipeline, or confirming provenance during incident response or admission control.
validating-tpm-measured-boot-attestation
Verifies TPM 2.0 measured-boot integrity and remote attestation with tpm2-tools -- reading PCRs (tpm2_pcrread), replaying the boot event log, generating and checking signed quotes (tpm2_quote/tpm2_checkquote), and sealing secrets to a PCR policy. Use to confirm a system booted trusted firmware/kernel for Zero Trust device posture, detect boot-chain tampering via PCR drift, or build a golden-value baseline for fleet attestation.
validating-backup-integrity-for-recovery
Validates backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to confirm backups are reliable for disaster recovery and ransomware response. Use before relying on backups for recovery, when building post-backup validation pipelines, auditing backup infrastructure for compliance, or checking immutable/air-gapped backups for silent corruption or tampering.
triaging-windows-with-kape
Runs KAPE (Kroll Artifact Parser and Extractor) to collect targeted forensic artifacts (registry hives, $MFT, event logs, prefetch, browser data) via Targets and parse them with Modules wrapping Eric Zimmerman's EZ Tools (PECmd, MFTECmd, RECmd). Use during early incident containment/triage when full disk imaging is impractical but a defensible, parseable Windows artifact set is needed quickly, including at-scale remote collection.
triaging-vulnerabilities-with-ssvc-framework
Triages and prioritizes vulnerabilities with CISA's Stakeholder-Specific Vulnerability Categorization (SSVC) decision tree, weighing exploitation status (via the CISA KEV catalog and FIRST EPSS API), technical impact, automatability, and mission prevalence to output Track/Track*/Attend/Act decisions. Use when prioritizing vulnerability scan results (OpenVAS, Nessus, Qualys) for remediation planning beyond raw CVSS scores.
triaging-security-incident
Performs initial triage of security incidents using the NIST SP 800-61r3 and SANS PICERL frameworks, classifying incident type, assigning priority by business impact, and routing to the appropriate response team. Use when a SIEM/EDR alert needs human classification, concurrent alerts must be prioritized, or a user report or threat-intel IOC match requires initial incident categorization.