Zum Inhalt springen
PURPLEDUEL

Das letzte Rätsel

Kodierungen & Geheimnisse · Schwierigkeit schwer · 5 Ziele · 1000 XP insgesamt

Der Rabe ist verschwunden und hat eine verschlossene Truhe und ein paar auf mehrere Dateien verteilte Hinweise zurückgelassen: eine Legende, eine Reihenfolge, ein Programm. Setze das Rätsel zusammen, öffne die Truhe und finde heraus, warum Kodieren nicht Verschlüsseln ist.

Labor 6 von 6 im Lernpfad Kodierungen & Geheimnisse. Wenn du feststeckst, hast du 3 Hinweise, vom vagesten bis zum genauesten: Sie kosten 0, 60 und 200 XP.

Was du lernst

Die Ziele erfüllen sich von selbst, während du im Terminal arbeitest; jedes bringt Erfahrungspunkte:

  • Das Tagebuch des Raben lesen (50 XP)
  • Die Reihenfolge der Siegel aus der Sonde ziehen (strings) (150 XP)
  • Die Legende der Siegel lesen (base64 -d) (150 XP)
  • Auch das letzte Siegel entfernen, ROT13 (tr) (200 XP)

Themen: codici, rebus, pipe.

Die Befehle, die du brauchst

Das Terminal ist simuliert und versteht etwa vierzig Linux-Befehle. In diesem Labor brauchst du vor allem diese:

  • cat: gibt den Inhalt einer Datei aus: der direkteste Weg, Konfigurationen, Notizen und Logs zu lesen.
  • file: erkennt am Inhalt, nicht am Namen, welche Art von Datei vor dir liegt (Text, Programm, Bild).
  • base64: kodiert und dekodiert Base64, das Format, das Bytes in Text verwandelt. Es schützt nichts: Es lässt sich ohne Schlüssel rückgängig machen.
  • strings: zieht den lesbaren Text aus einer Binärdatei: Er verrät Passwörter und Adressen, die in einem Programm zurückgeblieben sind.
  • grep: findet die Zeilen, die ein Wort enthalten, mit -r auch in ganzen Ordnern. Es ist das wichtigste Werkzeug, um Text und Logs zu analysieren.
  • xxd: zeigt eine Datei hexadezimal an und kann Hexadezimal auch wieder in Text verwandeln.
  • rev: dreht jede Zeile Zeichen für Zeichen um, wie ein Spiegel.
  • tr: ersetzt Zeichen durch andere: Mit den richtigen Regeln wendet er ROT13 an oder macht es rückgängig.
  • |: der senkrechte Strich | verkettet Befehle: Die Ausgabe des ersten wird zur Eingabe des nächsten, so werden kleine Werkzeuge zu einer vollständigen Analyse.

Die simulierte Umgebung

Du arbeitest in einer simulierten Linux-Shell, im Home-Verzeichnis des Benutzers runner: erfundene Dateien und Ordner, kein Ziel im Netzwerk.

Die Lektion zur Abwehr

Ist das Labor gelöst, erklärt der Bericht, was schiefging und wie man sich schützt:

Der Rabe hat vier Verkleidungen übereinander gelegt (ROT13, Spiegel, Hexadezimal, Base64) und Legende und Reihenfolge herumliegen lassen; aber auch ohne Hinweise hätte ein Analyst alle entfernt, denn keine braucht einen Schlüssel. Kodieren ist nicht Verschlüsseln. Um ein Geheimnis wirklich zu schützen, braucht es echte Verschlüsselung (AES-GCM, ChaCha20-Poly1305) mit einem langen, zufälligen Schlüssel, der fern von den Daten liegt, und für Passwörter einen langsamen, gesalzenen Hash (bcrypt, scrypt, Argon2) wie den in impronta.txt: Ein Hash wird nicht dekodiert, sondern neu berechnet und verglichen. Und lass keine Geheimnisse in Dateien, Binärdateien oder Notizen liegen.

Vor und nach diesem Labor

Um es zu öffnen, musst du gelöst haben:

Es ist eines der letzten Labore: Kein anderes Labor setzt es voraus.

Der Lernpfad Kodierungen & Geheimnisse

Kodierungen & Geheimnisse lehrt einen Unterschied, der viele Daten rettet: Kodieren ist nicht Verschlüsseln. Base64, Hexadezimal, ROT13 und Spiegelschrift verändern das Aussehen von Informationen, schützen sie aber nicht, denn jeder kann sie ohne Schlüssel zurück in Klartext verwandeln. In den Laboren erkennst du diese Formate an ihrem Aussehen, entfernst sie Schicht für Schicht, auch wenn sie gestapelt sind, ziehst lesbaren Text aus einem kompilierten Programm und verstehst, warum echter Schutz echte Verschlüsselung, gesalzene Hashes und einen Secrets-Manager braucht.

Alle Labore im Lernpfad Kodierungen & Geheimnisse

Mehr in den Guides (auf Englisch)

Alle Guides (auf Englisch)