About Writeups, and CTFs

At the point of this writing, 13 out of 16 of our blog entries are writeups for challenges from various CTFs. In fact, they were taking up so much space we reduced their visibility on the front page slightly compared to regular blog entries, and also gave them their own archive page. I felt we owe an explanation to our readers on what is up with those, and CTFs in general.

Read on to find out about what a CTF is, and how we at Stratum 0 are involved.

What is a CTF?

This acronym stands for “Capture The Flag”, which is the common term for a type of hacking slash security contest. CTFs are regularly organized for conferences, other types of events or sometimes just stand-alone. During a CTF event, which usually lasts for two to three days, hackers organized in teams all over the world try to competitively solve as many challenges as possible to maximize their score. There are commonly 20 to 25 challenges in a CTF, ranked by difficulty and grouped together in categories, which differ between contests but almost always include Pwning, Crypto, Reversing, Forensics and Web.

  • Crypto challenges are all about understanding and consequently breaking insecure crypto ciphers, protocols, and signatures.
  • Forensics usually covers recovery of files or information from different data sources like broken file systems, memory dumps or captured network traffic.
  • Pwning challenges provide the binary or code of an application, which must be dissected to exploit and ultimately discover the flag from a remotely running instance of the same application.
  • Reversing challenges require analysis of a compiled binary file to either find information or modify its behavior in order to discover the flag from it.
  • Web challenges involve hacking of web services, especially HTTP. This includes SQL injection, analysis of service vulnerabilities and bypassing authentication schemes in general.

There are a plethora of other categories coming up irregularly which range from trivia and recon types to shellcode, guertilla programming or just plain “misc”, serving a challenge spectrum from pure execution to out of the box thinking. Difficulty also varies wildly between tasks, from mindbendingly difficult requiring 10+ hours of thorough contemplation and hacking by seasoned players or “just plain impossible”, to solvable by newbies in an hour or two.

Writeups

Solutions to the challenges are usually not given by the organizers of an event even after it is over, but instead provided in the form of writeups from the playing teams. Since oftentimes there is no single obvious way to solve a problem, there is a certain diversity to the approaches taken by different teams and reading writeups often provides interesting in- or at least hindsight.

So that’s what we are doing here. Each writeup post is the solution to one challenge in a CTF event we participated in. We don’t write one for every challenge we solve, obviously, but pick the ones we found particularly entertaining, consider interesting technically, or were the only ones to solve.

Our CTF Team

We started playing CTFs some time around May 2012. At first there were three and a half people attending regularly, stumbling their way through the levels without much of a clue of what we were doing. This changed over time, we found more players, everyone learned a lot and we are now about six regulars plus a couple of on and off players, and some of us even know what they are doing.

The website CTF Time tries to keep track of the scoreboards of all CTF events, assigning points to teams based on rating weights for all events. It established its status as a global CTF ranking. In 2012, the Stratum 0 team ended up in place 45 of this ranking despite participating only in a relativly small number of events. In 2013, we are the highest ranking German team on position 21st, so far.

In a recent development, the Stratum 0 team joined efforts with the team from CCC Aachen, forming the new team Stratum Auhuur. The experiment worked well with online collaboration at ASIS CTF and CSAW CTF, and we are currently planning to visit Aachen for the hack.lu CTF event. If all goes well, we might play as a joint team for the entire season of 2014, and are shooting for a place in the Top 10 at CTF Time.

Come visit!

I would also like to point out that while a certain level of computer literacy is required to participate in CTFs, we are always happy about potential new players and generally open to guests. All CTF events are announced on the Normalverteiler and Stratum News mailing lists and are open to anyone who feels like breaking weak rsa keys, injecting sql, going wild with buffer overflows, learn what those things even mean, cheer us on, or just look at a bunch of nerds thinking real hard for extended periods of time.