• Stars
    star
    242
  • Rank 161,543 (Top 4 %)
  • Language
    Python
  • Created almost 5 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Multithreaded monitoring framework to detect and report newly found subdomains on a specific target using various scanning tools with support for Acunetix & Nuclei

Monitorizer

The ultimate subdomain monitorization framework

Subdomain monitoring framework inspired by subalert project

Scanners integration

  • Nuclei integration

    • This integration is enabled by default with no action from the user however if you wish to disable it or modify it's options edit config/default.yaml

    • An always running instance of projectdiscovery/nuclei that will scan ALL (not just the newly found) subdomains from targets in the watch list - only modify the watch list from slack commands e.g @monitorizer add example.com

    • Keep in mind you're responsible for updating your local copy of nuclei templates at modules/nuclei from https://github.com/projectdiscovery/nuclei-templates

  • Acunetix integration

    • This integration is disabled by default you must send @monitorizer acunetix enable to your running monitorizer instance to enable this integration

    • You need to have your own Acunetix instance

    • On a newly discovered subdomain this integration will start new Acunetix scan

Setting up the environment

You need:

  • Python >= 3.6 ( python 2 is not supported )
  • Linux server e.g(Amanzon EC2) [64bit]

Before we start you need to install the requirements

$ sudo pip3 install -r requirements.txt

After installing the requirements now you're ready to go

Configuration

This tool requires a slack workspace to report the findings. Additionally you can use the included acunetix integration to scan the newly discoverd domains

You need to edit the config/default.yaml

report:
  slack: # required
    channel: CM8XXXXXX
    token: xoxb-XXXXXXXXXX-ZZZZZZZZZZ-YYYYYYYYYYYYYY
  
  acunetix: # optional
      token: 63c19a6da79816b21429e5bb262daed863c19a6da79816b21429e5bb262daed8
      host:  acunetix.exmaple.com
      port:  3443

settings:
  nuclei:
    enable: true
    interval: 86400 # rescan all targets in the watch list every 24h
    options: -impact high

For more information see: docs/get_started.md

$ python monitor.py -w watch_targets.txt

if everything is configured currectly to should see this message on your slack channel

Monitorizer supports more than one subdomain enumeration tool to achieve the best result

scanners = [
	aiodnsbrute, # https://github.com/blark/aiodnsbrute (included)
	subfinder,   # https://github.com/subfinder/subfinder (included)
	sublist3r,   # https://github.com/aboul3la/Sublist3r (included)
	dnsrecon,    # https://github.com/darkoperator/dnsrecon (included)
	dnscan,      # https://github.com/rbsec/dnscan (included)
	amass,       # https://github.com/OWASP/Amass (included)
]

command lines can be found at config/default.yaml It is also recommended to add your API keys in the config/thirdparty/*

How to run

As the script runs once everyday to need to host it on a running linux server

$ ssh [email protected]
$ ls
Monitorizer
$ cd Monitorizer
$ screen -dmS monitorizer bash -c 'python3 monitor.py -w targets.txt'

Slack Commands

Monitorizer supports slack commands by mentioning the bot

To Enable Slack commands you have to enable Event Subscriptions and set the [Request URL] to http://your_ip:6500/slack

Command Description Usage
list Lists all targets @monitorizer list
add Adds new target @monitorizer add target.com or @monitorizer add target1.com, target2.com
remove Remove targets @monitorizer remove target.com or @monitorizer remove target1.com, target2.com
ping Health check for the server @monitorizer ping
status Prints the current status @monitorizer status
concurrent Set/Get number of concurrent scanners @monitorizer concurrent or @monitorizer concurrent {number}
acunetix Enabled/Disable sending new discoverd targets to acunetix @monitorizer acunetix enable or @monitorizer acunetix disable
freq Set/Get scan frequency (in hours) @monitorizer freq or @monitorizer freq {number}

FAQ

  1. Scanning may hang on some targets for a long time

    • Try running the tool with -d flag to debug the problem
    • Edit the timeout flag at config/default.yaml to your desired time in seconds
  2. Slack's bot app don't respond to my commands

    • Check your slack bot token
    • Reconfigure the tool using the docs

TODO

Full todo list is at https://github.com/BitTheByte/Monitorizer/projects/1

More Repositories

1

YouTubeShop

Youtube autolike and autosubs script
Python
302
star
2

Eagle

Multithreaded Plugin based vulnerability scanner for mass detection of web-based applications vulnerabilities
Python
103
star
3

BitBlinder

BurpSuite extension to inject custom cross-site scripting payloads on every form/request submitted to detect blind XSS vulnerabilities
Python
101
star
4

Domainker

BugBounty Tool
Python
40
star
5

BitMapper

Burp-suite Extension For finding .map files
Python
36
star
6

GmailChecker

Youtube or Gmail login checker
Python
29
star
7

BitTraversal

Burpsuite Plugin to detect Directory Traversal vulnerabilities
Java
26
star
8

Orkestra

Web-based Android debugger with inspection capabilities using Frida and Jadx as a backbone
Python
25
star
9

WayRobots

Tool to find stored robots.txt files from the past
Python
16
star
10

Watcherizer

Slack Bot for monitoring websites for codebase changes
Python
15
star
11

Awesome-collisions

Collection of vulnerable functions
11
star
12

XML-Finder

[XXE TOOL] Burp suite extension to detect requests contains XML
Python
10
star
13

FacebookCracker

python cracker for facebook accounts
Python
8
star
14

ModernCryptoLib

Python cryptography library
Python
7
star
15

Facebook-Toolkit

Facebook Python API
Python
6
star
16

CTF-Writeup

Python
6
star
17

Needle

Wrapper around python threading/concurrent module allowing fast development of threaded python applications
Python
5
star
18

BitDefined

Chrome based extension to list custom defined javascript types
JavaScript
5
star
19

Pybook

Facebook messages reply framework
Python
4
star
20

LetsFoolBots

Python
4
star
21

YoutubeAPI

Youtube api for bots
PHP
3
star
22

Web-Spider

Python Web Spider
Python
3
star
23

Image-Reader

Python OCR program to read text within images
3
star
24

sms-beta-website

JavaScript
2
star
25

Helpers

Python
2
star
26

PyVM

Custom Python based VM
Python
1
star
27

PySafe

Python code protector
Python
1
star
28

bitthebyte.github.io

CSS
1
star
29

Jsepy

Little python GUI framework
Python
1
star
30

Awesome-SubSystem

Shell
1
star