Bounty Monitor
An end-to-end bug bounty monitoring suite
Report Bug
·
Request Feature
Table of Contents
About The Project
![Slack](https://i.imgur.com/PoSzyBh.png)
Bounty Hunter glues together various different recon tools and uses Slack to send alerts of any found hosts. The basic workflow is as follows:
- A list of wildcard domains that belong to companies with bug bounty programs is pulled hourly from arkadiyt/bounty-targets-data and compiled into golang regexes.
- Certstream is used to stream certificate transparency logs, where we look for subdomains that match the pulled regexes.
- Found subdomains are put under a suite of scans:
- Port scanned with nmap
- Subjack is used to check for a possible subdomain takeover
- If a web server is running on a port, a screenshot is taken via Chrome headless driver libraries.
- An sqlite database is used to keep track of found hosts.
- Slack is used to fire off notifications.
Getting Started
To get a local copy up and running follow these steps.
Prerequisites
This is an example of how to list things you need to use the software and how to install them.
- A Slack App
- Create one at https://api.slack.com
- Add scopes channels:read, chat:write, and files:write
- Copy your OAuth Token.
- Nmap
sudo apt-get install -y nmap
or similar.
- Chromium or Chrome
sudo apt-get install -y chromium
or similar.
Installation
-
Set your slack bot's access token as an environment variable
export SLACK_TOKEN=FAKE-SLACK-TOKEN-HERE
-
go get
-
go build
Usage
./bounty-hunter
Optional Flags
--use_bounty_targets
: (default true
) boolean to use all wildcard domains belonging to bug bounty programs.
--targets
: manually specify target domains.
--fingerprints
: JSON file containing subjack fingerprints.
--db_name
: name of SQLite db file to use.
--slack_env
: name of environment variable containing slack token.
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
)
- Commit your Changes (
git commit -m 'Add some AmazingFeature'
)
- Push to the Branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
License
Distributed under the GPLv3 License. See LICENSE
for more information.
Dylan Leggio - @dylspickle - dylan@legg.io