gabrielserratg / NullCTF

A Discord bot that provides ctf tools for collaboration in Discord servers!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A discord.py bot focused on providing CTF tools for collaboration in Discord servers (ctftime.org commands, team setup, utilites, etc)! If you have a feature request, make it a GitHub issue or use the >request "x" command.

Invite to your server
Join the support server

How to Use

This bot has commands for encoding/decoding, ciphers, and other commonly accessed tools during CTFs. But, the main use for NullCTF is to easily set up a CTF for your discord server to play as a team. The following commands listed are probably going to be used the most.

  • >ctf create "ctf name" This is the command you'll use when you want to begin a new CTF. This command will make a text channel with your supplied name under the category 'CTF' (If the category doesn't exist it will be created). Must have permissions to manage channels

NOTE: the following ctf specific commands will only be accepted under the channel created for that ctf. This is to avoid clashes with multiple ctfs going on in the same server.

  • >ctf join/leave Using this command will either give or remove the role of a created ctf to/from you. enter image description here

  • >ctf challenge add/working/solved/remove "challenge name" Allows users to add or remove challenges to a list, and then set the status of that challenge. Use quotations

  • >ctf challenge list This is the list command that was previously mentioned, it displays the added challenges, who's working on what, and if a challenge is solved (and by who). enter image description here

NOTE: There is shorthand! challenge -> chal/chall, add -> a, working -> w, solved -> s, remove -> r

  • >ctf end Delete the ctf info from the db, and remove the role from your server. Must have permissions to manage channels

The following commands use the api from ctftime

  • >ctftime countdown/timeleft Countdown will return when a selected CTF starts, and timeleft will return when any currently running CTFs end in the form of days hours minutes and seconds. enter image description here
    enter image description here

  • >ctftime upcoming <number> Uses the api mentioned to return an embed up to 5 upcoming CTFs. If no number is provided the default is 3. enter image description here

  • >ctftime current Displays any currently running CTFs in the same embed as previously mentioned. enter image description here

  • >ctftime top <year> Shows the ctftime leaderboards from a certain year (dates back to 2011). enter image description here


Utility commands

  • >magicb filetype Returns the mime and magicbytes of your supplied filetype. Useful for stegonography challenges where a filetype is corrupt.

  • >rot "a message" <right/left> Returns all 25 possible rotations for a message with an optional direction (defaults to left).

  • >b64 encode/decode "message" Encode or decode in base64 (at the time of writing this, if there are any unprintable characters this command will not work, this goes for all encoding/decoding commands).

  • >binary encode/decode "message" Encode or decode in binary.

  • >hex encode/decode "message" Encode or decode in hex.

  • >url encode/decode "message" Encode or decode with url parse. This could be used for generating XSS payloads.

  • >reverse "message" Reverse a message.

  • >counteach "message" Count the occurrences of each character in the supplied message.

  • >characters "message" Count the amount of characters in your message.

  • >wordcount a test Counts the amount of words in your message (don't use quotations).

  • >htb Return when the next hackthebox machine is going live from @hackthebox_eu on twitter.

  • >cointoss Get a 50/50 cointoss to make all your life's decisions.

  • >request/report "a feature"/"a bug" Dm's the creator (nullpxl#3928) with your feature/bug request/report.

  • >help Returns the help page

Have a feature request? Make a GitHub issue or use the >request command.

About

A Discord bot that provides ctf tools for collaboration in Discord servers!


Languages

Language:Python 100.0%