CSAW CTF Qualifiers 2012 –
Web 300

http://128.238.66.217/
“This is a website belonging to a horse-fighting gang. Even with an account, it’s not clear what they’re up to. Your task is to get administrator access and see if you can figure anything out. Your account is csaw_challenger/letmein123.”

Bei der Challenge Web 300 handelt es sich um ein Board, in der diverse Informationen präsentiert werden. Dies umfasst im wesentlichen jeweils eine Seite mit News, bzw. Benutzerinformationen oder jegliche Informationen zu Pferden (Name, Beschreibung etc pp).

CSAW CTF 2012 - Web 300 - website

Die Seiten selbst werden per GET Request weiter verarbeitet. Ausserdem stellt man recht schnell fest, dass ein Session Cookie des aktuell angemeldeten Benutzers gesetzt wird. Somit muss man wohl irgendwie versuchen die Session des Administrators zu übernehmen. Bei näherer Untersuchung fällt auf, dass jegliche Informationen mittels URI (id=XXX) ausgewertet werden. Das lässt vermuten, dass bei dieser Challenge eine SQL Injection Schwachstelle ausgenutzt werden muss. Das wird auf den Seiten “user.php” und “horse.php” überprüft.

http://128.238.66.217/user.php?id=1′ or ‘1’=’1      => keine Schwachstelle
http://128.238.66.217/horse.php?id=1′ or ‘1’=’1    => Schwachstelle !!!

CSAW CTF 2012 - Web 300 - SQL injection error message

Continue reading

CSAW CTF Qualifiers 2012 –
Forensics 200

CSAW CTF 2012 - Forensics 200 - forensic image

Wenn man sich “version1.png” der Challenge “Forensics 200” (Part 1) im Editor anschaut fällt sofot ins Auge, dass im PNG File jede menge TextComments mit dazugehörigen Namen in folgendem Format existieren:
tExtcomment^@key{…….}

CSAW CTF 2012 - Forensics 200 - PNG text comments

Mit “strings” und “grep” wird das ganze erstmal in lesbare Form gebracht.

=> strings version1.png | grep key

CSAW CTF 2012 - Forensics 200 - extracted png comments

Da das ganze immer noch nicht übersichtlich genug ist, wird das ganze verfeinert und nur die Namen in keys{….} sortiert ausgegeben.
Die Sortierung ist dabei völlig optional und nur zum besseren Verständis gedacht.
Zusätzlich wird der Output in einer Datei “persons1.txt” gespeichert.

Continue reading

PCAP Repair Tutorial (pcapfix)

In diesem Dokument wird beschrieben, wie man ein PCAP File manuell reparieren kann bzw. wie man an solch ein Problem heran geht. Wer seine Datei nicht manuell raparieren möchte, kann auch das Werkzeug “pcapfix” verwenden.

1.    Fehlerhaftes PCAP öffnen und Fehlercode analysieren

In diesem Beispiel wird die Datei “file1.pcap” verwendet.

PCAP Repair Tutorial - Wireshark broken PCAP file

Bei diesem PCAP File wird das Format nicht erkannt, was auf ersten Anblick einen fehlerhaften File Header vermuten lässt.

2.    Eigenes PCAP erstellen und mit dem fehlerhaften vergleichen

Man erzeugt als erstes ein eigenes, neues PCAP File “file2.pcap”, z.B. mit tcpdump.
Als nächstes springt man an den Anfang der Datei und untersucht das erste Paket.

PCAP Repair Tutorial - examine proper PCAP file

Der Anfang ist hier HEX: FF FF FF FF FF FF 00 30 05 7C D2 4A 08 06
Dabei handelt es sich um die MAC Adressen im Ethernet Header.
Davor würden sich noch 16 Bytes für den Packet Header ergeben, welche man in Wireshark nicht angezeigt bekommt. Jedoch sollte man diese im Hinterkopf behalten!!!
Als nächstes vergleicht bzw. sucht man diese HEX Werte im file2.pcap im Hex Editor. Diese Werte findet man relativ am Anfang des Files wieder.
Lediglich 40 Bytes sind noch voran gestellt. Dabei bestimmen 16 Bytes den Packet Header des ersten Paketes und 24 Bytes umfassen den Global Header des Files.
Continue reading