# Yes But No's inaugural CTF!

On the 18th of November, Yes But No (YBN) organised its very first Capture-the-Flag (CTF) competition. This 2-day event saw teams from various academic institutions in Singapore, such as Nanyang Junior College (NYJC) and Singapore Polytechnic (SP), signing up to take part.

YBN spent several months planning out the event, such as the challenges included as well as the infrastructure hosting the CTF itself.

[We wrote about our infrastructure in a seperate blog post.](https://blog.yes-but-no.org/ybn-ctf-2023/infra)

### About the CTF

YBNCTF was a 24-hour CTF, lasting from 18 Nov, 1200h to 19 Nov, 1200h. The CTF had 45 teams who signed up, with a total of 112 participants.

The infrastructure was hosted on a Kubernetes cluster on Oracle Cloud Infrastructure and Amazon Web Services. For more information about the infrastructure used for this event, please refer to the dedicated blog post.

The top 5 teams for this event were:

1. blåhaj (from NUSH)
2. KKWindowsWarriors (from SP)
3. Graifons (from SP)
4. ze womanz (from NP & ASRJC)
5. joelt.io

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2F0vGJblKoo2KHG8CLNd93%2Fimage.png?alt=media&#x26;token=7ffacac7-86a1-4dec-9531-6ed1a343081c" alt=""><figcaption><p>Final Scoreboard of Top 10 teams</p></figcaption></figure>

###

### Challenges

YBNCTF featured a variety of challenges of varying difficulty levels across multiple cybersecurity domains:

#### Reverse Engineering

* ELF binary reverse engineering
* Python obfuscation
  * Includes the infamous Flag Server challenge
* Lua obfuscation (using Roblox Studio)

#### Open Source Intelligence (OSINT)

* Travelling Intern challenge series (Japan)
* Extreme Location challenge series (India)
* Public Transport challenge series (Singapore)
* Misc. challenges

#### Web Security

* JWT manipulation/exploitation
* Curl (command-line utility)
* HTML code analysis (looking through the HTML code to find flag/flag fragments)

#### Cryptography

* Base65536 - A custom encoding format adapted from Base64
* Fermat's Attack on RSA

#### Remote Binary Exploitation (pwn)

* Buffer Overflow
* Ret2Win

#### Miscellaneous

* LLM (Large Language Model) prompt injection
* Verilog
* Netcat
* Excel

### Publicity

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2FLx6MYwoOCM6Yfcgbwdmf%2FIMG-20231021-WA00001.jpg?alt=media&#x26;token=55d40dc0-dad0-4740-bcf0-e111af0c31fc" alt="" width="375"><figcaption><p>The banner that we sent out</p></figcaption></figure>

To promote this event, YBN members sent out advertisements to the Discord channels of various cybersecurity interest groups several weeks in advance to inform others of the upcoming CTF, to encourage them to participate.

In addition, we advertised on several channels including:

* BuildingBloCS
* NullSec
* NYJC's Computing Discord

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2FRrragmjIbiBEtIGpbvTf%2Fimage.png?alt=media&#x26;token=c8b54f91-c62d-4587-aef3-d09b5319a34e" alt=""><figcaption></figcaption></figure>

We can see that this mostly worked out well, as a large number of participants knew about the CTFs via our advertisements, some of which were in schools (such as NP (NullSec) and NYJC), and word of mouth.

## Statistics

Since this is our first time hosting a CTF, we mainly targeted students.\
We had 45 teams and 114 users registered, which is not too bad seeing that we only spent about a month getting the word out.

From the form responses, our participants were mostly Poly/JC students, which corresponds to the channels we had publicized in (to Poly/JC students)

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2FgcgiKfdMLh01tUeHesBJ%2Fimage.png?alt=media&#x26;token=952a4037-de32-47fb-aec9-b1ae1778f840" alt=""><figcaption><p>Demographics of our participants</p></figcaption></figure>

Teams were in groups of 3 or less, and of the 45 teams that signed up (some after the form was closed), 32 teams were active (solved at least 1 challenge).

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2Fgit-blob-7ebcf38437cd0e18fe58fe53bef0b36e7d893542%2Fimage%20(1).png?alt=media" alt=""><figcaption><p>Statistics for challenges and scores (with 1 hidden admin team)</p></figcaption></figure>

Infrastructure planning had started in September, and challenges and social Media in October, we had to move quickly to spread the word while creating challenges. By the start of the CTF, we had about 43 challenges ready and had added 8 more during the duration of the CTF.

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2Fgit-blob-1233519f23707eac5c0192267caef199e2c1a5c4%2Fimage%20(2).png?alt=media" alt=""><figcaption></figcaption></figure>

### Feedback

After the CTF, we received some feedback with regards to the CTF.

The feedback we received was generally positive, and participants do seem to enjoy the CTF. The CTF also gave participants quite a challenge.

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2FWU30mhpTnSIoC8jzLWhL%2Fimage.png?alt=media&#x26;token=d57a60cd-e668-43e7-8555-9e0f6212edd4" alt=""><figcaption><p>Feedback on the event</p></figcaption></figure>

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2Fw74MGCWUcENMkAFupAAA%2Fimage.png?alt=media&#x26;token=7587c5a2-f1d4-4773-b6b3-84d1fdb1feb0" alt=""><figcaption><p>Difficulty of CTF</p></figcaption></figure>

Participants also enjoyed OSINT challenges the most, which included the Travelling Intern and Extreme Location series.

<figure><img src="https://663918072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3R3jZ9kmgixdDHOVU6XM%2Fuploads%2FVwDTi7Y6tofBlUPhlMaX%2Fimage.png?alt=media&#x26;token=a8356165-48a7-4a02-9f64-c169d1f6e251" alt=""><figcaption></figcaption></figure>

### Areas of improvement

Looking at the feedback, we see some issues participants had and would like to address some of them.

* 3 person team
  * We will consider increasing the team size for the next YBN CTF.
* Quality of challenges
  * We will vet the challenges more thoroughly and include challenges of appropriate difficulty in the next YBN CTF.

## Acknowledgements

* YBN would like to thank NullSec and NYJC's Computing Department for posting about the CTF in an official announcement.
* A shoutout to those who shared about YBNCTF on LinkedIn!
  * [Sora ](https://www.linkedin.com/posts/sorahehe_got-top-3-in-ybnctf-2023-with-zavier-lee-activity-7131879000469098497-FtDa?utm_source=share\&utm_medium=member_desktop)
  * [Jun Jie (minty)](https://www.linkedin.com/posts/ongjun-jie_spent-the-weekend-playing-in-yes-but-nos-activity-7132170689050005504-t628?utm_source=share\&utm_medium=member_desktop)
* Lastly, thank you to all participants, challenge creators and infrastructure managers for making YBNCTF possible. We hope to see you next year at YBNCTF 2.0!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.yes-but-no.org/ybn-ctf-2023/ctf.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
