Skip to content
This repository has been archived by the owner on Sep 22, 2023. It is now read-only.

Subscription Event Sequence

Randy Woods edited this page Apr 3, 2020 · 20 revisions

Sequence Of Events

This will evolve as storyboarding takes shape. The number of campaigns created for each cycle is starting at 9. This may change in the future as this becomes more familiar.

3 template deception levels x 3 templates per level = 9 total templates.

Terminology

  • Customer = Stakeholder = Organization
  • Subscription = a series of recurring Cycles (3-month terms), possibly without an end date
  • Cycle = the 3-month term in which 9 simultaneous Gophish Campaigns are executed
  • Campaign = we will use the Gophish definition
  • Target = recipient email address
  • Template = the email content used to fool the target
  • Landing Page = the web page that the target sees if they click on a link in the Template

Customer Signs Up

All of this data will be stored in the Mongo DB.

  • Create Customer record.
  • Customer may design/submit their own custom templates.
  • Customer submits the list of targets.
  • Templates used for each target (to prevent reuse in future Cycles)

Customer Begins Subscription (and the first Cycle)

  1. 9 templates are selected. 3 deception levels (LOW, MED, HIGH) x 3 templates for each level. Templates will be tagged with relevant terms. Use these terms to assign templates to the Organization based on relevancy of the Organization's tags.
  2. Randomly divide the targets into groups. The number of groups will equal the number of templates that are being used during this Cycle. The targets are randomly assigned to each group. Keep a target-template history. Check the target-template history to make sure that each target is not being reassigned a template that they have already seen.
  • question... Every group in Gophish needs a unique name. Group naming convention? {cust_id}_{assessment_start_date}_{seq}
  1. Get landing page.
  2. Create a set of 9 Gophish (GP) campaigns, each with a duration of 3 months. One campaign for each template.
  • question... Every campaign in Gophish needs a unique name. Campaign Naming convention? {cust_id}_{assessment_start_date}
  • question... Each campaign gets one group, one template, one landing page.
  1. Schedule a Cycle completion task for 3 months from now. It will complete all of the Gophish campaigns and start a new Cycle.
  2. Schedule 2 monthly report events for 1 and 2 months from now.
  3. Schedule quarterly report for 3 months from now.
  4. Schedule yearly report for 12 months from now.

Fast forward to 1 month from Cycle start…

Scheduled task runs - monthly report is generated and emailed to customer POC

Fast forward to 2 months from Cycle start…

Scheduled task runs - monthly report is generated and emailed to customer POC

Fast forward to 3 months from Cycle start….

Scheduled task runs, completing the campaigns in the Cycle. A new collection of templates is assembled (LOW, MED, HIGH). The targets are randomly shuffled into groups as before. 9 new GP campaigns are created and sent to Gophish and a new Cycle begins.

Customer Adds or Removes Target Emails During Cycle

CPA will update the current group(s) in Gophish on the fly. Looks like gophish.api.groups.put(group) would support that.

Other Questions?