Blog
Informativ, aktuell und spannend - der Oneconsult Cybersecurity Blog.

DFIR einfach – Analyse von PDF-Dateien

PDF-Dateien (Portable Document Format) werden sowohl in der Arbeitswelt als auch von Privatpersonen täglich verwendet. Dadurch sind sie auch für Cyberkriminelle ein beliebtes Werkzeug für Phishing-Angriffe. Sie erlauben die direkte Ausführung von Skripten, die zusätzliche Schadsoftware nachladen können.

Der schnellste Weg, um festzustellen, ob ein PDF-Dokument bösartig ist, ist dessen kryptografischen Hash-Wert bei einem Online-Dienst wie VirusTotal zu überprüfen. Ist dieser Hash-Wert noch unbekannt, kann eine dynamische Analyse mithilfe einer Sandbox zusätzliche Informationen über das Dokument liefern. Aber Vorsicht bei kostenlosen Sandbox-Diensten: Handelt es sich um ein legitimes internes Dokument, so wird dieses mit dem Hochladen potenziell öffentlich zugänglich gemacht! Aus diesem Grund ist eine statische Analyse in einer virtuellen Maschine eine sehr interessante Alternative.

Der nachfolgende Prozess dient der statischen Analyse eines PDF-Dokuments und wird in diesem Beitrag genauer beschrieben:

  1. pdfid.py[1] verwenden, um einen Überblick über riskante Merkmale der PDF-Datei zu erhalten und ihre Eigenschaften einzuschätzen
  2. pdf-parser.py[2] verwenden, um bestimmte Objekte genauer zu untersuchen
  3. Eingebetteten Code extrahieren, z.B. Shellcode, PowerShell, JavaScript, und bei Bedarf entschleiern (wird im weiteren Verlauf des Artikels nicht erläutert).

In diesem Artikel werden die zwei abgebildeten PDF-Dateien, «View Attached Invoice.pdf»[3] und «Material.pdf»[4], beispielhaft nach diesem Verfahren analysiert.

Vorsicht! Alle folgenden Aktivitäten sollten in einer virtuellen Maschine ohne Netzwerkzugang ausgeführt werden. Bei der Analyse schädlicher PDFs kann es grundsätzlich zur Kompromittierung des umgebenden Systems kommen.

Abbildung 1: «View Attached Invoice.pdf» in einem PDF-Reader
Abbildung 2: «Material.pdf» in einem PDF-Reader

Eingebettete Programme werden nur nach Erlaubnis des Nutzers gestartet, d.h. wenn das Dokument geöffnet wird, erscheint ein Fenster mit einer Sicherheitswarnung[5] (siehe Abbildung 3). Diese Sicherheitseinstellung ist standardmässig in Adobe und Reader X, 9.3 und 8.2 aktiviert[6]. Der Nutzer muss dann entscheiden, ob er den Zugriff erlauben oder blockieren möchte, wie in der folgenden Abbildung für das zweite Dokument ersichtlich ist. Hat ein Angreifer eine bösartige PDF-Datei unter einem glaubwürdigen Vorwand versendet, ist die Wahrscheinlichkeit hoch, dass der Nutzer diese Warnung ignoriert und die Ausführung des enthaltenen Schadcodes erlaubt.

Abbildung 3: Sicherheitswarnung beim Öffnen der Datei «Material.pdf»

Analyse mit pdfid.py

pdfid.py ist ein Tool von Didier Stevens, das nach bestimmten PDF-Schlüsselwörtern zur Erstauswertung sucht. In diesem Fall ist das Resultat von pdfid.py wie folgt:

Abbildung 4: Resultat von pdfid.py für «View Attached Invoice.pdf»

Hier zeigt das Flag /Page, dass das Dokument eine Seite lang ist, was bei bösartigen PDFs häufig vorkommt. Ansonsten gibt es auf den ersten Blick nichts Auffälliges, da die anderen Flags einen Nullwert haben. Das Dokument enthält dementsprechend kein JavaScript (/JavaScript und /JS) und keine eingebetteten interaktiven Formulare (/AcroForm und /XFA). Es startet keine externen bzw. eingebetteten Programme (/Launch und /EmbeddedFiles) und wird auch nicht automatisch geöffnet (/AA und /OpenAction).

Trotz keiner klaren Anzeichen für ein bösartiges Dokument wird empfohlen, die Untersuchung mit einem anderen Tool wie pdf-parser.py fortzusetzen. pdfid.py ist nicht umfassend und zeigt z.B. nicht an, ob das Dokument auf Links verweist, die bösartig sein könnten. Daher sollte der Inhalt des Dokuments genauer analysiert werden.

Analyse mit pdf-parser.py

pdf-parser.py ist ebenfalls ein von Didier Stevens entwickeltes Tool. Es parst die verschiedenen Elemente der PDF-Datei und zeigt ihren Inhalt an.

Dieses Tool bietet auch die Möglichkeit, mit dem «-s»-Parameter nach Schlüsselwörtern zu suchen. In diesem Beispiel wird bei der Suche nach «URI» folgendes Ergebnis zurückgegeben:

Abbildung 5: Resultat der Suche nach URI mit pdf-parser.py in «View Attached Invoice.pdf»

Diese URI (siehe rote Box in Abbildung 5) ist ein Link als Anmerkung (siehe «Type: /Annot») im Objekt 12.

Eine Suche[7] auf urlscan.io[8] zeigt, dass es sich dabei um eine Phishing-Seite handelt, die auf Adobe abzielt. Aus dem Screenshot unten kann entnommen werden, dass nach den E-Mail-Zugangsdaten des Benutzers gefragt wird, um das Dokument lesen zu können.

Abbildung 6: Resultat der Suche auf urlscan.io

Das Ziel des PDF-Dokuments ist es also, die Zugangsdaten für den Adobe-Cloud-Account des betroffenen Benutzers zu erhalten.

Analyse mit peepdf.py

peepdf.py[9] kann als Alternative zu pdfid.py und pdf-parser.py genutzt werden. Es bietet eine interaktive Shell, mit der sich durch die Struktur der PDF-Datei navigieren und deren Inhalt durchsuchen lässt. Das Tool zeigt auch an, wenn es verdächtige Elemente findet.

Für Material.pdf lautet das Ergebnis wie folgt:

Abbildung 7: Resultat von peepdf.py für «Material.pdf»

peepdf.py hat drei verdächtige Objekte gefunden, eines in der Version 0 und zwei in der Version 2 des Dokuments. /AcroForm (Objekt 7) und /Launch (Objekte 173 und 65) können verwendet werden, um interaktive Formulare einzubetten bzw. externe oder eingebettete Programme zu starten.

Hier ist Objekt 173 von besonderem Interesse, da es auf eine URL verweist:

Abbildung 8: Analyse des Objekts 173 mit peepdf.py

Diese URL war auch in der Warnmeldung zu sehen (siehe Abbildung 3).

Eine Suche auf urlscan.io[10] zeigt, dass über diese URL die Datei «hgfetb.R11» heruntergeladen wird. Ausserdem weist VirusTotal[11] darauf hin, dass diese Datei von mehreren Security-Produkten als bösartig eingestuft wurde.

Abbildung 9: Resultat des Scans der Datei «hgfetb.R11» mit VirusTotal

Ziel dieser PDF-Datei ist es also, das Opfer zum Herunterladen von Schadsoftware zu veranlassen.

Fazit

Als nützliche Alternative zu Sandboxes kann mit einer statischen Analyse schnell festgestellt werden, ob ein PDF-Dokument bösartig ist und welche Eigenschaften es aufweist. Da derartige Dokumente mithilfe von Social Engineering den Nutzer dazu bringen sollen, die Ausführung der eingebetteten Programme zuzulassen, wird empfohlen, Mitarbeitende entsprechend zu schulen – denn sie bilden die erste Verteidigungslinie gegen solche Angriffe.

Haben Sie noch Fragen oder benötigen bei der Umsetzung Unterstützung?

Autorin

Nadia Meichtry studierte forensische Wissenschaften an der Universität von Lausanne und schloss im Sommer 2020 ihren Master in digitaler Forensik ab. Sie ist zertifizierte GIAC Certified Forensic Analyst (GCFA) und GIAC Reverse Engineering Malware (GREM), und zertifizierte OSSTMM Professional Security Tester (OPST) und seit August 2020 als Digital Forensics & Incident Response Specialist bei Oneconsult angestellt.

Publiziert am: 06.07.2022

Teilen

Nichts verpassen! Melden Sie sich für unseren kostenlosen Newsletter an.

Ihre Sicherheit hat höchste Priorität – unsere Spezialisten unterstützen Sie kompetent.

Erreichbarkeit von Montag bis Freitag 08.00 – 12.00 Uhr und 13.00 – 17.00 Uhr (Ausnahme: Kunden mit SLA – Bitte über die 24/7 IRFA-Notfallnummer anrufen).

Privatpersonen wenden sich bitte an Ihren IT-Dienstleister des Vertrauens oder die lokale Polizeidienststelle.

Weitere Informationen zu unseren DFIR-Services finden Sie hier:

qr_code_emergency_2022
CSIRT zu den Kontakten hinzufügen