LakeCTF 2022 Blog

17 minute read

So, I went to Switzerland for a CTF competition.

The Prequel

The background and dates are nicely documented here.

It all started with us (NUS Greyhats) performing decently during the qualifications and getting 5th place.

Screenshot taken (calmly) after we knew we were going to advance to the finals
Screenshot taken (calmly) after we knew we were going to advance to the finals

We chose the top 8 teammates who contributed the most both in terms of discussion in the discord channel and scoring for the team.

Some words of appreciation

Before I start the part about the trip, let me give a special thanks to NUS School of Computing for their SoC Take on the World (SToW) financial aid program. This program funded our plane and train tickets and is what got our team overseas for this unforgettable experience.

And off we go

My flight and train there were accompanied by two of my teammates, Kel Zin and Devesh. We took the night flight on Thursday night on the 3rd of November. I can’t recall the full duration of the flight and it’s too complicated to calculate due to timezone differences, so I’ll just say it’s way too long for my liking.

(from the left) Kel Zin, Devesh, and me
(from the left) Kel Zin, Devesh, and me

I tried to entertain myself on the plane but ended up sleeping through most of it, and only woke up to great on-plane food. But that’s basically it – nothing much to say about traveling at 400+ km/h 10000m above ground.

The train trip was quite the experience though. But before that, we had to walk a little from the airport terminal to the train platform. The wind was strong and chilly – it was like eating a cold ice popsicle, but the popsicle was eating me instead. I didn’t have my winter coat as it was still in my main luggage, I instead had only a light jacket on, those that can’t even keep you warm in the lecture hall.

Train and the boys
Train and the boys

After fiddling around with their transport app, we finally bought our train ticket and boarded the train. There weren’t any gates or conductors/staff at the entrance. We were supposed to present our ticket (a QR code) to the conductor who comes occasionally to check tickets. Surprisingly, we didn’t actually get our tickets checked for the ~2 hours trip.

The scenery outside the window was awing. The grass was as green as a well-color-graded movie. There were cows and goats roaming on some of the fields with the snowy alps filling in the background. Graffiti was on all surfaces that one could physically have access to (possibly illegally, I would never know).

Scenery outside the train Scenery outside the train

Shifting my eyesight to the inside of the train, there were people drinking coffee, some were eating bread, while others scribbled away on the newspaper with the crossword puzzle of the day. There weren’t much, most people stayed with us for the entire commute, and there weren’t new passenger boarding.

The grass was still green, and the graffiti was still everywhere outside. What was once new and exciting to me quickly became old and repetitive, and my eyelids gave up from the exhaustion from the adventure from Singapore to the second-floor window seat on the train from Zurich to Lausanne.

Checkpoint: hotel

The destination of the train was our hotel, but it was actually still 2 metro (kinda equivalent to Singapore MRT) stations away. And so we walked, in the rainy cold weather, to the metro down the street.

After meeting up with the rest of the team at the hotel lobby, we had the hotel staff look over our luggage while we go out for food. Experiencing the culture is one of the most important aspects of traveling overseas, and food is a big part of any culture!

Random pizzeria down the street
Random pizzeria down the street

Not sure why we did this but we chose the outdoor seats. Remind you: it was cold (~10°C) and raining. Luckily our pizza didn’t get wet, and the chili-infused olive oil gave us that little more heat to keep us from freezing. Though that said, it still remains a mystery to me why they served us iced water. I might never be able to understand them westerners.

Day 1 (finally?)

We went back to the hotel to unpack our stuff and prepare ourselves to travel to the EPFL campus for a tour. The people from EPLF and polygl0ts were super welcoming and nice to talk to. It was another few metro stops to their campus.

We went through a tunnel to go from the metro platform to the main campus area. They had a bunch of nerdy stuff related to math, physics, and chemistry drawn on the walls, which was perfect for me.

The tour started at The SPOT, where we got to see collaboration spaces and workbenches, equipped with 3D printers, mills, soldering stations, and other geeky stuff. The most amazing thing in there though has to be a traffic-light-like device placed at the counter by the entrance, which turns green only when tapped with a card authorized to The SPOT. It’s so simple yet they went out to actually make it, love it for the geekiness!

After The SPOT, the whole group split into two groups: one went to the INJ datacenter, the other went to the Pavilions. I followed the one to the Pavilions. It was quite a cool place with many devices of various interactivity to let us peek into the cosmos. The main theme of the day was about space debris. Pretty cool, but that’s about it.

Visualisations of space debris around the Earth

The final spot of the day is called l’Agora (The Agora). It’s essentially just a lovely place for phototaking. We had this huge staircase/platform area for us to climb up and view the snowy mountains far across the huge Leman Lake.

View from the Agora View from the Agora

Me at the time of writing this: we were peeking into France?!

It was an astonishing view but the wind was unforgiving despite having proper clothing. We were called to proceed to the IC School for our dinner shortafter.

Dinner was buffet style. Food was amazing. Dessert was provided. Beer was served. What more can you ask for! Not much to say about a feast, so I’ll just let the pictures do the talking.

food and people
food and people
food
food
more food
more food
food and beer
food and beer
dessert
dessert

There weren’t other plans for the night, so we took the metro back to the hotel after our bellies refused to ingest more.

Day 2

I started the day by waking up at 6am despite having 6 bottles of beer the night before. Even before coming, I had planned to explore random cafés for coffee and breakfast food. This was partly because I require my morning coffee to function properly for the day. Today is the day of the CTF, I must be in good shape!

I didn’t check online for cafés nearby as I wanted to take the chance to walk around the area too. This also gave me the chance to see the morning life in Lausanne (or at least the area I was in).

Interesting observation: Many people there walk with a plastic pint of beer in their hand. After they’re done, they just leave the cups on the roadside. (Too bad I don’t have a picture. I was shy to take a picture of people.)

I walked quite a bit before arriving at a café that was open that early (~7am). The area I lived in used French more (or so I was told), so I tried my best to order without using translations or body language.

“Un café. Un éclair chocolat. Un éclair café.” (One coffee, one chocolate eclair, one coffee eclair)

“Si. Si. Si.” The lady replied after each order I made, hinting to me that she understood with no real issues!

Interesting fact: If you order just “coffee” (café) in Switzerland or Italy, they will default to an espresso. A single shot would be standard in Italy, but I was served a double here.

She walked off to prepare my order, leaving me satisfied with my limited vocabulary of French (mainly just food names, lol).

“Bon appétit.” She came back with my order and yet another phrase I understand!

The coffee was mediocre. Not disrespecting them, but nespresso just can’t compare to proper espresso. (Coffee nerd rant, please ignore.) The éclair, on the other hand, was really nice. It had thick and creamy custard packed with flavour. However, the icing on top was obvious that they cheaped out a little. But it was a nice experience overall!

I went back to the hotel, joined the rest of the team, and brought them back to the same exact café for their breakfast. There was a small marketplace on the street the café was at. Since I already had my breakfast, I was attracted to a cheese truck. The man there was super kind and gave me and 3 others some free cheese to try. We tried 3 different flavoured pecorino, 2 different parmigiano reggiano. He even went to bring out a cheese wheel from another van for us.

Pecorino!!!
Pecorino!!!

The man was so nice I had to buy some cheese from him. It was the perfect opportunity to get some fresh pecorino to bring back to Singapore to cook some authentic Italian carbonara.

(No, I didn’t use satisfactory French to buy cheese. But hey, at least “pecorino” got through.)

(And yes, the cheese stayed in my bag from the cheese truck, throughout the CTF, onto the plane, and back to Singapore. It was still edible.)

At around this point in time, we were bugged by a beggar woman asking us for money. Body language begging sustained for around 3 minutes. I tried to reject and leave the place, but I think one of us gave in and bought her some bread instead. From what I’ve heard, the beggars here are quite annoying. After this encountering, I already wished to not meet another one.

The CTF (finally???)

We made it on time for the CTF, surprisingly, since everyone took their time to enjoy breakfast. We sat down and immediately got working with the challenges.

I won’t be talking about the challenges. I solved one easy RE, and was working on the harder RE challenge. I thought I was quite close, but apparently I was still a bit far away from the solution.

Food and drinks were served throughout the competition time. So, I just stress ate for the whole 8 hours. I’ll let pictures do the talking again for food.

More bread, and tiramisu!!
More bread, and tiramisu!!

It wouldn’t be a nice onsite CTF without exciting moments and screaming, right?

First blood! (No, the drink wasn't beer. That would be too big of a flex to drink beer in the competition.)

The CTF ended quite quickly. I was more used to CTFs lasting at least 24 hours, 8 was just too short for me. Anyway, we got 4th place, quite close to 3rd actually.

Later at night, we had a simple prize giving ceremony and a cocktail dinner, where we had more food and beer. I had champagne instead! No pictures because I got a little too drunk before I remembered to take them.

Day 3

Today is the last day we’re at Switzerland. We went out early for a nice breakfast and also fondue!

The others said the Gruyère cheese had a tad bit of alcoholic (?) flavour, not sure why they tasted that. It was delicious for me but they thought it was hard to eat too much of it. Too bad there weren’t any pictures, I was too busy finishing the cheese.

Afterwards, it was just the train back from Lausanne to Zurich, and a plane trip back to Singapore. The grass was still as green on the way back on train. This time, I didn’t fall asleep. I looked outside the window often, trying to capture all the view passing us.

Once we boarded the plane, my body once again gave up, only waking up for food. Soon, I found myself back in the familiar hot weather of Singapore.

Conclusion

Everything happened just over the weekend. It was so short, yet filled with so many new experiences. Even though we went there for the CTF finals, it ended up being more like just a trip overseas, which I believe the organizers also aimed for it to be (explains why the CTF is just 8 hours when the whole event was 2 days).

Gaining inspiration from this, NUS Greyhats hopes to organize something similar in Singapore for CTF players of other countries to come and experience Singapore (and NUS, of course)!