Installation Instructions¶
There are two primary phases for installation:
- prior to the python dependencies being installed
- everything else
Manual Steps¶
First, the steps to get python dependencies installed in a virtual environment are as follows (and shown below)
Kali¶
sudo apt update
sudo apt install pipenv
Ubuntu 18.04/20.04¶
sudo apt update
sudo apt install python3-pip
pip install --user pipenv
echo "PATH=${PATH}:~/.local/bin" >> ~/.bashrc
bash
Both OSs After pipenv
Install¶
git clone https://github.com/epi052/recon-pipeline.git
cd recon-pipeline
pipenv install
pipenv shell
Everything Else¶
After installing the python dependencies, the recon-pipeline shell provides its own tools command (seen below).
A simple tools install all
will handle all installation steps. Installation has only been tested on Kali 2019.4 and Ubuntu 18.04/20.04.
Ubuntu Note (and newer kali versions): You may consider runningsudo -v
prior to running./recon-pipeline.py
.sudo -v
will refresh your creds, and the underlying subprocess calls during installation won’t prompt you for your password. It’ll work either way though.
Individual tools may be installed by running tools install TOOLNAME
where TOOLNAME
is one of the known tools that make
up the pipeline.
The installer does not maintain state. In order to determine whether a tool is installed or not, it checks the path variable defined in the tool’s .yaml file. The installer in no way attempts to be a package manager. It knows how to execute the steps necessary to install and remove its tools. Beyond that, it’s like Jon Snow, it knows nothing.
Current tool status can be viewed using tools list
. Tools can also be uninstalled using the tools uninstall all
command. It is also possible to individually uninstall them in the same manner as shown above.
Alternative Distros¶
In v0.8.1, an effort was made to remove OS specific installation steps from the installer. However, if you’re using an untested distribution (i.e. not Kali/Ubuntu 18.04/20.04), meeting the criteria below should be sufficient for the auto installer to function:
- systemd-based system (
luigid
is installed as a systemd service) - python3.6+ installed
With the above requirements met, following the installation steps above starting with pipenv install
should be sufficient.
The alternative would be to manually install each tool.
Docker¶
If you have Docker installed, you can run the recon-pipeline in a container with the following commands:
git clone https://github.com/epi052/recon-pipeline.git
cd recon-pipeline
docker build -t recon-pipeline .
docker run -d \
-v ~/docker/recon-pipeline:/root/.local/recon-pipeline \
-p 8082:8082 \
--name recon-pipeline \
recon-pipeline
It is important to note that you should not lose any data during an update because all important information is saved to the ~/docker/recon-pipeline
location as specified by the -v
option in the docker run
command. If this portion of the command was not executed, data will not persist across container installations.
At this point the container should be running and you scan enter the shell with the following command:
docker exec -it recon-pipeline pipeline
Starting & Stopping¶
In the event that you need to start or stop the container, you can do so with the following commands after having run the installation commands above once:
docker start recon-pipeline
docker stop recon-pipeline
This is useful knowledge because Docker containers do not normally start on their own and executing the docker run
command above again will result in an error if it is already installed.
Update¶
To update, you can run the following commands from inside the recon-pipeline
folder cloned in the installation:
git pull
docker stop recon-pipeline
docker rm recon-pipeline
When complete, execute the inital installation commands again starting with docker build
.