Capture the Flag

TL;DR: Suche nach Flags im Format drnhfr{...}. Mit dem Befehl submit <flag> schaltest du das nächste Level frei. Viel Spaß, der Timer läuft bereits! BTW, nimm wenn es geht dieses Terminal her ;)

Woher das kommt

Capture the Flag ist ursprünglich ein Geländespiel, bei dem zwei Teams versuchen, die Fahne des anderen ins eigene Lager zu holen. In der IT-Sicherheit ist daraus ein Wettbewerbsformat geworden. Der bekannteste Wettbewerb läuft seit 1996 auf der DEF CON in Las Vegas.

Die meisten CTFs sind heute im Jeopardy-Format. Es gibt eine Liste von Aufgaben, sortiert nach Kategorien wie Web, Kryptografie, Forensik oder Reverse Engineering. Wer eine Aufgabe löst, findet eine Flagge, also eine Zeichenkette in einem festen Format, und bekommt dafür Punkte. Beim Attack-Defense-Format betreibt dagegen jedes Team dieselben verwundbaren Dienste, flickt die eigenen und greift die der anderen an.

Für den Einstieg gibt es Wettbewerbe wie picoCTF, die sich an Schüler und Studenten richten. Eine Übersicht über laufende CTFs und die Teams dahinter führt CTFtime.

Wie ich dazu gekommen bin

Angefangen hat das mit einem ehemaligen Arbeitskollegen, Mazzoo. Ein alter Linux-Spezialist, Embedded Engineer und Maker im Allgemeinen. Bei einem unserer Gespräche sind wir irgendwann bei CTFs gelandet.

Lange hat es danach nicht gedauert, bis wir nach Feierabend in der Firma ein kleines inoffizielles CTF gespielt haben. Es war super spaßig und weniger Linux-lastig, sondern eher .NET- und Web-Sachen, die man reverse engineeren musste. Linux konnte von den damaligen Teilnehmern keiner so wirklich außer Mazzoo. Aber zu dem Zeitpunkt ging meine Linux-Reise so wirklich los.

Aktiv spiele ich keine CTFs, durch das ein oder andere Wargame auf OverTheWire hab ich mich aber schon gearbeitet. Ein Reverse Engineer, der sich mit Begeisterung durch Assembler wühlt und mit Ghidra Spaß hat, werde ich in diesem Leben nicht mehr. Muss ich aber auch nicht sein, um Spaß daran zu haben.

Irgendwann kam dann die Idee, selbst eins zu bauen. Nichts Großes, sondern etwas für Anfänger, die ein minimales Wissen haben, wie Software so funktioniert. Und naja, schon sind wir mittendrin. Es ging nämlich schon los!

Werkzeuge

Wer noch nie ein CTF gespielt hat, kommt mit erstaunlich wenig aus. Für dieses Spiel reicht ein Browser. Für andere CTFs sind diese Werkzeuge ein guter Anfang:

  • Entwicklerwerkzeuge im Browser (F12) und Quelltext anzeigen (Strg+U) zeigen, was eine Seite wirklich ausliefert, auch das, was nicht angezeigt wird.
  • base64 kodiert Text als Base64 und dekodiert ihn wieder. Das Terminal dieser Seite hat den Befehl auch.
  • curl schickt HTTP-Anfragen von der Kommandozeile und zeigt auch die Header der Antwort. Das Terminal dieser Seite hat eine einfache Version davon.
  • strings und file verraten, was in einer unbekannten Datei steckt, und cat gibt ihren Inhalt aus.
  • Wireshark öffnet Mitschnitte von Netzwerkverkehr und zerlegt sie in einzelne Pakete.
  • Ein Hex-Editor zeigt die rohen Bytes einer Datei.
  • Eine ASCII-Tabelle übersetzt Zahlen in Zeichen und zurück.

So funktioniert dieses Spiel

Hinter fünf Türen stehen Geschichten über Dinge, die ich gebaut habe. Jede Tür ist verschlüsselt, und die Flagge ist der Schlüssel. Die erste Flagge steht irgendwo auf jeder Seite, jede weitere hinter der Tür davor.

Flaggen sehen aus wie drnhfr{...} und werden im Terminal mit submit eingegeben. hint gibt einen Schubs in die richtige Richtung.

Wer noch nie mit einem Terminal gearbeitet hat, findet unter Das Terminal eine Anleitung zu cat, curl und base64. Zum Nachschlagen von Zeichencodes gibt es die ASCII-Tabelle.

Manche Sachen sind gestaged, deshalb sollte man die drnhfr-sh verwenden (siehe unten). Man öffnet sie durch Klicken oder mit / oder Strg + K.

Viel Spaß!


0/5 Türen offen

  1. ?????
  2. ?????
  3. ?????
  4. ?????
  5. ?????

Das Spiel läuft im Terminal, und das gibt es erst ab Tablet-Breite.

drnhfr-sh 1.0 (x86_64-unknown-linux-gnu) * Documentation: type "help" or "?" * Getting around: type "ls", then "cd" Last login: never, from a machine much like this one.