'SWEETMON' is a fuzzer monitoring service based python3 + django. User can check their fuzzers and crashes on the web. It can reduce repetitive work for fuzz testers.
Sweetmon provides several useful things for monitoring fuzzers and crashes.
- Monitoring
- Fuzzers
- IP, fuzzer name, status
- Number of crashes
- Fuzzers
- Monitoring Crashes
- First or last reported time
- Number of (duplicated) crashes
- Generate one-time-url to download crash.
- Crash logs
- Crash informations (name, machine, summary, debug log, size)
- Notification (via Telegram or email)
- Up/download fuzzer and testcase
- Host testcase or fuzzer file
- Issue
- Support multiple user
-
Initial screen
-
User Profile
-
Fuzzer list
-
Fuzzer information
-
Crash list
-
Crash details
-
Crash details (2)
-
Testcase & Fuzzer list
-
Testcase & Fuzzer details
-
Issue list
-
Issue Details
-
Statistics
- Environment
- Ubuntu 16.04.3 LTS (Server, Clean vm)
-
Install Ubuntu.
-
Download the installer
wget https://raw.githubusercontent.com/sweetchipsw/sweetmon/master/install.sh -O install.sh
-
Set 'DOMAIN' on install.sh
#!/bin/bash # SWEETMON Installer ### # Modify under contents ### DOMAIN='' # domain.com || 192.168.123.123 EMAIL='admin@domain.com'
-
Run installer.
bash install.sh
-
Done!
- Environment
- Ubuntu 16.04.2 LTS (Server)
-
Install python3 + apache2 + virtualenv and sweetmon
sudo apt install python3 python3-pip sudo apt install apache2 sudo apt install virtualenv git clone https://github.com/sweetchipsw/sweetmon.git
-
Update your server and Install dependencies
sudo apt update sudo apt upgrade -y sudo apt install -y python3 python3-pip apache2 virtualenv libapache2-mod-wsgi-py3 letsencrypt git
-
Clone sweetmon project & Set env
git clone https://github.com/sweetchipsw/sweetmon.git export LOCATION=`pwd` export VENV='sweetmon_venv'
-
Install && Activate virtualenv.
virtualenv -p python3 sweetmon_venv . sweetmon_venv/bin/activate
-
Install django + dependencies.
sudo pip3 install django sudo pip3 install requests sudo pip3 install pycrypto
-
Make configuration file
sudo vim /etc/apache2/sites-available/sweetmon.conf
-
Paste under contents.
<VirtualHost *:80> WSGIScriptAlias / $LOCATION/sweetmon/sweetmon/wsgi.py WSGIDaemonProcess sweetmon python-path=$LOCATION/sweetmon/ python-home=$LOCATION/$VENV/lib/python3.5/site-packages WSGIProcessGroup sweetmon ServerName $DOMAIN ServerAlias $DOMAIN ServerAdmin $EMAIL DocumentRoot $LOCATION/sweetmon/ ErrorLog /var/log/apache2/sweetmon_error.log CustomLog /var/log/apache2/sweetmon_custom.log combined Alias /robots.txt $LOCATION/sweetmon/static/robots.txt Alias /assets/admin $LOCATION/$VENV/lib/python3.5/site-packages/django/contrib/admin/static/admin Alias /assets $LOCATION/sweetmon/static/ <Directory $LOCATION/sweetmon/> Require all granted </Directory> <Directory $LOCATION/sweetmon/sweetmon/ > <Files wsgi.py> Require all granted </Files> </Directory> <Directory $LOCATION/$VENV/lib/python3.5/site-packages/django/contrib/admin/static/admin/ > Require all granted </Directory> </VirtualHost>
-
Restart apache2 server
sudo a2ensite sweetmon sudo service apache2 restart
-
Migrate DB / Set permission / Create super admin
cd $LOCATION/sweetmon python3 manage.py makemigrations python3 manage.py migrate sudo chown www-data:www-data ./ -R python manage.py createsuperuser
-
Done.
- Not completed yet
-
Install Letsencrypt
sudo apt install letsencrypt
-
Check your port-forwarding status.
- 80 (http)
- 443 (https)
-
Generate SSL Certificate
sudo letsencrypt certonly -a standalone -d domain.com
-
Make configuration file for https.
-
Enable SSL & Restart apache2 server
-
Done!
- Not tested on these OS. But it will works.
- To make your server secure, you should change SECRET_KEY.
# SECURITY WARNING: keep the secret key used in production secret!
# - Please Change this key before install on server.
# SECRET_KEY = 'y3r$r7#g(g_6xt!q35ct=6sqt0kiihqe2vc#k%bktayz@vok2v'
SECRET_KEY = '....'
- Generate 'new' SECRET_KEY
import random
print(''.join(random.SystemRandom().choice('abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)') for i in range(50)))
# '(vj1g8ps3a7li%g%go6uno4!n(9dfegsj7mvbicy$vv&c#!ak4'
- Pull Requests are always welcome!
- Please create Issue or send me an email to me if you have any questions or requests.
- Template : Dashgum by Alvarez.is / You can find it here.
- Donation
- Bitcoin : 1M7usjq5PNz7vjWz1oyyzj2VHwKC6EmSsi
- Ethereum : 0x93357b84488DDC8D52e2C6E51dF745B026F95B71