The number of client-side attacks has grown significantly in the past few years shifting focus on poorly protected vulnerable clients. Just as the most known honeypot technologies enable research into server-side attacks, honeyclients allow the study of client-side attacks.
A complement to honeypots, a honeyclient is a tool designed to mimic the behavior of a user-driven network client application, such as a web browser, and be exploited by an attacker's content.
Thug is a Python low-interaction honeyclient aimed at mimicing the behavior of a web browser in order to detect and emulate malicious contents.
Documentation about Thug installation and usage can be found at http://thug-honeyclient.readthedocs.io/.
Thug is open source and we welcome contributions in all forms!
Thug is free to use for any purpose (even commercial ones). If you use and appreciate Thug, please consider supporting the project with a donation using Paypal.
To setup a development environment, follow the steps:
git clone https://github.com/buffer/thug.git
cd thug
./dev/dev.sh
The dev script will create a virtualenv environment in a directory called "venv"
and install all the mandatory and optional dependencies into it. Thug is installed as
a permanent package and the package needs to be installed again executing pip install .
in order to compile all the changes.
If you want to install Thug as an "editable", please replace line 11 in dev.sh by the
following line and re-run dev.sh
pip2 install -e .
Installing Thug as an "editable" allows changes to the source in the repository to be reflected in the virtualenv.
Make sure that you successfully installed Thug by running the following commands:
. venv/bin/activate
thug --version
To run the full test suite using tox, run the command:
tox
Since tox builds and installs dependencies from scratch, using pytest for faster testing is recommended:
pytest --cov thug
Copyright (C) 2011-2019 Angelo Dell'Aera <angelo.dellaera@honeynet.org>
License: GNU General Public License, version 2