Skip to content

PETIRsec/beectf-2025-final

Repository files navigation

Information :

Flag format: BEECTF{*}

Initial Point : 500

Decay Point : 30

Minimum Point : 100

CTFD Server

CTFd: click here

Username: BeeCTFAdmin
Password: B33CTF4dm1n12340987!#@

How to submit your challenges

  1. Fork this repository

In your terminal:

  1. Clone the forked repository
  2. Open the directory on your favorite IDE

In your favorite IDE:

  1. Open your challenge's category folder

  2. Inside, create a new folder 📂 with the same name as your challenge (name should be in all lowercase) and spaces replaced with dash -

  3. Your challenge folder generally should have the following structure:

    challenge-name
     ├── challenge.yml
     ├── README.md
     └── src
         ├── chall.py
         ├── flag.txt
         ├── solve.py
         └── start.sh
     └── dist
         ├── attachment2.py
         └── attachment1.txt
    
    • attachment1.txt : attachment file that will be given to player
    • attachment2.py : attachment file that will be given to player (you can add more attachment if needed)
    • challenge.yml : the challenge config file (Click here for more details!) or just look at the existing examples
    • README.md : the basic explanation of the challenge and the writeup
    • src/ : all of the file used for the challenge, regardless given or not given to the player
    • start.sh : the file used to start the challenge docker (only for nc or web challenge)
    • solve.py : the file used to solve the challenge (highly recommended to be included)
  4. You can copy challenge.yml from the already existing examples and adjust the contents accordingly

  5. If your challenge doesn't have any files to give to the players (e.g. a netcat-only challenge), then remove the files: section in challenge.yml

  6. Add a tag for the difficulty of your challenges (easy, medium, hard) in the challenge.yml file (see example)

  7. Refer to the example challenge folder as much as you can

If your challenges requires hosting (web or nc)

  1. Please create a docker for your challenge, for web challenge you can make your own Dockerfile, for nc challenge specifically, you can use the mondok template
  2. Create a start.sh file that contains the command to run your challenge (unzipping, docker compose up, etc), and put it in the src/ folder, look at the existing examples for reference

In your favourite browser :

  1. Create a pull request to the main branch
  2. A github action will automatically attempts to deploy your challenges to the test-server, make sure the checks is successful

Extra :

  1. Check the test server and make sure your challs are working properly
  2. Once the pull request has been merged, check the prod server and make sure your challs are working properly
  3. Put the author part of challenge.yml inside your challenge description (refer to the example if you're confused)
  4. Make sure you write the category: part of challenge.yml correctly, follow this list below :
    • Cryptography
    • Binary Exploitation
    • Reverse Engineering
    • Web Exploitation
    • Forensic

Use the chall server IP (31.97.187.222) in the description of the chall for NC and web.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7