-
Notifications
You must be signed in to change notification settings - Fork 547
Advanced Installation
For a quick install on supported Linux operating systems:
wget -q https://github.com/securestate/king-phisher/raw/master/tools/install.sh && \
sudo bash ./install.sh
Download the latest release here.
The King Phisher Server is only supported on Linux. The King Phisher Client is supported on both Windows and Linux. Windows installation executables are available from the releases page.
An installation script is available to automate the process on supported versions of Linux. Instructions on how it can be used are available in the Linux Install Steps section. It is highly recommended that users ensure that the system clock and timezone are set accurately on both the client and server.
King Phisher uses a client server architecture. The KingPhisherServer
application runs as a daemon on the phishing server. The KingPhisher
client
file is meant to connect to the daemon over SSH from a remote system. The server
must be running SSH and allow ports to be forwarded. The client, after
connecting, communicates via RPC to the server through the encrypted SSH tunnel.
Additionally, the user logging in with the King Phisher Client will require a valid local account on the King Phisher Server. The King Phisher Server provides its own HTTP server and does not require an additional one such as Apache, or Nginx. Running an additional server such as Apache or Nginx will likely result in a conflict when trying to bind to a default port, resulting in the server failing to start.
It is recommended that King Phisher be run on a system which exceeds the host operating systems minimum requirements. At this time a minimum of 2048 MB of RAM and at least a CPU with 2 cores running at 1.5 GHz is sufficient. Furthermore the hard disk should have additional space on top of the host OS recommendations for the installation of required packages. For the client it is recommended that the display support a minimum resolution of 1024x800.
Recommended Linux Flavors:
- King Phisher Server - Ubuntu Server LTS
- King Phisher Client - Ubuntu GNOME
Linux Flavor | Min Version | Client Support | Server Support |
---|---|---|---|
BackBox | 5 | yes | yes |
CentOS | 7.0 | no | yes |
Debian | 8 | yes | yes |
Fedora | 24 | yes | yes |
Kali | rolling | yes | yes |
Red Hat | 7.0 | no | yes |
Ubuntu | 16.04 | yes | yes |
The following steps walk through manually installking King Phisher into a self
contained directory. Installing King Phisher into /opt/king-phisher
is
recommended.
cd /opt/ # or your desired installation directory
git clone https://github.com/securestate/king-phisher.git
King Phisher comes with an install script for a convenient installation process. It will handle installing all of the operating system dependencies, the required Python packages, and basic configuration. The automated install scripts supports a limited set of [Linux flavors][operating-systems]. To request that one be added, please open a support ticket.
After cloning the repository run the install.sh script that is in the tools
directory as such: sudo tools/install.sh
. This will download all the
required packages and set up a default server configuration. The automated
installation process may take up to 20 minutes to complete depending on the
speed at which packages are downloaded. The tools/install.sh
script has
additional options which can be used for
customization.
cd king-phisher
sudo tools/install.sh
The installation script supports a number of command line options. The latest of
which can be viewed by running tools/install.sh --help
. These options can be
used to (for example) install the King Phisher client or server components from
another automation tool such as Ansible.
tools/install.sh --help
Usage: install.sh [-h] [-n/-y]
King Phisher Install Script
optional arguments
-h, --help show this help message and exit
-n, --no answer no to all questions
-y, --yes answer yes to all questions
--skip-client skip installing client components
--skip-server skip installing server components
Certain environment variables can also be set to change the default behaviour of the installation script. Command line options take priority over environment variables.
Variable Name | Description | Default |
---|---|---|
KING_PHISHER_DIR | The base directory to install to | /opt/king-phisher |
KING_PHISHER_SKIP_CLIENT | Skip installing client components | NOT SET |
KING_PHISHER_SKIP_SERVER | Skip installing server components | NOT SET |
Variables which are not set by default are flags which are toggled when defined.
For example to skip installing client components the following command could be
used: KING_PHISHER_SKIP_CLIENT=x tools/install.sh