Pwn The Jewels
is a Discord bot that utilizes 36" Cyber Kill Chain © to catch malicious Pew Pew Pews
©. Jokes aside, Pwn The Jewels
is a project that was created to help cyber threat analysts (CTIs) with various
tasks, mainly monitor feeds. Originally, this bot was written back in late October 2019, but has been repurposed for
CTI after BushidoToken's blog post, where he talked about how to turn Discord into a CTI dashboard.
In BushidoToken's blog post, it is quite noticeable that he had to use multiple bots to monitor various feeds, with the majority of the bots being closed source and having paywalled features. As a person that hates such paywalls, I decided to write my own and release it to the public to combat this annoyance, with the key difference being no paywalls and ability to self-host.
After cloning the repository, configure your config.yml
to assign your API keys and settings:
- Discord:
- Discord API Bot Key with either
Administrator
permission or the following permissions:View Channels
Send Messages
Manage Messages
Embed Links
Attach Files
Read Message History
- Channel IDs. You can get this by right-clicking a channel name and pressing
Copy ID
.
- Discord API Bot Key with either
- Reddit API:
- Client ID
- Secret
- Twitter API:
- Access Token
- Access Token Secret
- Consumer Key
- Consumer Secret
- Youtube API v3:
- API key
- Bot prefix
- Profile and footer picture
- Database name
After setting the mandatory values, you can either run the bot via pipenv
or via Docker:
$ sudo apt install python3-pip
$ sudo pip3 install pipenv
$ sudo pipenv install
$ pipenv shell
$ pipenv run bot
$ sudo apt install docker docker-compose
$ sudo groupadd docker
$ sudo usermod -aG docker ${USER}
$ su -s ${USER}
$ docker build -t pwnthejewels .
$ docker run pwnthejewels &
help | Displays the help menu |
---|---|
clear | Clears a given amount of messages from the channel the command was invoked in. Example usage: $clear <amount> |
addrss | Add a RSS feed to the database. Example usage: $addrss <url> |
removerss | Remove a RSS feed from the database. Example usage: $removerss <url> |
addalert | Add a Google Alerts RSS feed to the database. Example usage: $addalert <url> |
removealert | Remove a Google Alerts RSS feed from the database. Example usage: $removealert <url> |
addsubreddit | Add a subreddit to the database. The /r/ should NOT be included.Example usage: $addsubreddit <subreddit-name> |
removesubreddit | Remove a subreddit from the database. The /r/ should NOT be included.Example usage: $addsubreddit <subreddit-name> |
addtelegram | Add a Telegram RSS feed to the database. Example usage: $addtelegram <url> |
removetelegram | Remove a Telegram RSS feed from the database. Example usage: $removetelegram <url> |
addtweeter | Add a Twitter user to the database. The @ should NOT be included.Example usage: $addtweeter <username> |
removetweeter | Remove a Twitter user from the database. The @ should NOT be included.Example usage: $removetweeter <username> |
enablerts | Enable monitoring for retweets for a given username in the database. By default this is disabled. The @ should NOT be included.Example usage: $enablerts <username> |
disablerts | Disable monitoring for retweets for a given username in the database. The @ should NOT be included.Example usage: $disablerts <username> |
addchannel | Add a YouTube channel to the database. Example usage: $addchannel <channel-url> |
removechannel | Remove a YouTube channel from the database. Example usage: $removechannel <channel-url> |
I plan to expand the capabilities of the bot further as time goes on. The following is a ist of features I hope to implement in the near future (listed in no specific order):
- Basic file analysis via
checksec.py
- Have I Been Pwned API
- Reminders
- Twitch monitoring
- VirusTotal API
Suggestions/Requests are more than welcome. If you'd like to suggest a feature, be sure to submit a Feature Request
in the Issues tab of the repository.
Donations are more than welcome. You can either donate to just thank me or encourage me to work further on the project. Because PayPal ceased its operations in Turkey back in 2016, I sadly can't take PayPal donations. As a result, cryptocurrencies are my main choice of donations. If you'd like to donate, you can donate with your choice of cryptocurrency at the following addresses:
- Bitcoin:
bc1qfp2a7pncxvq3s9qgtj0fp7k6v5rzy8g763u7uk
- Bitcoin Cash:
qz3s06xm9j6cj26qavstykwysf3xs92l3ymjpvut88
- DogeCoin:
DNPBgj2JVgYm17h8ybxkpYmC2LZmL91pUs
- Ethereum:
0x3FB9505DA434Ce308880261acbe56A4e321DdEFC
- Litecoin:
LRrcsYvbSnQoFmR3H8nYTtXYM8r2ZU14eU
- Monero:
47cyUEhzoakWsQUWme4zrJ5yKbU31TJu57DmySnGmGQFCjQgrYvG1EAUPzwVFQQJqBbBuhPXXKcT1Uu2krS2Dn7wNXHvbGx
- Ripple:
rUT1G4DT1kCYamsh1AoQcMvcN29PcyPWP1
If you can't see your cryptocurrency of choice here, please don't hesitate to contact me on Twitter so I can sort out alternative cryptocurrencies.
- The project's name is a parody and a homage to Run The Jewels.
- 36" Cyber Kill Chain is a parody and a reference to Run The Jewels' song, 36" Chain
- Pew Pew Pews is a parody and a reference to Run The Jewels' song, Pew Pew Pew (ft. DJ QBert)
- The logo used in the bot and the banner was created by the Redditor /u/Rant423 in /r/runthejewels.