Tatort Internet
Folge 3: PDF mit Zeitbombe
Thorsten Holz - 20.07.2010
Thomas schickt mir was zu „NTFS Internals“ – technische Details zur Implementierung des Windows-Dateisystems. Woher weiß der denn, dass das schon seit einiger Zeit auf meiner Todo-Liste steht? Hab ich vielleicht beim Mittagessen erwähnt. Neugierig geworden, öffne ich die angehängte PDF-Datei.
Noch bevor ich den ersten Absatz fertig gelesen habe, schließt sich der Adobe Reader wie von Geisterhand. Ein bisschen schläfrig klicke ich ein zweites Mal auf den Dateianhang und das Spiel wiederholt sich: Erst öffnet sich ein Text im Adobe Reader und nach ein paar Sekunden verschwindet das Fenster ohne weiteres Zutun wieder.
Auf den ersten Blick sah die Datei tatsächlich aus, als ob sie was zu NTFS erzählen wollte.
Das ist mehr als merkwürdig, ich bin schlagartig wach und schaue mir die Mail noch einmal genauer an. Was soll das förmliche „Grüße, T. Gibbs“ am Ende? Thomas verabschiedet sich doch sonst immer mit „Ciao Thomas“. Die erweiterte Ansicht der Header-Zeilen verrät mir den Transportweg der Mail:
Received from 113.112.141.166
Sie wurde also ganz offensichtlich nicht von einem unserer internen Systeme, sondern von einem Rechner in Asien verschickt. Damit ist die Sache eigentlich klar: Der Absender ist gefälscht und die PDF-Datei vermutlich ein Versuch, meinen Rechner zu infizieren. Aber hat das jetzt funktioniert oder nicht?
Natürlich könnte ich einfach das System-Image zurückspielen, das ich erst gestern erstellt habe. Das dauert höchstens 30 Minuten und danach könnte ich die Reisekostenabrechnung machen, die die Buchhaltung schon letzte Woche angemahnt hat. Okay – die Entscheidung ist gefallen – ich werd die PDF-Datei analysieren.
PDF-Innereien
Zunächst muss ich meine Kenntnisse über das PDF-Format etwas auffrischen. Ich erinnere mich noch dunkel, dass ein PDF-Dokument aus verschiedenen Objekten zusammengesetzt ist, die eine Baumstruktur bilden. Jedes Objekt beschreibt dabei einen Aspekt des Dokuments, beispielsweise ist der Inhalt einer Seite in einem Objekt abgespeichert und die Informationen zur Schriftart und -größe in einem anderen.
Der Plan ist damit also, die einzelnen Objekte der verdächtigen Datei zu analysieren, um genauer zu verstehen, was hier vor sich geht. Bevor ich die Datei im Text-Editor öffne, hole ich schon mal Sid Stuarts O’Reilly-Buch „PDF Hacks“ aus dem Regal.
PDF-Dokumente haben eine baumartige Struktur.
Wordpad zeigt am Anfang die charakteristische Zeichenkette „%PDF-1.4“, es handelt sich also definitiv um eine PDF-Datei. Die PDF-Basics sind einfach und gut zu erkennen. Die einzelnen Objekte innerhalb eines PDF-Dokuments haben die Struktur:
$nr $version obj
object
endobj
obj und endobj sind feste Trennzeichen zwischen den Objekten. Die sind dann via $nr durchnummeriert. Die Versionsnummer hingegen ist meistens 0, da die Dokumente nur eine Version eines Objekts enthalten.
Der Aufbau des eigentlichen Objekts hängt von dessen Typ ab. Typischerweise werden innerhalb eines sogenannten Dictionaires – ausgezeichnet durch << und >> – die Parameter des Objekts beschrieben. Am Anfang steht meist eine Art Inhaltsverzeichnis mit /Type /Catalog – so auch bei meinen angeblichen NTFS-Interna:
1 0 obj
<<
/Type /Catalog
/Outlines 3 0 R
/Pages 4 0 R
...
/ViewerPreferences
<<
/PageDirection /L2R
>>
>>
endobj
Es besteht im Wesentlichen aus Verweisen der Form $i $j R. Objekt drei ist angeblich eine Art Inhaltsübersicht, die eigentlichen Seiten folgen als /Pages. Gegen Ende werden noch ein paar Eigenschaften des Dokuments wie die Leserichtung L2R, also „left to right“, festgelegt. So weit, so langweilig. Da hätte ich auch gleich meine Reisekosten machen können.
Objekt zwei bringt mehr Verwaltungskram, der mich in meinem Verdacht bestätigt:
/Creator (Scribus 1.3.3.13)
/Producer (Scribus PDF Library 1.3.3.13)
...
/CreationDate (D:20090811124352)
/ModDate (D:20090811124352)
So sehr ich Open Source schätze – es ist eher unwahrscheinlich, dass jemand seine Kenntnisse über NTFS mit dem Layout-Programm Scribus setzt, um es dann in PDF-Form zu bringen. Ich blättere weiter nach unten und dann wird’s endlich spannend.
Die im Text dieses Artikels auftauchenden Code-Fragmente können dazu führen, dass Ihr Virenwächter Alarm schlägt. Dabei handelt es sich dann um einen Fehlalarm.
Unsere Entdeckung, dass via Skype verschickte URLs von Microsoft besucht werden, hat für einigen Aufruhr gesorgt. Mittlerweile liegen etwas mehr Informationen dazu auf dem Tisch.
Die aktuelle BKA-Trojaner sperrt nicht nur den Rechner, sondern legt auch Bilder mit Kinderpornografie auf dem System ab. Mit Desinfec't kann man diesen Unrat aufspüren und beseitigen.
Der Krypto-Experte Karsten Nohl kritisiert die Absenkung des Schutzniveaus für Steuer-, Sozial- und Gerichtsdaten im Rahmen der gesetzlichen Anpassungen für De-Mail.
Wer verhindern will, dass Nutzer auf fremde Kalender zugreifen oder eigenen PHP-Code in den Server einschleusen, sollte baldmöglichst auf eine der aktuellen Versionen umsteigen.
Die Mozilla-Entwickler haben zahlreiche Sicherheitslöcher in Firefox und Thunderbird gestopft. Durch eine kann ein Angreifer, der bereits einen Fuß in der Tür hat, an Systemrechte gelangen.