Ability to send captured sessions to gophish (needs gophish update) #1133
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello there,
By default, Evilginx does not send session information to Gophish. This is on purpose not to expose credentials and keep them in Evilginx only. Nevertheless, having credentials readily available in Gophish could be a nice feature to have, provided Gophish's admin interface is properly secured (with a firewall for instance).
The main (second) commit introduces the ability to send captured sessions to Gophish via a config flag (
config gophish sessions
). This is an opt-in feature to keep the default behavior, which does not expose credentials and keeps them in Evilginx only.NB: This update requires the ability for Gophish to receive session information (see kgretzky/gophish#3).
Default behavior (or after
config gophish sessions false
in Evilginx' terminal):After
config gophish sessions true
in Evilginx' terminal:The feature takes into account all three types of credentials (username, password and
custom
) and all three types ofauth_tokens
(cookies, body and HTTP tokens).The first commit contains two fixes regarding request interception and HTTP token capture.
Request interception:
The value of
req.Host
contains the legitimate remote host and not the phishing host anymore after commite3bef9433c3cc95d3e523533e498c834506739f0
enabling the capture of credentials in intercepted requests. The comparison fails and the request is not intercepted.HTTP token capture:
The header should be captured from the response (
resp.Header
) and not the request (resp.Request.Header
). The check should not be performed on every endpoint, but taking into account the domain and path specified in the phishlet (v.domain
andv.path
).