You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG
+16Lines changed: 16 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,19 @@
1
+
2.4.0
2
+
- Feature: Create and set up pre-phish HTML templates for your campaigns. Create your HTML file and place `{lure_url_html}` or `{lure_url_js}` in code to manage redirection to the phishing page with any form of user interaction. Command: `lures edit <id> template <template>`
3
+
- Feature: Create customized hostnames for every phishing lure. Command: `lures edit <id> hostname <hostname>`.
4
+
- Feature: Support for routing connection via SOCKS5 and HTTP(S) proxies. Command: `proxy`.
5
+
- Feature: IP blacklist with automated IP address blacklisting and blocking on all or unauthorized requests. Command: `blacklist`
6
+
- Feature: Custom parameters can now be embedded encrypted in the phishing url. Command: `lures get-url <id> param1=value1 param2="value2 with spaces"`.
7
+
- Feature: Requests to phishing urls can now be rejected if User-Agent of the visitor doesn't match the whitelist regular expression filter for given lure. Command: `lures edit <id> ua_filter <regexp>`
8
+
- List of custom parameters can now be imported directly from file (text, csv, json). Command: `lures get-url <id> import <params_file>`.
9
+
- Generated phishing urls can now be exported to file (text, csv, json). Command: `lures get-url <id> import <params_file> export <export_file> <text|csv|json>`.
10
+
- Fixed: Requesting LetsEncrypt certificates multiple times without restarting. Subsequent requests would result in "No embedded JWK in JWS header" error.
11
+
- Removed setting custom parameters in lures options. Parameters will now only be sent encoded with the phishing url.
12
+
- Added `with_params` option to `sub_filter` allowing to enable the sub_filter only when specific parameter was set with the phishing url.
13
+
- Made command help screen easier to read.
14
+
- Improved autofill for `lures edit` commands and switched positions of `<id>` and the variable name.
15
+
- Increased the duration of whitelisting authorized connections for whole IP address from 15 seconds to 10 minutes.
16
+
1
17
2.3.3
2
18
- Fixed: Multiple concurrent map writes when whitelisting IPs during heavy loads.
Copy file name to clipboardExpand all lines: README.md
+28-29Lines changed: 28 additions & 29 deletions
Original file line number
Diff line number
Diff line change
@@ -18,17 +18,22 @@ Present version is fully written in GO as a standalone application, which implem
18
18
19
19
I am very much aware that Evilginx can be used for nefarious purposes. This work is merely a demonstration of what adept attackers can do. It is the defender's responsibility to take such attacks into consideration and find ways to protect their users against this type of phishing attacks. Evilginx should be used only in legitimate penetration testing assignments with written permission from to-be-phished parties.
20
20
21
-
## Video
21
+
## Write-up
22
22
23
-
See **evilginx2** in action here:
23
+
If you want to learn more about this phishing technique, I've published extensive blog posts about **evilginx2** here:
If you want to learn more about this phishing technique, I've published an extensive blog post about **evilginx2** here:
33
+
Take a look at the fantastic videos made by Luke Turvey ([@TurvSec](https://twitter.com/TurvSec)), which fully explain how to get started using **evilginx2**.
[](https://www.youtube.com/watch?v=B3CycQgkVY0)
36
+
[](https://www.youtube.com/watch?v=8mfsF5Qdqw0)
32
37
33
38
## Phishlet Masters - Hall of Fame
34
39
@@ -56,22 +61,14 @@ Evilginx runs very well on the most basic Debian 8 VPS.
56
61
57
62
#### Installing from source
58
63
59
-
In order to compile from source, make sure you have installed **GO** of version at least **1.14.0** (get it from [here](https://golang.org/doc/install)) and that `$GOPATH` environment variable is set up properly (def. `$HOME/go`).
64
+
In order to compile from source, make sure you have installed **GO** of version at least **1.14.0** (get it from [here](https://golang.org/doc/install)).
60
65
61
-
After installation, add this to your `~/.profile`, assuming that you installed **GO**in `/usr/local/go`:
66
+
When you have GO installed, type in the following:
62
67
63
68
```
64
-
export GOPATH=$HOME/go
65
-
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
66
-
```
67
-
Then load it with `source ~/.profiles`.
68
-
69
-
Now you should be ready to install **evilginx2**. Follow these instructions:
70
-
71
-
```
72
-
sudo apt-get install git make
73
-
go get -u github.com/kgretzky/evilginx2
74
-
cd $GOPATH/src/github.com/kgretzky/evilginx2
69
+
sudo apt-get -y install git make
70
+
git clone github.com/kgretzky/evilginx2
71
+
cd evilginx2
75
72
make
76
73
```
77
74
@@ -105,8 +102,8 @@ Phishlets are loaded within the container at `/app/phishlets`, which can be moun
105
102
106
103
Grab the package you want from [here](https://github.com/kgretzky/evilginx2/releases) and drop it on your box. Then do:
107
104
```
108
-
unzip <package_name>.zip -d <package_name>
109
-
cd <package_name>
105
+
tar zxvf evilginx-linux-amd64.tar.gz
106
+
cd evilginx
110
107
```
111
108
112
109
If you want to do a system-wide install, use the install script with root privileges:
@@ -127,14 +124,20 @@ sudo ./evilginx
127
124
128
125
By default, **evilginx2** will look for phishlets in `./phishlets/` directory and later in `/usr/share/evilginx/phishlets/`. If you want to specify a custom path to load phishlets from, use the `-p <phishlets_dir_path>` parameter when launching the tool.
129
126
127
+
By default, **evilginx2** will look for HTML temapltes in `./templates/` directory and later in `/usr/share/evilginx/templates/`. If you want to specify a custom path to load HTML templates from, use the `-t <templates_dir_path>` parameter when launching the tool.
128
+
130
129
```
131
130
Usage of ./evilginx:
131
+
-c string
132
+
Configuration directory path
132
133
-debug
133
134
Enable debug output
134
135
-developer
135
136
Enable developer mode (generates self-signed certificates for all hostnames)
136
137
-p string
137
138
Phishlets directory path
139
+
-t string
140
+
HTML templates directory path
138
141
```
139
142
140
143
You should see **evilginx2** logo with a prompt to enter commands. Type `help` or `help <command>` if you want to see available commands or more detailed information on them.
@@ -168,11 +171,11 @@ phishlets enable linkedin
168
171
Your phishing site is now live. Think of the URL, you want the victim to be redirected to on successful login and get the phishing URL like this (victim will be redirected to `https://www.google.com`):
169
172
```
170
173
lures create linkedin
171
-
lures edit redirect_url 0 https://www.google.com
174
+
lures edit 0 redirect_url https://www.google.com
172
175
lures get-url 0
173
176
```
174
177
175
-
Running phishlets will only respond to tokenized links, so any scanners who scan your main domain will be redirected to URL specified as `redirect_url` under `config`. If you want to hide your phishlet and make it not respond even to valid tokenized phishing URLs, use `phishlet hide/unhide <phishlet>` command.
178
+
Running phishlets will only respond to phishing links generating for specific lures, so any scanners who scan your main domain will be redirected to URL specified as `redirect_url` under `config`. If you want to hide your phishlet and make it not respond even to valid lure phishing URLs, use `phishlet hide/unhide <phishlet>` command.
176
179
177
180
You can monitor captured credentials and session cookies with:
178
181
```
@@ -186,15 +189,11 @@ sessions <id>
186
189
187
190
The captured session cookie can be copied and imported into Chrome browser, using [EditThisCookie](https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=en) extension.
188
191
189
-
**Important!** If you want **evilginx2** to continue running after you log out from your server, you should run it inside a `screen` session.
192
+
**Important!** If you want **evilginx2** to continue running after you log out from your server, you should run it inside a `screen`or `tmux`session.
190
193
191
194
## Support
192
195
193
-
If you want to report issues with the tool, please do it by submitting a pull request. Thank you!
194
-
195
-
## Credits
196
-
197
-
Huge thanks to Simone Margaritelli ([@evilsocket](https://twitter.com/evilsocket)) for [bettercap](https://github.com/bettercap/bettercap) and inspiring me to learn GO and rewrite the tool in that language!
196
+
I DO NOT offer support for providing or creating phishlets. I will also NOT help you with creation of your own phishlets. There are many phishlets provided as examples, which you can use to create your own.
0 commit comments