← LeaderboardThe Skill Leaderboard

performing-red-team-phishing-with-gophish

Automates GoPhish phishing simulation campaigns using the Python gophish library, creating email templates with tracking pixels, configuring SMTP sending profiles, building target groups from CSV, launching campaigns, and analyzing results such as open rates, click rates, and credential submission statistics. Use when running an authorized phishing simulation or security awareness assessment via GoPhish.

Published by mukul975 ↗mukul975/Anthropic-Cybersecurity-Skills

Try your first task

performing-red-team-phishing-with-gophish

Start a fresh conversation. Replace the highlighted placeholders.

Use performing-red-team-phishing-with-gophish to run an authorized GoPhish security-awareness simulation for [approved target group] using the preconfigured GoPhish environment under [written authorization], and deliver a campaign-results report covering opens, clicks, submissions, and reports.

Required inputs

  • [approved target group]
  • [written authorization]

User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗

SKILL.md

name: performing-red-team-phishing-with-gophishdescription: Automates GoPhish phishing simulation campaigns using the Python gophish  library, creating email templates with tracking pixels, configuring SMTP sending  profiles, building target groups from CSV, launching campaigns, and analyzing results  such as open rates, click rates, and credential submission statistics. Use when  running an authorized phishing simulation or security awareness assessment via GoPhish.domain: cybersecuritysubdomain: security-operationstags: - red-teaming- phishing-simulation- gophish- social-engineering- campaign-automation- security-awarenessversion: '1.0'author: mahipallicense: Apache-2.0nist_csf: - DE.CM-01- RS.MA-01- GV.OV-01- DE.AE-02mitre_attack: - T1078- T1190- T1059- T1003- T1110mitre_f3:   version: '1.1'  tactics:   - resource-development  - reconnaissance  - initial-access  techniques:   - id: T1598    name: Phishing for Information    tactic: reconnaissance    source: attack  - id: T1660    name: Phishing    tactic: initial-access    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: F1006.002    name: 'Account Takeover: Exposed Login Credential'    tactic: initial-access    source: f3

When to Use

  • When conducting security assessments that involve performing red team phishing 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

  • Familiarity with security operations concepts and tools
  • Access to a test or lab environment for safe execution
  • Python 3.8+ with required dependencies installed
  • Appropriate authorization for any testing activities

Instructions

  1. Install dependencies: pip install gophish requests
  2. Deploy GoPhish server and obtain an API key from Settings.
  3. Use the Python gophish library to automate campaign setup:
    • Create email templates with HTML body and tracking
    • Configure SMTP sending profiles
    • Import target groups from CSV
    • Create landing pages for credential capture
    • Launch and monitor campaigns
  4. Analyze campaign results: opens, clicks, submitted data, reported.
# For authorized penetration testing and lab environments only
python scripts/agent.py --gophish-url https://localhost:3333 --api-key <key> --campaign-name "Q1 Awareness" --output phishing_report.json

Examples

Create Campaign via API

from gophish import Gophish
from gophish.models import Campaign, Template, Group, SMTP, Page
api = Gophish("api_key", host="https://localhost:3333", verify=False)  # Self-signed cert on localhost lab
campaign = Campaign(name="Q1 Test", groups=[Group(name="Sales Team")],
    template=Template(name="IT Password Reset"), smtp=SMTP(name="Internal SMTP"),
    page=Page(name="Credential Page"))
api.campaigns.post(campaign)