Skip to content

Advanced Installation

Spencer McIntyre edited this page Apr 6, 2018 · 9 revisions

Linux Quick Install

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

Windows Installation

Download the latest release here.

Overview

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.

Recommended Minimum Requirements

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:

Install Script Supported Flavors

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

Linux Install Steps

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

Install Script Options

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

Install Script Environment Variables

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