1
0
mirror of https://github.com/calebstewart/pwncat.git synced 2024-11-27 19:04:15 +01:00
pwncat/docs/source/installation.rst
2021-06-02 19:19:25 -04:00

69 lines
2.7 KiB
ReStructuredText

Installation
============
.. toctree::
:maxdepth: -1
The only system dependency for pwncat is ``python3`` and ``pip``. For ``pip`` to install all Python dependencies,
you will likely need your distributions Python Development package (``python3-dev`` for Debian-based distributions).
Once you have a working ``pip`` installation, you can install pwncat with the provided setup script:
.. code-block:: bash
# A virtual environment is recommended
python -m venv /opt/pwncat
# Install pwncat within the virtual environment
/opt/pwncat/bin/pip install git+https://github.com/calebstewart/pwncat
# This allows you to use pwncat outside of the virtual environment
ln -s /opt/pwncat/bin/pwncat /usr/local/bind
After installation, you can use pwncat via the installed script:
.. code-block:: bash
$ pwncat --help
usage: pwncat [-h] [--config CONFIG] [--identity IDENTITY] [--listen]
[--platform PLATFORM] [--port PORT] [--list]
[[protocol://][user[:password]@][host][:port]] [port]
Start interactive pwncat session and optionally connect to existing victim
via a known platform and channel type. This entrypoint can also be used to
list known implants on previous targets.
positional arguments:
[protocol://][user[:password]@][host][:port]
Connection string describing victim
port Alternative port number to support netcat-style
syntax
optional arguments:
-h, --help show this help message and exit
--config CONFIG, -c CONFIG
Custom configuration file (default: ./pwncatrc)
--identity IDENTITY, -i IDENTITY
Private key for SSH authentication
--listen, -l Enable the `bind` protocol (supports netcat-style
syntax)
--platform PLATFORM, -m PLATFORM
Name of the platform to use (default: linux)
--port PORT, -p PORT Alternative way to specify port to support netcat-
style syntax
--list List installed implants with remote connection
capability
Development Environment
-----------------------
If you would like to develop modules for pwncat (such as privilege escalation or persistence module), you can use
the ``setuptools`` "develop" target instead of "install". This installs pwncat via symlinks, which means any
modifications of the local code will be reflected in the installed package:
.. code-block:: bash
git clone https://github.com/calebstewart/pwncat.git
cd pwncat
python -m venv env
. env/bin/activate
python setup.py develop