Inspiration
This project was inspired from:
What it does
CTF cog
- Create a new CTF: creates a new category channel for it and some channels to start with (
credentialswhere we put out credentials to the CTF platform,solveswhere challenge solves are announced,noteswhere we can take notes, and ageneralchannel). - Rename a previously created CTF (renames its category channel).
- Archive a CTF (make its channels public and read-only)
- Delete a CTF (deletes a CTF from the database and all its channels)
- Join an ongoing CTF (gives the member a role that will let them inside the CTF channels)
- Leave a previously joined CTF (omits the role from the member)
- Add CTF credentials and put them in a dedicated read-only channel
- Show CTF credentials at any time
- Show that you're working on a specific challenge (it will add the member in a channel dedicated to that specific challenge, and only people who showed that they're working on it are allowed in)
- Stop working on a challenge (leave the channel associated with the challenge)
- Mark a challenge as solved (also announces it in the announcements channel)
- Mark a challenge as not solved (undoes the previous)
- Create a new challenge (creates a new channel for it and sets the permissions so only those who show that they're working on it get to see it)
- Rename a previously created challenge
- Delete a previously created challenge (deletes it from the database and deletes its channel)
- Submit a flag into the CTFd platform using the brand new discord's Slash commands, if the flag is correct, the challenge is marked solved and an announcement is made in the announcements channel on whether we got first blood or not.
- Pull CTF challenges automatically from the CTFd platform and create a channel for each of those.
- Show status of all ongoing CTFs with their details (challenges solved, challenges remaining, etc)
CTFtime cog
- Get the list of upcoming events from ctftime.org
- Show ongoing CTF competitions
- Get world leaderboard for a specific year
- When a CTF competition approaches (typically 3 days before), send a message in a dedicated channel and sets 2 votes: thumbs up and thumbs down, so members can vote on whether to play that CTF or not. 3h before the event the bot decides whether or not to create that CTF based on the votes. (on progress)
Encoding cog
Implements some simple encoding/decoding commands (base64, base32, binary, hex)
Cipher cog
Implements some classic ciphers (caesar, rot13, atbash, vigenere)
Syscalls cog
Provide a utility to get a specific syscall with a simple command, which helps a lot during exploit development (pwn).
How we built it
Using Python and the Discord API, we used MongoDB for storage, and Docker for the ease of deployment.
Challenges we ran into
This submission form.
Accomplishments that we're proud of
CTFs will be easier
What we learned
A lot.
What's next for Eruditus
A lot.
Log in or sign up for Devpost to join the conversation.