Notify is an helper utility written in Go that allows you to pull results from burp collaborator instances and post to CLI, also sends the notification via webhooks to Slack and Discord.
- 💥 Automatic Burp Collaborator BIID interception.
- 💥 Burp Collaborator Slack / Discord notification support.
- 💥 Redirect output of any tool to Slack / Discord / Telegram.
▶ notify -h
This will display help for the tool. Here are all the switches it supports.
Flag | Description | Example |
---|---|---|
-biid | burp private key | notify -biid 123456789 |
-slack-webhook-url | Slack Webhook URL | notify -slack-webhook-url hxxp://a.b.c |
-slack-username | Slack Username | notify -slack-username test |
-slack-channel | Slack Channel | notify -slack-channel test |
-slack | Enable Slack | notify -slack |
-discord-webhook-url | Discord Webhook URL | notify -discord-webhook-url hxxp://a.b.c |
-discord-username | Discord Username | notify -discord-username test |
-discord-avatar | Discord Avatar Url | notify -discord-avatar hxxp://a.b.c |
-discord | Enable Discord | notify -discord |
-silent | Silent mode | notify -silent |
-version | Show version of notify | notify -version |
-interval | Polling interval in seconds | notify -interval 5 |
-intercept-biid | Attempt to intercept biid (needs sudo) | notify -intercept-biid |
-intercept-biid-timeout | Timeout for biid interception in seconds | notify -intercept-biid-timeout 120 |
-http-message | HTTP Message | notify -http-message test |
-dns-message | DNS Message | notify -dns-message test |
The installation is easy. You can download the pre-built binaries for your platform from the releases page. Extract them using tar, move it to your $PATH
and you're ready to go.
Download latest binary from https://github.com/projectdiscovery/notify/releases
▶ tar -xvf notify-linux-amd64.tar
▶ mv notify-linux-amd64 /usr/local/bin/notify
▶ notify -version
Notify requires go1.14+ to install successfully. Run the following command to get the repo -
Installing Notify -
▶ GO111MODULE=on go get -v github.com/projectdiscovery/notify/cmd/notify
Installing Intercept -
▶ GO111MODULE=on go get -v github.com/projectdiscovery/notify/cmd/intercept
Installing Notify -
▶ git clone https://github.com/projectdiscovery/notify.git; cd notify/cmd/notify; go build; mv notify /usr/local/bin/; notify -version
Installing Intercept -
▶ git clone https://github.com/projectdiscovery/notify.git; cd notify/cmd/intercept; go build; mv intercept /usr/local/bin/;
- Run intercept as root
sudo intercept
- Open Burp Suite => Project Options => Misc
- Tick
Poll over unencrypted HTTP
(in v2020.12.1) - Generate new collaborator, click on Poll now.
- Intercept will capture
biid
that can be used withnotify
sudo ./intercept
Attempting to intercept BIID
BIID found: o%2JREfoFxWfdk4i1VOvPQiX96MfpZ7qlZ6kXiGeHbjvJ%3d
You can use notify to receive burp collaborator interaction on your CLI, following command accepts biid
as input and post all incoming interaction over CLI.
notify -biid 132456789
The tool accept parameters from a config file located at $HOME/.config/notify/notify.conf
or either via CLI.
To run the tool just use the following command.
▶ notify -biid 132456789 -slack -slack-webhook-url https://a.b.c -slack-username test -slack-channel test-channel
If you already configured the config file, you can simply run following command and notify
will start receiving burp collaborator interaction on CLI and sends notification to slack / discord.
▶ notify
Similarly to slack, in order to use discord
▶ notify -biid 132456789 -discord -discord-webhook-url https://a.b.c -discord-username notify-bot
Similarly to slack, in order to use discord
▶ notify -biid 132456789 -telegram -telegram-api-key 119489xxxx-:AAF4OV9 -telegram-chat-id 1231434
Notify also supports piping output of any tool and send it over discord/slack channel as notification.
Following command will enumerate subdomains using SubFinder and probe for alive URLs and sends the notifications of alive URLs using httpx to configured discord / slack channel.
subfinder -d hackerone.com | httpx | notify
Following command will enumerate subdomains using SubFinder and probe alive URLs using httpx, runs Nuclei templates and send the nuclei results as a notifications to configured discord / slack channel.
subfinder -d intigriti.com | httpx | nuclei -t files | notify
In similar manner, output (stdout) of any tool can be piped to notify for posting data into slack/discord.
The default config file should be located in $HOME/.config/notify/notify.conf
and has the following contents:
burp_biid: 132465789
# Slack
slack: true
slack_webhook_url: https://a.b.c
slack_username: test
slack_channel: test
# Discord
discord: true
discord_webhook_url: https://a.b.c
discord_username: test
discord_avatar: https://a.b.c/avatar
# Telegram
telegram: true
telegram_apikey: 119489xxxx-:AAF4OV9cdCEzq3tQ3aMtVyzHaRV3a1M7Ow4
telegram_chat_id: 36808xxxx
# General Settings
interval: 2 # seconds
http_message: |
The collaborator server received an {{protocol}} request from {{from}} at {{time}}:
```http
{{request}}
{{response}}
```
dns_message: |
The collaborator server received a DNS lookup of type {{type}} for the domain name {{domain}} from {{from}} at {{time}}:
```
{{request}}
```
📋 Notes
- You can obtain the biid with wireshark on any platform and configure it within the config file.
- Burp collaborator server allow to fetch results only for once, so if you are using this, you will not see results in burp collaborator window.
- Config file has priority over CLI arguments.
- Telegram notification does not support burp collaborator.
Notify is made with 🖤 by the projectdiscovery team.