Commit Graph

195 Commits (7237dbe9c5c8f3b4e25393557a8a79bfbbeb905a)

Author SHA1 Message Date
Jordan Wright ebb6cd61b2 Implemented the ability to preview landing pages when sending a test email. 2018-06-08 21:20:52 -05:00
Jordan Wright 420410b52c Refactored result updating to be in result.go.
Added the modified_date field to results so it's easy to keep track of the last results that were modified without having to parse every event. Updated the tests to reflect the changes.
2018-05-26 21:26:34 -05:00
Jordan Wright 5d23263898
Moved logging to logrus package. Not perfect yet (still want to update the access logs), but should set the foundation to make better logging in the future. 2018-05-03 19:07:41 -05:00
Jordan Wright f21536da7c
Adding "Report Email" Support (#1014)
Adds the capability to report phishing campaigns using an email client extension.

**Note: Gophish does not currently provide an email client extension out of the box. This is simply a mechanism to let existing email client add-ons send report status information to Gophish, and have that information reflected in the dashboard.**
2018-03-18 22:03:00 -05:00
Jordan Wright c9ff8714a0
Moved rid parameter to a separate constant. Fixes #911 2018-02-22 23:02:27 -06:00
Jordan Wright 3d58d8362e
Moved creation of URLs to net.URL instances to handle custom paths and parameters. Fixes #969 2018-02-22 22:11:28 -06:00
Konrads Smelkovs 29555085c0 If Subject is empty, don't set the header
Fixes #955
2018-02-10 13:46:08 -06:00
Jordan Wright 0f4ac70049
Fixed the way the initial admin is created to better support MySQL installations. Fixes #948 2018-02-08 19:04:59 -06:00
Shuhei Kitagawa 44afb2b965 Isolate model tests (#933)
* isolates Group model tests

* move SMTP related tests from models_test.go to smtp_test.go

* isolate Page model tests

* isolate Result model tests
2018-01-19 18:11:00 -06:00
Shuhei Kitagawa 55b0da4aa9 Separate user model test cases into a independent test file (#930) 2018-01-18 19:54:12 -06:00
Jordan Wright e995b0fcb7 Adding ability to use template variables in the campaign URL. Fixes #844 2018-01-13 17:49:42 -06:00
Shuhei Kitagawa 405bc5effe Refactor GetUserByUsername method not to suppress an error (#920)
Also adding some other tests for the User models.
2018-01-11 18:37:38 -06:00
Shuhei Kitagawa db19f0ac2a Remove redundant return nil statement in user.go (#921)
Removing some redundant statements in user.go.
Adding test cases for user models.
2018-01-11 18:11:57 -06:00
Jordan Wright 44154f3bf0 Removing duplicates in campaigns. Fixes #855 2017-12-11 22:12:17 -06:00
Jordan Wright 76ece15b71
Email refactoring (#878)
The initial pass at refactoring the way we send emails.
2017-12-09 15:42:07 -06:00
Jordan Wright e785af5c0a Disabled turboThreshold to allow campaign timeline renders for campaigns with > 1k events. Fixes #765
Moved datatables `draw()` functions to the end of a table render, rather than on every row
2017-09-26 21:29:15 -05:00
Jordan Wright 58a57589bd Updates all datetimes to use UTC on the backend. This includes a DB migration to convert existing dates.
Fixes #316
2017-08-28 22:48:49 -05:00
Jordan Wright 75600f5812 Moved all charts from Chartist to Highcharts. Closes #680. 2017-08-05 21:12:44 -05:00
Jordan Wright 269568148e Phishing emails are now sent in "First Last <email@domain.com>" format. 2017-06-16 22:21:08 -05:00
Jordan Wright b6653d5c94 Checks for input password fields are now case insensitive. Fixes #613 2017-05-26 20:18:51 -05:00
Jordan Wright 66c4be3d4f Adding support for custom headers in sending profiles (#544)
Closes #215 
Closes #128
2017-02-19 18:43:08 -06:00
Jordan Wright ea7bb04156 Changed result ID's to be 7 random alphanumeric characters. Fixes #518 2017-01-27 21:16:47 -06:00
Jordan Wright 7453fd3b48 Added summary routes for groups.
Routes:
/api/groups/summary
/api/groups/:id/summary

The UI is now using these routes for the "Users & Groups" page.
2017-01-14 17:26:04 -06:00
Jordan Wright 8738ebbb35 Added campaign summary routes:
/api/campaigns/summary
/api/campaigns/:id/summary

This is part of #505
2017-01-05 21:48:54 -06:00
Jordan Wright f12af50d46 Adding support for Mysql (#442)
Thanks, @svigne1!

Fixes #53
2016-11-19 10:37:22 -06:00
Jordan Wright 43cbc1d65f Fixed issue with incomplete campaign creation with large user counts. Fixes #436. Fixes #368 2016-11-18 22:01:38 -06:00
s vignesh bf71082953 Correction in Generate Rid (#424) 2016-11-13 19:40:06 -06:00
Jordan Wright b00e6746d5 Potential fix for database locking issue. Fixes #331 2016-08-02 23:28:22 -05:00
Jordan Wright b403e97eee Cleaning up some email sending bugs. Fixes #329 2016-08-02 23:18:53 -05:00
Rob Cutmore 2d4a755c2c Check for specific error in group tests 2016-07-18 18:47:28 -04:00
Rob Cutmore f9a15cfe3d Add more tests for getting group(s) 2016-07-16 08:38:27 -04:00
Rob Cutmore 3a9bc91415 Add tests for getting group(s) 2016-07-16 07:53:56 -04:00
Rob Cutmore b5b0f0ddf8 Use generic names for Group tests 2016-07-15 07:37:16 -04:00
Rob Cutmore bc678878e2 Put User tests together 2016-07-15 07:31:44 -04:00
Rob Cutmore e028806b5a Add cleanup between tests for models 2016-07-15 07:28:11 -04:00
Jordan Wright 1dbf061d87 Implement the ability to complete a campaign. Fixes #290.
First implementation of new alert format.
2016-07-11 22:11:40 -05:00
Rob Cutmore 92f4ca6a90 Add empty attribute test for PutGroup
If passing a Target instance to the database Updates method then
empty attributes will be ignored. Using a map[string]interface
ensures all changed attributes, even empty ones, are persisted to
database.
2016-07-04 06:39:38 -04:00
Rob Cutmore 731c621095 Add test for PutGroup function 2016-07-02 18:22:44 -04:00
Rob Cutmore ec1c711b9b Allow group targets to be updated, fixes #18 2016-07-02 08:01:24 -04:00
Rob Cutmore 34021d9e3a Update comments for PutGroup function 2016-06-26 09:31:03 -04:00
Jordan Wright c5d6792bba Added /campaigns/:id/results endpoint to return campaign summary and make results page much quicker.
Fixes 282.
2016-06-07 22:31:55 -05:00
Jordan Wright 082023aae0 Adding the ability to schedule campaigns. Fixes #21 2016-06-07 21:42:09 -05:00
Jordan Wright 1933eb7ff1 Adding better error handling for SMTP server
JSBeautify sending_profiles.js
2016-05-30 14:53:32 -05:00
Jordan Wright 83a17e8c2d Added early catching of invalid template values. Fixes #193 2016-04-02 18:33:25 -05:00
Jordan Wright 776e54c856 Updated GetCampaign(s) to fail gracefully if certain attributes have since been deleted. Fixes #197 2016-03-23 23:41:17 -05:00
Jordan Wright 52b9eda3b2 Added support for redirect URL's after creds are submitted. Fixes #210 2016-03-18 20:19:13 -05:00
Jordan Wright d43a888b26 Updating gorm constructs to support gorm v1.0 released yesterday. 2016-03-08 22:37:55 -06:00
Jordan Wright 625f4f8dc0 Ignoring error for no sending profile found. Fixes #189 2016-03-03 18:47:10 -06:00
Jordan Wright 6b61b24f68 Merge branch 'master' into 78-store-smtp-settings
# Conflicts:
#	models/models_test.go
#	static/js/app/landing_pages.js
2016-02-28 22:08:39 -06:00
William Woodson abec9adfba Return an SMTP object via GET /campaigns 2016-02-27 21:12:18 -06:00
William Woodson 7ca63f55be gofmt, because that is a thing 2016-02-27 08:37:02 -06:00
William Woodson 80fc04924d Added handling to /util/send_test_email to use default on empty template and accept a validated SMTP object from send test email workflow on sending profiles page 2016-02-27 08:32:10 -06:00
Jordan Wright b0dd96d088 Merge branch 'master' into 124-capture-passwords 2016-02-25 20:02:15 -06:00
Jordan Wright 44fa8127fc Adding the ability to capture submitted data via the UI. Fixes #124 2016-02-25 19:58:49 -06:00
Jordan Wright af76603949 Adding tests 2016-02-25 19:58:02 -06:00
Jordan Wright 78203ad208 Added tests for SMTP 2016-02-21 22:13:06 -06:00
Jordan Wright d1de466cc9 Validating on PUT
Added check for parsing the FromAddress on Validate()
2016-02-21 22:12:47 -06:00
Jordan Wright 7bf2c00356 gofmt'ing 2016-02-21 21:09:14 -06:00
William Woodson 9818410fcf Updated campaign creation and send_test_email to use settings from sending profile 2016-02-21 12:05:40 -06:00
William Woodson 5b89fb04eb Fixing issues in SMTP model and db schema. Add interface_type to support future sending interfaces beyond SMTP. 2016-02-21 09:46:25 -06:00
William Woodson dde2312183 Updated smtp model and api to support managing SMTP objects as independent entities 2016-02-20 21:08:52 -06:00
Jordan Wright bf55c03fc9 Adding position attribute for models.Result. Fixes #163. 2016-02-17 21:25:06 -06:00
Jordan Wright 3f08c160ec Added ability to have "{{.From}}" in sending a test email. Fixes #162 2016-02-17 21:09:19 -06:00
Jordan Wright 1fe1af2ce9 Fixing bug that doesn't allow attachments to be created. Fixes #151 2016-02-15 11:58:14 -06:00
Jordan Wright 1e3a02673c Attachments are now fetched on GetTemplateByName
Attachments are now attached to emails (whoops!)
2016-02-12 22:19:59 -06:00
Jordan Wright bbe97f5602 Working on ignoring certs 2016-02-11 12:53:00 -06:00
Jordan Wright a0a8a7b8ad Merge pull request #123 from gophish/61-record-browser-post
Capture Credentials Sent via POST
2016-02-02 22:54:42 -06:00
Jordan Wright ce8a9e5456 Changed status of new targets to "Sending" instead of "Unknown". Fixes #112 2016-02-01 20:42:46 -06:00
Jordan Wright bf86356fde Validating SMTP Conf. Fixes #111 2016-02-01 18:36:59 -06:00
Jordan Wright 94e43fe557 Initial commit - adding db migration as well as the logic to add the payload 2016-01-31 19:50:41 -06:00
Jordan Wright 17e81e6caa Added event on sending email error. Fixes #99 2016-01-29 12:34:29 -06:00
Jordan Wright 32aaa15da7 Added documentation for multiple endpoints. Fixes #54 2016-01-24 20:47:16 -06:00
Jordan Wright e4d6e68147 Added ability to send a test email before launching a campaign 2016-01-24 20:03:53 -06:00
Jordan Wright 379edf73a3 Adding first round of database migrations using goose 2016-01-18 21:13:32 -06:00
Jordan Wright 1d8ac6f9f3 Added better logging for campaign retrieval 2016-01-16 23:51:01 -06:00
Jordan Wright 25a7a32003 Added test for #60 2016-01-12 20:52:13 -06:00
Jordan Wright fc6d556742 Caused API key to be generated dynamically for admin user. Fixes #60 2016-01-12 20:46:17 -06:00
William Woodson 3a0fa4f93f Update bcrypt dependency and code moved to gophish group 2016-01-10 11:04:03 -06:00
Jordan Wright c6cd018536 Added IP, Lat and Lon to models.Result. Closes #47
Added basic mapping on campaign results. Closes #51
2016-01-04 00:04:10 -06:00
Jordan Wright 8141393480 Fixed page editing. Fixes #44 2015-10-23 18:35:42 -05:00
Jordan Wright 68b39cf6a3 Temporarily removing campaign.Errors until I can find a better way to handle it. 2015-10-22 22:32:43 -05:00
Jordan Wright 01c3da611b PhishHandler now loads landing page content. Fixes #37
Now supports autocomplete for modal typeahead. Fixes #40
Users can now specify landing pages in campaigns. Fixes #39
Implemented "Email Opened" status. Fixes #38
2015-10-22 22:29:10 -05:00
Jordan Wright b574fb2741 Implemented campaign.URL. Fixed #32
Implemented {{.From}}. Fixed #36
2015-10-22 19:54:01 -05:00
Jordan Wright 3bbd6b7ca1 Fixing labels on dashboard
Added "Emails Sent" campaign status
2015-09-27 22:25:38 -05:00
Jordan Wright abafb02586 Fixed issue where database wasn't getting created properly on Linux distros. 2015-08-28 18:27:49 -05:00
unknown 821e31164c Removed testing code 2015-08-15 15:30:12 -05:00
unknown 5756e950ab With in-memory db, no need to delete. 2015-08-15 04:36:50 -05:00
unknown fa21fec437 Let's try the :memory: db for testing 2015-08-15 04:34:41 -05:00
unknown 8bea79dcae More testing of travis-ci.. 2015-08-14 22:11:38 -05:00
unknown 93c6e447c7 Testing for travis-ci.. for some reason, the db isn't getting created. 2015-08-14 21:38:05 -05:00
unknown eacb4ddfd4 Fixed /users endpoint to now have the following functionality:
- Edit
- Delete
Also added group validation on PUT /api/groups/:id
2015-08-05 00:23:05 -05:00
unknown 0b73d5f6ee Can now use Position in CSV import.
Added Position attribute to Target model.
Fixes #17
2015-02-21 11:36:08 -06:00
unknown be9064f718 Added ability to delete campaign from campaign results - needs some cleanup, but it works 2015-02-21 01:27:32 -06:00
unknown 66dbe2e799 Cleaned up error messages - *all* errors in JSON format
Cleaned up flashes - fixes #13
Added specified errors - more to come soon
Added Campaign validation
Added Group validation
Cleaned up the way angular errors are handled. Will double check, but for the most part fixes #11
Results are now shown on the webui with most recent shown first
Added comments, additional cleanup, etc.
2015-02-21 00:11:22 -06:00
unknown ab8dfc8bb3 Fixed #14 2015-02-17 22:53:19 -06:00
unknown 73e395cfe0 - Cleanup up flash messages for templates. Will fix for everything else later.
- Also fixed #5 with the help from CKEditor devs (duplicate ticket found)
2015-02-17 20:49:09 -06:00
unknown cb081f4a17 Can now add files to a previously created template that didn't have files to begin with
Fixes #8
2015-02-13 20:17:25 -06:00
unknown f21d40d77a Registration works again.
Additional cleanup, removing unused code
2015-02-07 17:30:22 -06:00
unknown 669d96d279 More work implementing pages.
More cleanup - changing *all* API errors to be returned via JSON
Fixed bug where /api/pages/ was not csrf exempt
Changed db column/table names to be more user friendly in the case of acronyms (Id, SMTP, etc.)
2015-02-07 14:31:41 -06:00
unknown c8be0ddb74 Still working on pages integration. Added skeleton for page HTML previewing in a new browser.
Additional cleanup, documentation
Changed return values for /api/templates and /api/pages to return empty array [] if no results (like /api/campaigns was already doing)
2015-02-07 10:41:53 -06:00