VolgaCTF 2013 – ppc 200

volgactf 2013 - ppc 200 - task description

Die Challenge (ppc 200) spricht von einer verdächtigen Nachricht, die uns in Form dieser Datei übersandt wird. “File” meldet, dass die Datei nur aus “Daten” besteht, aber ein erster Blick hinein zeigt uns:

volgactf 2013 - ppc 200 - file encoding

Die Datei beginnt mit den Worten “reverse all” und scheint offenbar von uns zu verlangen, den Inhalt komplett umzudrehen. Dies tun wir auch mit folgendem kleinen Python-Skript:

#!/usr/bin/python

import sys

revstr = "reverse all\x00\x00"

file = open(sys.argv[1]).read()

if file[0:len(revstr)] == revstr:
  file = file[:len(revstr):-1]
  print file

Nach Anwendung auf die Datei und erneuter Betrachtung im Texteditor, finden wir folgenden neuen Dateianfang vor:

volgactf 2013 - ppc 200 - base16 encoding

Dieses Mal soll der Inhalt der Datei offensichtlich mit Base16 dekodiert werden. Auch das setzen wir mit einem Skript, diesmal mit Perl, um:

#!/usr/bin/perl

open(FILE, $ARGV[0]);
@file = <FILE>;
close(FILE);

for ($i=11; $i<=length($file[0]); $i+=2) {
  $double = substr($file[0], $i, 2);
  print chr(hex($double));
}

Continue reading

VolgaCTF 2013 – stegasic 200

VolgaCTF 2013 - Stegasic 200 - task description

Für diese Forensic-Challenge (stegasic 200) erhalten wir die Information, dass sich irgendwo innerhalb der bereitgestellten Datei Beweise verstecken würden, die den “Bösen Jungen” (und damit wohl die Flagge) offenbaren könnten. Zuerst entpacken wir das Archive und finden …

rup0rt@lambda:~/VolgaCTF2013$ unzip forensics200.zip 
Archive:  forensics200.zip
  inflating: forensics200.pcapng     

rup0rt@lambda:~/VolgaCTF2013$ ls -lh forensics200.pcapng 
-rw-r--r-- 1 rup0rt rup0rt 12M May  1 19:53 forensics200.pcapng

… eine 12 Megabytes große PCAPNG-Datei. Für die Untersuchen werden wir deshalb Wireshark benutzen und uns den Inhalt etwas genauer ansehen. Die Datei besteht zum Großteil aus HTTP-Daten, deren Sichtung keine Auffälligkeit zeigt. Ab Packet Nummer 11021 befinden sich jedoch auch auffällige FTP-Daten:

VolgaCTF 2013 - Stegasic 200 - Wireshark - FTP Transfer - flag.rar

Hier wird die Datei “flag.rar” per FTP übertragen. Nicht zuletzt auf Grund der eindeutigen Benennung, beschränken wir den Inhalt der Datei heraus, indem wir die zugehörigen FTP-Data Verkehr auf Port 20 filtern (follow TCP stream). Anschließend speichern wir die Daten und erhalten somit diese RAR-Datei.
Continue reading

VolgaCTF 2013 – web 100

VolgaCTF 2013 - Web 100 - task description

Die Web 100 – Challenge des VolgaCTF erklärt zunächst einmal die Funktion der verlinkten Webseite auf http://10.10.0.5. Demnach handelt es sich um ein Portal um Mitteilungen zu platzieren, wobeo den VIP-Benutzern besondere Rechte zuteil werden. Ein Blick auf die Webseite selbst zeigt uns:

VolgaCTF 2013 - Web 100 - Space diary website

Die Seite “Space Diary”, die leider nur auf russisch angeboten wurde, ermöglicht es uns, sich im oberen Bereich mit Benutzername und Passwort anzumelden. Des Weiteren ist unten erkennbar, dass VIP-Benutzer bereits Nachrichten hinterlassen haben.
Continue reading

VolgaCTF 2013 – ppc 100

VolgaCTF 2013 - PPC 100 - task description

Bei dieser Challenge (ppc 100) geht es um eine RTF-Datei. Das Rich Text Format ist ein altes, von Microsoft entwickeltes, proprietäres Dateiformat zur Darstellung von Textdokumenten. Ein erster Blick in das Dokument mit LibreOffice offenbart uns diesen Inhalt:

VolgaCTF 2013 - PPC 100 - RTF file view

Offensichtlich handelt es sich um ein offizielles, von der Australischen Regierung herausgegebenes 11-seitiges Dokument zur Weltraumpolitik. Die weitere Betrachtung in LibreOffice lässt keine Auffälligkeiten erkennen.

Ein RTF-Dokument wird jedoch in der Datei selbst mit programmiersprachenähnlichen Code-Blöcken beschrieben, weshalb sich ein Blick in die Datei selbst durchaus lohnt. Neben ganz “normalen” Anweisungblöcken, wie zum Beispiel:

\styrsid489982 Heading 1 Char;}{\*\cs24 \additive

… finden sich auch sehr Auffällige Blöcke, wie dieser:

{\*\volgactf412 JAQQnQECTB0KnUkZSK8xCMNZw/flr3799PyZU8O5DTNheDBwX
qopApfP4Kakq0jSUceLbRqlDIM0a8vpDkIEwKbTNJGRd6oqQmRTuwJ+kwarG2vT
[...]

Das Tag “VolgaCTF” kann kein Zufall sein! Von diesen Anweisungen gibt es mehrere Hundert Stück, jeweils gefolgt von einer Zeichenkombination, die auf den ersten Blick sehr nach Base64 aussieht. Die Zahl, die sich Hinter dem VolgaCTF-Tag befindet, könnte dabei für die Postion des Blockes stehen.
Continue reading

VolgaCTF 2013 – admin 100

VolgaCTF 2013 - admin 100 - task description

Bis auf den Hinweis, dass es “viel zu lesen” gibt, ist die Aufgabenbeschreibung dieser Challenge (admin 100) ist nicht sehr aussagekräftig. Zusätzlich erhalten wir diese Datei. Nach dem Entpacken erhalten wir folgendes Ergebnis:

rup0rt@lambda:~/VolgaCTF2013/admin100$ ls
0  3  6  9  c     dot  g  j  m  p      r      t  w
1  4  7  a  coma  e    h  k  n  q      s      u  x
2  5  8  b  d     f    i  l  o  quote  space  v  y

Das Archiv beinhaltet viele Verzeichnisse, die nach fast jedem Buchstaben, jeder Zahl und einzelnen Sonderzeichen benannt sind. In jedem Verzeichnis befindet sich eine Datei namens “file”, die beispielsweise so aussehen:

12
25
37
59
96
113
116
122
[...]

Meiner Vermutung nach, beschreiben die Namen der Verzeichnisse das entsprechende Zeichen und die Zahlen in den “file”-Dateien die Positionen, an denen das Zeichen im Lösungstext vorkommt.
Continue reading