CodeGate CTF 2014 – WeirdShark

CodeGate CTF 2014 - WeirdShark - Task description

Die “WeirdShark”-Challenge liefert uns neben den gezeigten Bildern noch eine Pcap-Datei. Diese sehen wirs auch direkt einmal mit WireShark an – dem Werkzeug von dem der Name der Challenge offensichtlich abgeleitet worden ist.

CodeGate CTF 2014 - Weirdshark - Pcapng Error

Leider gibt es ein Problem beim Öffnen der Datei zu geben – sie scheint beschädigt zu sein. Für solche Fälle gibt es ein großartiges Werkzeug, namens pcapfix ;-). Die Anwendung von pcapfix auf die Pcap-Datei liefert diese Ausgabe:

pcapfix 1.0.1 (c) 2012-2013 Robert Krause

[*] Reading from file: weird_shark.pcap
[*] Writing to file: fixed_weird_shark.pcap
[+] This is a PCAPNG file.
[-] Enhanced packet data exceeds packet length (4270407998 > 64) ==> CORRECTED.
[*] Progress:  20.11 %
[*] Progress:  40.03 %
[*] Progress:  60.02 %
[*] Progress:  80.05 %
[+] SUCCESS: 1 Corruption(s) fixed!

Der Fehler wurde offensichtlich gefunden und konnte behoben werden! Wir öffnen die reparierte Datei nochmals mit Wireshark.

CodeGate CTF 2014 - Weirdshark - Wireshark error after pcapfix

Mist, ein anderer Fehler! Der korrigierte Block ist 2 Bytes zu groß! Dieses Problem wird sich wohl leider erst mit der Version 1.0.3 von Pcapfix lösen lassen! (An dieser Stelle herzlichen Dank an den Ersteller der Challenge für das Auffinden eines Bugs in Pcapfix – der derzeit bearbeitet wird 🙂 ) Zum Lösen der Aufgabe passen wir als schnellen Workaround selbst den Quellcode von Pcapfix an (pcapng.c, Zeilen 991-997):

/* check if packet capture size exceeds packet length */
if (epb.caplen > left) {
  printf("[-] Enhanced packet data exceeds packet length (%u > %ld) ==> CORRECTED.\n", epb.caplen, left);
  epb.caplen = left-2;

  fixes++;
}

Danach kompilieren wir den Quellcode mittels “make” und rufen Pcapfix nochmals mit der originalen, fehlerhaften Pcap-Datei auf. Wir erhalten natürlich die identische Ausgabe mit dem Unterschied, dass diesmal der korrigierte Block 2 Bytes kleiner sein sollte. Als Ergebnis erhalten wir diese Datei, die sich nun auch problemlos mit WIreshark öffnen lässt!

CodeGate CTF 2014 - WeirdShark - Pdf file

Unter vielen HTTP-Datei findet sich bei Paket Nummer 797 auch die Anforderung nach einer PDF-Datei. Um diese und weitere Daten aus der PcapNg-Datei zu extrahieren nutzen wir chaosreader, nachdem wir die Datei mit Wireshark als klassische Pcap-Datei gespeichert haben.

Ein Blick in die vorher identifizierte PDF-Datei zeigt dieses Bild:

CodeGate CTF 2014 - WeirdShark - Solution

Die Lösung lautet somit “FORENSICS_WITH_HAXORS“.

Leave a Reply

Your email address will not be published. Required fields are marked *