Diese Challenge (Misc 200) hat das Ziel, das “braune Quadrat” näher zu untersuchen um darin wohlmöglich weitere Informationen zu finden. Zusätzlich zu dieser Aufgabenbeschreibung erhalten wir eine ZIP-Datei.
Als erstes entpacken wir das Archiv und stellen fest, dass ein GIF-Bild enthalten ist, das sich wie folgt darstellt:
Zu unserer Überraschung finden wir kein “braunes Quadrat”, sondern nur ein schwarzes. Der Text aus der Aufgabenbeschreibung könnte jedoch ein Hinweis sein, dass Farben bei der Lösung dieser Challenge eine Rolle spielen.
Im Vergleich zu anderen Bildformaten unterscheiden sich GIF-Dateien unter anderem dadurch, dass nicht jeder Pixel für sich eine Farbe erhält, sondern jedem Pixel eine Farbe aus einer vorher definierten Farbtabelle (einer sogenannten colormap) zugeordnet wird.
Wir könnten nun, wie allgemein üblich, das Werkzeug Stegsolve verwenden um einige Untersuchungen an der GIF-Datei durchzuführen und dabei auch die Farbtabellen überprüfen. An dieser Stelle möchte ich jedoch zeigen, wie man auch mit dem Programm GIMP zum Ziel kommen kann.
Wir öffnen die Datei “square.gif” in GIMP und wählen über das Menü “Windows –> Dockable Diablogs” die “Colormap” aus. Danach erhalten wir folgende Ansicht:
Hier erkennen wir, welche Farben für dieses GIF-Bild definiert sind und von den Pixeln angenommen werden können. Bei einem Bild, dass sich uns nur als schwarzes Quadrat zeigt, sind hier relativ viele Farben vorhanden! Darüber hinaus erkennen wir, dass es mehrere Schwarztöne gibt, die sich besonders für das verstecken von Botschaften eignen würden, da deren reine optische Unterscheidung für das menschliche Auge schwierig werden könnte ;-).
Angenommen es würde tatsächlich eine Information durch unterschiedliche Schwarze Pixel in diesem Bild versteckt sein, wie könnten wir diese sichtbar machen? Das reine Einfärben mit dem GIMP-Farbtopf bringt uns hier nicht weiter, da sich dieser allein auf die Pixelfarbe (nicht jedoch nach der Nummer in der Farbtabelle) richtet.
Wir müssen also die Colormap selbst ändern. Dazu wähle ich zunächst die Farbe eines Pixels ganz am Rande aus, da ich hier den Hintergrund erwarte. Aus der Farbtabelle können wir anschließend die Nummer der Farbe – “Color Index: 0” – ablesen. Diese Farbe ändern wir nun aus der Colormap heraus, in zum Beispiel einen Gelbton, um.
Dadurch sollten alle Pixel, denen die Farbe 0 zugeordnet ist, geändert werden und alle anderen Pixel, denen eine andere (schwarze) Farb-Nummer zugeodnet ist, beibehalten bleiben. Das Ergebnis sieht folgendermaßen aus:
Wir erhalten die Lösung und können neben dem zum Abschluss der Challenge erforderlichen MD5-Schlüssel zusätzlich erkennen, dass das Schwarz, mit dem der Text geschrieben ist, die Farb-Nummer 251 trägt ;-).
Die Antwort lautet somit: “41306ef63420760771deff1a0db76888“.