Project Artillery - A project by Binary Defense Systems (https://www.binarydefense.com).
Artillery is a combination of a honeypot, monitoring tool, and alerting system. Eventually this will evolve into a hardening monitoring platform as well to detect insecure configurations from nix and windows systems. It's relatively simple, run ./setup.py
and hit yes, this will install Artillery in /var/artillery
and edit your /etc/init.d/rc.local
on linux to start artillery on boot up. On windows it will be installed to \Program Files (x86)\Artillery
and a batch file is included for startup
-
It sets up multiple common ports that are attacked. If someone connects to these ports, it blacklists them forever (to remove blacklisted ip's, On Linux remove them from
/var/artillery/banlist.txt
. On Windows remove them from\Program Files (x86)\Artillery\banlist.txt
) -
It monitors what folders you specify, by default it checks
/var/www
and/etc
for modifications.(linux only) -
It monitors the SSH logs and looks for brute force attempts.(linux only)
-
It will email you when attacks occur and let you know what the attack was.
Be sure to edit the /var/artillery/config
on Linux or \Program Files (x86)\Artillery\config
on Windows to turn on mail delivery, brute force attempt customizations, and what folders to monitor.
For bug reports or enhancements, please open an issue here https://github.com/BinaryDefense/artillery/issues
For those technical folks you can find all of the code in the following structure:
Artillery.py
- main program filerestart_server.py
- handles restarting softwareremove_ban.py
- removes ips from banlistsrc/anti_dos.py
- main monitoring module for Dos attackssrc/apache_monitor.py
- main monitoring module for Apache web servicesrc/config.py
- main module for configuration settingssrc/email_handler.py
- main module for handling emailsrc/events.py
- main module for trigering events on windows systemssrc/ftp_monitor.py
- main monitoring module for FTP bruteforcingsrc/globals.py
- main module for holding global variables for use in artillerysrc/pyuac.py
- main module for windows uac promptsrc/core.py
- main central code reuse for things shared between each modulesrc/monitor.py
- main monitoring module for changes to the filesystemsrc/ssh_monitor.py
- main monitoring module for SSH brute forcingsrc/honeypot.py
- main module for honeypot detectionsrc/harden.py
- check for basic hardening to the OSdatabase/integrity.data
- main database for maintaining sha512 hashes of filesystemsetup.py
- on linux copies files to/var/artillery/
then edits/etc/init.d/artillery
to ensure artillery starts per each reboot - on windows copies files to\Program Files (x86)\Artillery\
you have option to launch on install.(see below)
- Linux
- Windows
On windows to install pywin32 is needed.Install version that matches the version of python installed ex: 32/64 bit. Download files to location of your choice.open a cmd prompt browse to directory that files are located. To run type "python setup.py". You will be prompted for credentials if you are not an admin. Artillery will be installed in "Program Files (x86)\Artillery
. After setup you have option to launch program. included is a batch file to launch once it is installed it is located in install directory.Console logging must be enabled in config.
Project Artillery - A project by Binary Defense Systems (https://www.binarydefense.com).
Binary Defense Systems (BDS) is a sister company of TrustedSec, LLC