Story
Im Backup-System von Gepetto Archive Systems wurde eine alte, fehlerhafte Netzwerkaufzeichnung wiedergefunden: corrupted_frames.log.
Die enthaltenen Pakete stammen offenbar aus einem selbstgebauten Protokoll namens Corrupted Frames Protocol – entstanden durch eine fehlerhafte Implementierung auf einem vergessenen Gerät im Netzwerk von Gepetto Inc..
Es gibt keine Dokumentation, kein Schema, keine RFC-Nummer. Nur drei rätselhafte Pakete, deren Header korrupt wirken und deren Längenfeld nicht mit den Daten übereinstimmt.
Erste Vermutungen deuten auf klassische Netzwerkfehler hin: Off-by-one error oder fehlerhafte Indexierung – doch schnell zeigt sich: das Protokoll ist absichtlich verschleiert, simpel und gleichzeitig fehlerhaft.
Die Analyse zeigt:
- Header beginnt immer mit einem kaputten Längenwert.
- Danach folgen scheinbar unstrukturierte Bytes in Hexadecimal.
- Muster treten wiederholt auf – ein Hinweis auf versteckte Nutzdaten.
- Eine leichte Verschiebung (Byte-Shift) verfälscht die Zeichen – eine triviale Obfuskation.
Es wirkt, als hätte jemand versucht, eine Nachricht über dieses fehlerhafte Protokoll zu senden. Doch die Daten wurden bei der Übertragung um 1 Byte verschoben und die Inhalte leicht „verwackelt“ kodiert.
Ziel
- Corrupted Frame Error korrigieren (1 Byte Verschiebung rückgängig machen).
- Pakete in die richtige Reihenfolge bringen.
- Nutzdaten aus den Bytes rekonstruieren.
- Die leicht verschobene Hex-Transmission entschlüsseln.
- Flag im Format
ctfgame{...}extrahieren.
Challenge-Datei herunterladen
Lade die Netzwerkaufzeichnung frames herunter und analysiere sie lokal.
Infos & Tipps
- Pakete sind kein klassisches IP- oder Ethernet-Format – es handelt sich um ein custom binary frame.
- Das erste Byte zeigt einen Längenwert in Hex an, ist aber korrupt. Die echten Daten liegen nach dem Header, also ab Byte 2+.
- Nach der Korrektur ergibt der Payload Text, der aber leicht substituiert ist (z. B. Caesar-ähnliche Verschiebung auf Byte-Ebene).
- Nutze ein Script oder Tools wie CyberChef, um mit Hex zu arbeiten (Hex → Bytes → ASCII, Shifts testen, etc.).
- Ein Byte-Shift left oder right um 1 macht die Nachricht lesbar – in Kombination mit einer leichten Byte-Verschiebung (Caesar auf ASCII).
Flag eintragen
Sobald du den Frameshift korrigiert, die Pakete sortiert und die verschobenen Bytes
zurück auf lesbare Zeichen gemappt hast, erhältst du eine Flag im Format
ctfgame{...}.
Trage sie hier ein, um die Challenge abzuschließen.